Thursday, November 22

10 langkah mudah untuk memanfaatkan Google App Engine sebagai CDN

Apabila syarikat-syarikat gergasi melancarkan sesebuah laman web, kebiasaannya mereka menggunakan Content Delivery Networks (CDN) untuk menjadi hos bagi kandungan laman web mereka, terutama imej, stylesheet, fail untuk memuat turun dan kandungan statik yang lain.

Antara sebab utama mereka melakukan ini ialah untuk mengurangkan beban seberapa banyak yang boleh pada server mereka dan pelbagai lagi kandungan yang boleh dihos untuk memudahkan serta mempercepatkan proses muat turun. Antara khidmat CDN yang terkenal adalah Akamai. Sebelum saya berbicara cara membuat CDN dengan Google App Engine, sedikit saya kupas dari Wikipedia pengertian atau erti CDN yang sebenar.
"CDN (kandungan penyampaian rangkaian atau rangkaian pengedaran kandungan) adalah satu sistem komputer yang mengandungi salinan data, diletakkan di pelbagai tempat dalam rangkaian supaya dapat memaksimumkan penggunaan jalur lebar untuk akses kepada data daripada pelanggan ke seluruh rangkaian. Seorang pelanggan mengakses salinan data yang berhampiran kepada pelanggan, berbanding kepada semua pelanggan mengakses pelayan pusat yang sama, supaya dapat mengelakkan kesesakan berhampiran pelayan itu"
Manakala Google App Engine adalah Platform-as-a-Service yang dilancarkan oleh Google sejak tahun 2008. Google App Engine telah direka untuk mempermudahkan pembangunan aplikasi jaringan dengan memanfaatkan infrastruktur dan teknologi yang Google biasa gunakan untuk produk-produk mereka sendiri, seperti Gmail, Google+, dan Google Search. Buat masa ini Google App engine boleh diprogram menggunakan Python (jangan bimbang, tiada kod Python yang kita perlu belajar sebab kita hanya mahukannya sebagai CDN) dan harap mereka akan mengembangkannya kepada bahasa yang lain (kalau ada PHP lagi bagus...hehhhehhe).

Langkah-langkah membuat CDN


1. Untuk menggunakan Google App Engine sebagai CDN anda, komputer perlu diinstal Python (buat masa ini versi 2.7). Sekiranya anda menggunakan Mac atau Linux, kemungkinan besar ia sudah tersedia di komputer anda saat ini. Hanya klik pada button "Next", guna default setting sudah memadai.

2. Muat turun http://code.google.com/appengine/downloads.html dan install pada PC anda. Google App Engine akan dipasang pada PC anda dan ia akan periksa sama ada komputer anda sudah dilengkapi Python atau belum.

3. Buat satu akaun Google App Engine (gunakan akaun Gmail, sekiranya anda tidak mempunyainya, daftar sahaja kerana ianya percuma). Google memerlukan nombor henfon untuk tujuan pengesahan. Kod pengesahan akan dihantar dan gunakan kod itu untuk lengkapkan proses create application



4. Seusai mendaftar, anda perlu create satu aplikasi. Hanya klik saja button "Create Application" dan namakan aplikasi anda (application identifier). Mesti unik sebab Google akan check dengan semua pengguna  Google App Engine. Ikut semua arahan yang tertera dan klik button "Create Application" di bawah borang yang disediakan. Aplikasi anda boleh diakses menerusi nama yang anda pilih.

5. Muat turun file ini http://wqmsitronics.appspot.com/files/wqmsitronics.zip (hehehe... menggunakan CDN sdn bhd) dan unzip pada hard drive anda. Anda boleh menamakan semula direktori tersebut kepada apa sahaja yang anda suka. Sebagai contoh nama aplikasi anda sendiri. (Benda ini tak berapa penting cuma ia penting pada masa hadapan sekiranya anda mempunyai banyak aplikasi yang mahu dibangunkan).

6. Edit app.yaml, Right Click dan tekan edit. Tukar “application: wqmsitronics” to “application: --nama aplikasi anda--". Langkah ini akan beritahu pada google aplikasi anda yang mana fail-fail anda akan diupload. Jika anda ingin ubah atau tambah folder, sila define di dalam app.yaml

7.  Copy static fail yang anda ingin simpan di server CDN anda. Masukkan mengikut folder. Folder images untuk menyimpan imej fail (jpeg, gif, etc) dan folder styles untuk menyimpan css fail.


8. Sekarang gunakan command-prompt dan taip: 

appcfg.py update --direktori / folder tempat anda simpan fail download tadi--

8. Anda akan diminta memasukkan alamat emel atau username Google. Dan kemudian terus ia akan meminta password pula.

9. Proses akan mengambil masa bergantung berapa banyak fail yang anda ingin bubuh di CDN Google App Engine.

10. Sekarang anda boleh test server CDN anda. Sebagai contoh http://wqmsitronics.appspot.com/files/wqmsitronics.zip


P.S: kita mungkin mempunyai banyak web hosting untuk menyimpan image fail seperti Flickr.com , photobucket.com tetapi bezanya mereka tak mempunyai banyak server yang boleh mencapai data dari server terdekat seperti server milik Google. Setiap fail yang di download daripada Flickr.com misalnya juga merupakan penyebab loading web yang lambat.

Kita juga kekurangan web hosting percuma yang menyimpan fail animasi flash seperti .swf, sedikit sebanyak Google application Engine ini dapat dimanfaatkan untuk menyimpan fail berformat .swf



Bagaimana menggunakannya?


Untuk menggunakan fail-fail yang diupload tadi, anda hanya perlu mengingati path atau URL fail-fail tersebut.