Mungkin buat para blogger atau webmaster yang sudah agak besar traffictnya web / blognya akan menyadari bahwa waktu respons blog/web kalian akan semakin lambat. Atau mungkin untuk yang sedang merancang web dimana webnya akan memakan banyak resource sedang bingung mencari solusi untuk menekan penggunaan resource. Salah satu solusi yang dapat menyeleasaikan masalah ini adalah dengan memindahkan konten statis (seperti gambar, stylesheet, javascript) ke jaringan pengiriman data atau biasa disebut Content Delivery Network (CDN). Berikut saya jelaskan secara singkat apa itu CDN.
Content Delivery Network
Secara garis besar Content Delivery Network adalah sebuah sistem yang terdiri dari komputer-komputer yang saling terhubung yang berada di berbagai penjuru Internet dan memiliki kopi-kopi data di tiap komputer yang saling bekerja sama untuk mengirimkan data dengan tujuan untuk meningkatkan performa, skalabilitas, dan efisiensi biaya untuk pengguna.
Melalui CDN pengguna akan mengakses data yang letak servernya paling dekat dengan posisinya. Hal ini menyebabkan beban data tidak dipusatkan di satu server. Web-web besar seperti Microsoft, Yahoo, dan Google menggunakan CDN untuk menempatkan sebagian besar data mereka terutama yang bersifat statik.
Saya jelaskan dengan contoh agar lebih jelasnya:
- Tim Peneliti Sponsio nyewa hosting dengan domain www.kapta.us, seperti yang kalian ketahui hosting Indonesia agak pelit kalau urusan bandwidth dan space data. Space total yang kami miliki cuma 200 Mb dan bandwith 10 Gb
- www.kapta.us nantinya akan kami isi dengan skrip php yang cukup berat untuk pemrosesan data dan webnya akan meng-host gambar hingga ribuan
- Satu gambar ukurannya berkisar 100 Kb dan kisaran data gambar yang kami butuhkan itu sekitar 3000 data jadi total space yang kami perlukan lebih dari 300 Mb sedangkan space hosting kami hanya 200 Mb
- Ditambah lagi, gambar-gambar yang berada di server kami kemungkinan besar akan aktif digunakan sehingga tentu saja ini memberatkan server
- Berhubung www.kapta.us nantinya akan berat jika pemprosesan skrip php dan data-data gambar disatukan di satu server, maka untuk data-data gambar dipindahkan menggunakan CDN
- Hasil akhirnya maka server kami di www.kapta.us hanya memproses skrip php, jadi hanya sebagai application server, sedangkan untuk pemrosesan request data gambar diatur oleh CDN dengan server kami di www.kapta.us sebagai perantara saja.
Biasanya jasa penyedia layanan CDN memasang tarif yang agak mahal seperti Amazon CloudFront CDN, Rackspace Cloud Files CDN, dan lain-lain. Untungnya Google menyediakan jasa CDN secara gratis yaitu dengan menggunakan Google AppEngine, berikut saya jelaskan secara singkat mengenai Google App Engine.
Google App Engine
Google App Engine adalah sebuah jasa hosting dari Google yang dapat menjalankan aplikasi web kita di infrastruktur Google. Dengan menggunakan App Engine tidak ada server yang harus diurus, kita cuma perlu untuk mengupload aplikasi kita lalu tinggal pengguna merequest datanya dari server. Google akan mengatur sendiri server yang kita gunakan.
Dengan menggunakan App Engine kita dapat menghosting aplikasi kita dengan menggunakan nama domain gratis di appspot.com atau menggunakan domain yang kita miliki. App Engine menyediakan paket gratis yang bisa kita gunakan untuk mengembangkan dan mempublikasikan aplikasi kita di Internet. Pake gratis yang disediakan oleh Google termasuk space hosting sebesar 500 MB dan prosesor serta bandwidth yang cukup untuk menghandle data hingga 5 juta page view per bulan.
Google juga menyediakan jasa berbayar untuk App Engine jika kita belum cukup dengan fitur paket gratis yang disediakan, berikut adalah tarif yang dipasang oleh Google:
- $0.10 – $0.12 per CPU core-hour
- $0.15 – $0.18 per GB-month of storage
- $0.11 – $0.13 per GB outgoing bandwidth
- $0.09 – $0.11 per GB incoming bandwidth
Untuk saat ini Google hanya mensupport bahasa Python dan Java
Untuk artikel selanjutnya mengenai cara pembuatan aplikasi Google App Engine sebagai CDN dengan mengklik link ini.
Referensi:
- http://www.coderjournal.com/2008/06/turn-google-app-engine-into-a-content-delivery-network-cdn/
- http://en.wikipedia.org/wiki/Content_delivery_network
- http://www.paessler.com/blog/2009/08/12/prtg-7/making-our-website-faster-a-comparison-of-cloud-content-delivery-networks-cdns-with-cloud-storage-cloud-hosting-and-old-fashioned-hosting
- http://24ways.org/2008/using-google-app-engine-as-your-own-cdn