<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Okto SiLaban &#187; amazon</title>
	<atom:link href="http://okto.silaban.net/tag/amazon/feed/" rel="self" type="application/rss+xml" />
	<link>http://okto.silaban.net</link>
	<description>Okto SiLaban "Laban" adalah "LabanUx"</description>
	<lastBuildDate>Thu, 12 Jan 2012 15:46:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>MySQL di Hari Minggu</title>
		<link>http://okto.silaban.net/2009/10/linux/mysql-di-hari-minggu/</link>
		<comments>http://okto.silaban.net/2009/10/linux/mysql-di-hari-minggu/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 04:32:48 +0000</pubDate>
		<dc:creator>Okto Silaban</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[maintenance]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://okto.silaban.net/?p=693</guid>
		<description><![CDATA[Semalam dapet kabar kalau webserver F tewas lagi (kedua kalinya dalam bulan ini). Masalahnya sederhana sebenarnya, hardisknya penuh. Jadi dengan menggunakan Debian 5.0 di Amazon EC2, default setting partisnya dibagi dua. Total kapasitas hardisknya sekitar 500GB, 10 GB nya buat system (/), sisanya dimount di partisi antah berantah. Dulu sudah saya set agar partisi satunya [...]]]></description>
			<content:encoded><![CDATA[<p>Semalam dapet kabar kalau webserver F tewas lagi (kedua kalinya dalam bulan ini). Masalahnya sederhana sebenarnya, hardisknya penuh.</p>
<p>Jadi dengan menggunakan Debian 5.0 di Amazon EC2, default setting partisnya dibagi dua. Total kapasitas hardisknya sekitar 500GB, 10 GB nya buat system (/), sisanya dimount di partisi antah berantah. Dulu sudah saya set agar partisi satunya digunakan untuk DocumentRoot Apache. Karena total file di DocumentRoot nya itu nyampe 44GB.., ya harus masuk di partisi kedua. (baru nyadar kalo web F itu total file nya 44GB, pantes dulu pindah dari dedicated server ke Amazon EC2 prosesnya lama banget.., rsync dari jam 11-an malem, pas sahur baru selesai..)</p>
<p>Tapi ada yg saya enggak tahu. Di partisi sistem itu, 10GB saya rasa sudah cukup. Tapi ternyata tidak.., dari hasil monitoring setiap hari space nya selalu terpakai makin banyak, hingga mencapai 100%. Otomatis /tmp nggak bisa ditulisi.., /var/lib/mysql juga nggak bisa ditulisi.. matilah sudah MySQL nya.. Dan tewaslah webnya.. Sampai sekarang saya masih bertanya &#8211; tanya apa yang bikin space hardisknya terus &#8211; menerus habis, lalu tiba &#8211; tiba berkurang lagi.</p>
<p><a href="http://okto.silaban.net/wp-content/uploads/2009/10/df-week1.png"><img class="alignnone size-full wp-image-695" title="df-week" src="http://okto.silaban.net/wp-content/uploads/2009/10/df-week1.png" alt="df-week" width="495" height="307" /></a></p>
<p>Jadi terpaksa lah diambil alternatif lain, bagaimana caranya agar web F tetap jalan sementara saya mencari tahu apa yang memakan space terus menerus..</p>
<p>Beginilah jadinya :</p>
<ol>
<li> Buat direktori /var/labanux</li>
<li>Ubah /etc/fstab, saya set agar partisi kedua di mount di /var/labanux</li>
<li>Buat direktori /var/labanux/www</li>
<li>Semua file web dipindah ke /var/labanux/www (ini nih yang 44GB itu)</li>
<li>rsync -avz /var/lib/mysql /var/labanux/   (Tadinya pake copy aja.., tapi sepertinya ada yang ndak beres, makanya ganti rsync aja)</li>
<li>Rename /var/lib/mysql /var/lib/mysql-lama</li>
<li>Ubah konfigurasi /etc/mysql/my.cnf (&#8216;datadir  = /var/lib/mysql&#8217; diganti jadi &#8216;datadir  = /var/labanux/mysql&#8217;</li>
<li>Buat direktori /var/labanux/tmp</li>
<li>Delete /tmp</li>
<li>Link : ln -s /var/labanux/tmp /tmp</li>
<li>/etc/init.d/mysql start</li>
<li>GAGAL&#8230;!! Error mysqlnya&#8230;</li>
<li>Oh iya : chown -R mysql /var/labanux/mysql (karena tadi yang bikin direktori dll nya adalah root, jadi user mysql ndak punya akses toh.., makanya diganti ownernya)</li>
<li>/etc/init.d/mysql start</li>
<li>GAGAL lagi&#8230;. Masih masalah disk full..</li>
<li>Ya udah, nekat delete /var/lib/mysql (sekitar 500MB)</li>
<li>/etc/init.d/mysql start</li>
<li>Yiihaaa&#8230;.! Dah jalan lagi</li>
</ol>
<p>Jadi sekarang semua data &#8211; data MySQL sudah masuk di partisi kedua (sekitar 490-an GB), begitu juga /tmp sekarang masuk di partisi tersebut. Jadi sementara ini partisi root (/) masih bersisa 500-an MB, yang mana nanti juga saya curiga bakal penuh lagi. Tapi setidaknya sementara web F udah bisa jalan lagi.. Tidur lagi ah&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://okto.silaban.net/2009/10/linux/mysql-di-hari-minggu/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Amazon S3 dengan CakePHP</title>
		<link>http://okto.silaban.net/2009/05/linux/amazon-s3-dengan-cakephp/</link>
		<comments>http://okto.silaban.net/2009/05/linux/amazon-s3-dengan-cakephp/#comments</comments>
		<pubDate>Mon, 25 May 2009 20:05:40 +0000</pubDate>
		<dc:creator>Okto Silaban</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[cloud computing]]></category>

		<guid isPermaLink="false">http://okto.silaban.net/?p=612</guid>
		<description><![CDATA[Beberapa hari ini saya cukup disibukkan dengan memahami cara kerja Amazon Simple Storage Service (Amazon S3), yang merupakan salah satu layanan dari Amazon Web Service (AWS), dilanjutkan dengan menulis beberapa baris kode agar bisa bekerja dengan CakePHP . Ini adalah salah satu bagian dari situs yang sedang saya kerjakan. Langsung aja. Library PHP5 untuk mengakses [...]]]></description>
			<content:encoded><![CDATA[<p>Beberapa hari ini saya cukup disibukkan dengan memahami cara kerja <a href="http://en.wikipedia.org/wiki/Amazon_S3">Amazon Simple Storage Service (Amazon S3)</a>, yang merupakan salah satu layanan dari<a href="http://aws.amazon.com/"> Amazon Web Service</a> (AWS), dilanjutkan dengan menulis beberapa baris kode agar bisa bekerja dengan CakePHP . Ini adalah salah satu bagian dari situs yang sedang saya kerjakan.</p>
<p>Langsung aja. Library PHP5 untuk mengakses layanan Amazon S3 ini saya gunakan Class S3 dari <a href="http://undesigned.org.za/2007/10/22/amazon-s3-php-class">http://undesigned.org.za/2007/10/22/amazon-s3-php-class</a>, hasil karya dari Donovan Schönknecht.</p>
<p>Agar bisa diakses dalam CakePHP, file class S3 tadi (S3.php) diletakkan di folder app/vendor/. Setelah itu saya buat fungsi baru di dalam controller yang mengakses Amazon S3 nantinya.</p>
<p><code>function _initAws()<br />
{<br />
// AWS access info<br />
if (!defined('awsAccessKey')) define('awsAccessKey', 'AKHTZQYAXRXHTZQYAUUM'); // Sesuaikan dengan AccessKey anda<br />
if (!defined('awsSecretKey')) define('awsSecretKey', 'VJFcyIksmdnk90kngio'); // Sesuaikan dengan SecretKey anda<br />
</code></p>
<p><code>App::import('Vendor', 'S3', array('file'=&gt;'S3.php'));<br />
$s3 = new S3(awsAccessKey, awsSecretKey);<br />
return $s3;<br />
}</code></p>
<p>Kemudian jika di dalam salah satu fungsi controller anda (di dalam controller yang sama), anda ingin mengakses S3, cukup gunakan baris berikut :<br />
<code><br />
$s3 = $this-&gt;_initAws();</code></p>
<p><code>$s3-&gt;putBucket('cdn.labanux.com', S3::ACL_PRIVATE); // Membuat bucket baru</code><br />
<code><br />
$s3-&gt;putObjectFile($file_path, 'cdn.labanux.com', 'image/'.$file_name.'.xcf', S3::ACL_PRIVATE);</code></p>
<p><code>// Menyimpan ke bucket cdn.labanux.com, dengan nama file image/$filename.xcf (image itu hanyalah virtual folder, karena Amazon S3 tidak mensupport folder. Dengan dinamai seperti itu, maka file anda kelihatan seperti berada di dalam sebuah folder / subfolder</code></p>
<p>Oh iya, bucket itu unik, ndak ada yang sama di AWS. Terus asyiknya gini, kalau bucket kita bernama : labanux, maka bucketnya beralamat di s3.amazonaws.com/labanux, ataupun labanux.s3.amazonaws.com. Kalo nama bucketnya cdn-ku.org, maka bisa diakses di cdn-ku.org.s3.amazonaws.com, ataupun s3.amazonaws.com/cdn-ku.org</p>
<p>Nah kalo kita punya domain labanux.com, kita bisa nambahin subdomain cdn.labanux.com kan? Nah, di S3 nya kita bikin bucket dengan nama cdn.labanux.com. Jadi ntar bisa diakses dengan alamat cdn.labanux.com.s3.amazonaws.com.</p>
<p>Lalu gimana biar CDN (Content Delivery Network) nya beralamat di cdn.labanux.com? Gampang, di NS servernya dibuat record CNAME cdn.labanux.com diarahkan ke cdn.labanux.com.s3.amazonaws.com</p>
<p><strong>Lalu bagaimana jika kita ingin mengakses file dari AWS untuk di berikan kepada user (di download user) ? </strong></p>
<p>Kalau file &amp; bucketnya public, bisa langsung diakses secara direct (misal filenya : image/fotoku.jpg) : s3.amazonaws.com/bucket/image/fotoku.jpg. Atau kalau mengikuti contoh di atas jadinya : cdn.labanux.com.s3.amazonaws.com/image/fotoku.jpg, atau (ini yang saya pakai) : cdn.labanux.com/image/fotoku.jpg.</p>
<p>Nah, kalau file / bucketnya private. Ada dua cara. Cara pertama :<span id="more-612"></span></p>
<p><strong>1</strong>. Ini langsung di dalam salah satu fungsi di controller.</p>
<p><code>$s3 = $this-&gt;_initAws();</code></p>
<p><code>// We'll be outputting an image<br />
header('Content-type: image/jpeg');</code></p>
<p><code>header('Content-Transfer-Encoding: binary');<br />
header('Expires: 0');</code><br />
<code><br />
// Nama file : $image_name.jpg<br />
header('Content-Disposition: attachment; filename="'.$image_name.'.jpg"');</code></p>
<p><code>// Mengambil file dari AWS<br />
$file = $s3-&gt;getObject('cdn.labanux.com', 'image/'.$image_file);<br />
echo $file-&gt;body;<br />
exit();</code></p>
<p>Dengan cara tersebut, file dijemput dulu dari AWS ke webserver, baru dari webserver &#8220;diserahkan&#8221; ke user. Kekurangannya, tiap ada request download, webserver mengambil dulu filenya dari AWS, baru &#8220;diserahkan&#8221; ke user, yang berarti bandwith di webserver ikut terpakai.</p>
<p><strong>2</strong>. Cara kedua adalah dengan memberikan temporary akses langsung ke servernya. :<br />
<code><br />
$s3 = $this-&gt;_initAws();</code><br />
<code><br />
$download_link = $s3-&gt;getAuthenticatedURL('cdn.labanux.com', 'image/fotoku.jpg', 250, true); </code> // &lt;&#8211; ini hasilnya berupa link download ke file tersebut di AWS.<br />
<code><br />
$this-&gt;set('download_link', $download_link);</code></p>
<p>Kemudian di file view nya :<br />
<code><br />
echo $html-&gt;link('Download !', $download_link);</code><br />
<code><br />
$download_link itu akan berbentuk seperti ini :</code></p>
<p><code>http://cdn.labanux.com/image/fotoku.jpg?AWSAccessKeyId=</code><code>AKHTZQYAXRXHTZQYAUUM&amp;Expires=1243281781&amp;Signature=Ir7HrV65qCp0GHq%2BbqB5fUslNjs%3D</code></p>
<p>Kekurangannya? Semua orang bisa mengakses link download tersebut. Tenang.., link tersebut hanya valid untuk 250 detik *lihat parameter 250 pada fungsi di atas*. Jadi setelah 250 detik link itu tidak akan bisa diakses lagi.</p>
<p>Lalu gimana kalau downloadnya butuh waktu 400 detik? Jangan takut, kalau proses download sudah berjalan, dia akan tetap valid sampai download selesai.</p>
<p>Saya cuma ingin menyampaikan bagaimana ide Amazon S3 bisa bekerja dengan CakePHP. Tidak menutup kemungkinan dalam contoh saya ini ada kesalahan. Silahkan dicoba..</p>
]]></content:encoded>
			<wfw:commentRss>http://okto.silaban.net/2009/05/linux/amazon-s3-dengan-cakephp/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Layanan Baru dari Google : Google App Engine &#8211; Pesaing Amazon Web Services</title>
		<link>http://okto.silaban.net/2008/04/website/layanan-baru-dari-google-google-app-engine-pesaing-amazon-web-services/</link>
		<comments>http://okto.silaban.net/2008/04/website/layanan-baru-dari-google-google-app-engine-pesaing-amazon-web-services/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 07:20:39 +0000</pubDate>
		<dc:creator>Okto Silaban</dc:creator>
				<category><![CDATA[Website]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://okto.silaban.net/2008/04/website/layanan-baru-dari-google-google-app-engine-pesaing-amazon-web-services/</guid>
		<description><![CDATA[Hampir semua blog tentang web di luar negri sejak kemarin memberitakan satu lagi layanan dari Google. Layanan ini bernama Google App Engine. Layanan ini terdiri : GFS &#8211; Google FileSystem untuk storage (penyimpanan), dan BigTable untuk database. (Layanan serupa dengan yang diberikan oleh Amazon Web Services *baca di bawah) Google App Engine ini menyediakan layanan [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://okto.silaban.net/wp-content/uploads/2007/11/google.gif" alt="Google App Engine" align="left" />Hampir semua blog tentang web di luar negri sejak kemarin memberitakan satu lagi layanan dari Google. Layanan ini bernama <a href="http://code.google.com/appengine/">Google App Engine</a>. Layanan ini terdiri : GFS &#8211; Google FileSystem untuk storage (penyimpanan), dan BigTable untuk database. (Layanan serupa dengan yang diberikan oleh Amazon Web Services *baca di bawah)</p>
<p>Google App Engine ini menyediakan layanan untuk storage (penyimpanan) dan database. Jadi anda bisa menghost data untuk aplikasi web anda (misal : gambar) disini, dan menggunakan database dari layanan ini juga. Dengan begitu anda tidak perlu khawatir akan borosnya pemakaian resource hosting anda karena aplikasi web anda. Karena seringkali hosting menyediakan bandwith unlimited, space sampe ukuran giga &#8211; gigaan, unlimited add on domain, dst, tetapi sangat ketat untuk pemakaian resource server.</p>
<p>TechCrunch telah membuat contoh aplikasi sederhana yang dibuat dengan Google App Engine ini, bisa dikunjungi di <a href="http://appengine.crunchbase.com/">http://appengine.crunchbase.com/</a></p>
<p>Salah satu kelebihan *yang sangat penting* dari Google App Engine ini adalah layanan ini disediakan secara gratis. Walaupun tidak gratis untuk penggunaan tak terbatas (unlimited). Layanan ini gratis selama penggunaan quota space anda dibawah 500MB, 200 million megacycles/day dari CPU (prosesor), dan 10GB dari total bandwith. Lebih dari ini akan dikenakan biaya yang menurut Google &#8220;cukup kompetitif&#8221;.</p>
<p>Sebagai perkiraan, menurut Google dengan batasan layanan di atas, sudah cukup untuk sebuah website dengan 5 juta pageviews sebulan. Wow.. saya rasa itu sudah cukup untuk sebagian besar developer web aplikasi di Indonesia. *karena sepertinya di Indonesia yang punya trafik lebih besar dari itu hanya portal berita atau forum, tidak untuk web application (aplikasi web), CMIIW deh.<span id="more-377"></span></p>
<p>Fitur lainnya adalah, jika aplikasi web anda membutuhkan autentifikasi user, anda bisa memanfaatkan Account Google sebagai autentifikasi user. Selain itu layanan ini juga terintegrasi dengan berbagai layanan lainnya dari Google.</p>
<p>Tetapi ini bukan berarti tanpa kekurangan. Dengan Google App Engine, anda bisa mendapatkan seluruh layanan dalam satu paket, atau tidak sama sekali. Artinya, dengan layanan ini anda bisa mendapatkan seluruh paket itu secara keseluruhan, tetapi tidak bisa memanfaatkannya satu &#8211; satu. Jika anda membuat aplikasi dengan database BigTable, maka anda membutuhkan Framework API Python dari Google App Engine, dan penyimpanan dengan GFS. Berbeda dengan AWS yang bisa digunakan masing &#8211; masing secara terpisah.</p>
<p>Selain itu, sementara ini  Framework yang disupport hanyalah Python (bahasa program yang digunakan di sebagian besar web Google). Walaupun Google sendiri berjanji, untuk ke depannya akan lebih banyak lagi bahasa program yang disupport. (saya harap sih PHP berikutnya <img src='http://okto.silaban.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ).</p>
<p>Sebelum ini sudah ada produk serupa, salah satu yang paling terkenal adalah layanan dari Amazon, yaitu  <a href="http://aws.amazon.com">Amazon Web Services (AWS)</a>. AWS ini terdiri dari tiga produk terpisah : <a href="http://aws.amazon.com/s3">S3 (storage / penyimpanan data),</a> EC2 (virtual server), dan SimpleDB (database). Dan ini merupakan layanan berbayar.</p>
<p>Dengan menggunakan fasilitas dari AWS ini, anda membayar untuk masing &#8211; masing layanan sesuai dengan resource yang digunakan.</p>
<p>Link terkait :</p>
<p><a href="http://blog.programmableweb.com/2008/04/08/google-app-engine-your-apps-in-the-cloud/">Berita di ProgrammableWeb.com</a></p>
<p><a href="http://www.techcrunch.com/2008/04/08/techcrunch-labs-our-experience-building-and-launching-app-on-google-app-engine/">Berita di TechCrunch.com</a><br />
<a href="http://www.readwriteweb.com/archives/google_app_engine_history_or_monopoly.php"><br />
Berita di ReadWriteWeb.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://okto.silaban.net/2008/04/website/layanan-baru-dari-google-google-app-engine-pesaing-amazon-web-services/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

