Jumat, 14 Maret 2014

Google App Engine



ARTIKEL SEBELUMNYA :






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

Google App Engine memungkinkan Anda menjalankan aplikasi web Anda pada infrastruktur Google. Aplikasi App Engine mudah untukdibuat, mudah untuk di-maintain, dan sesuai dengan kebutuhan penyimpanan data yang terus berkembang. Dengan App Engine,  Anda hanya perlu meng-upload aplikasiAnda, dan system tersebut siap untuk melayani pengguna situs Anda.
Anda dapat menaruh aplikasi Anda menggunakan nama domain gratis di domain appspot.com, atau menggunakan Google Apps untuk menaruh dari domain Anda sendiri. Anda dapat berbagi aplikasi Anda dengan dunia, atau membatasi akses ke anggota organisasiAnda.
App Engine tidak meminta biaya untuk memulai. Daftar untuk mendapatkan akun gratis, dan Anda dapat mengembangkan dan mempublikasikan aplikasi Anda bagi dunia, tanpa biaya dan tanpa kewajiban. Sebuah akun gratis dapat menggunakan hingga 500MB penyimpanan persisten dan CPU yang cukup dan bandwidth sekitar 5 juta tampilan halaman per bulan.
                                                                                                                  

Penggunaan App Engine

Untuk menggunakan Google App Engine Anda perlu melakukan beberapa hal untuk mempersiapkan computer Anda untuk mempublikasikan konten statis Anda ke Google. Harap perhatikan bahwa setup disini adalah untuk Windows, tetapi Anda dapat dengan mudah memodifikasi proses untuk setiap OS lainnya.

Instalasi Google App Engine

Untuk menggunakan Google App Engine, pertama-tama kita harus melakukan langkah di bawah ini:
1.      Download Python SDK di http://www.python.org/download/ jika anda belum memiliki engine Python di komputer anda lalu install (Untuk saat ini Google hanya mensupport bahasa Python dan Java)
2.      Download Google App Engine di http://code.google.com/appengine/downloads.html lalu install. Perhatikan bahwa Google App Engine akan memeriksa Python, jadi pastikan Anda menginstalnya sebelum menginstall Google App Engine.
3.      Register di http://appengine.google.com/ menggunakan account Google anda. Disarankan anda sudah memiliki akun Google yang valid yang akan anda gunakan untuk service ini.
4.      Jalankan Goggle App Launcher, lalu buat aplikasi baru dengan klik pada tombol “Create an Application” di appengine.google.com lalu masukkan ID aplikasi anda untuk registrasi, harap diingat ID aplikasi anda berhubung anda akan sering menggunakannya. Pastikan kita menggunakan hanya huruf kecil dan angka.  Misal, kita pilih id-nya, sisjarkom2013.

Pembuatan Proyek Aplikasi App Engine
Setelah tahap instalasi selasai kita lanjut untuk pembuatan aplikasi App Engine kita, berikut adalah langkah-langkahnya:
1.      Jalankan Google App Engine Launcher dari start menu anda
2.      Klik File -> Create New Application
3.               Pilih folder dimana aplikasi anda mau dibuat lalu beri nama aplikasinya sesuai ID aplikasi yang anda buat di website App Engine. Folder bisa dibuat dimana saja pada computer kita.
4.      Klik tombol Create
5.      Maka aplikasi akan membuat file-file App Engine di folder yang anda tentukan tadi seperti contoh di bawah ini:

6.      Lalu di folder proyek App Engine anda buat struktur folder sebagai berikut melalui Windows Explorer:



 Dalam folder ini, buat sebuah folder bernama assets, dan dalam folder tersebut buat 3 folder dengan nama images, css, dan javascript. 3 folder inilah yang akan kita isi dengan file dan dipublish melalui content delivery network kita. Kita juga dapat membuat folder lain jika ingin.

Struktur-nya akan seperti ini :

sisjarkom2013/
         assets/
                 css/
                 images/
                 javascript/

7.      Anda bisa mengisi apa saja dan membuat folder apa saja sebetulnya di dalam folder assets ini, tapi untuk percobaan sedikit dulu saja memasukkan datanya.  Dalam contoh ini, kita akan memasukkan file HTML, sebuah stylesheet, sebuah image, dan javascript library. Di top-level folder (sisjarkom2013), buat file dengan nama index.html. Isi dengan konten apa saja yang diinginkan. Di folder css, buat file stylesheet, misal core.css. Di folder image, masukkan sebuah file gambar, misal cdn.png. Terakhir, di folder javascript, masukkan file jQuery library. Struktur-nya jadi :

sisjarkom2013/
               assets/
                               index.html
                               css/
                                              core.css
                               images/
                                              cdn.png
                               javascript/
                                              jquery-1.2.6.min.js

8.      Buat 1 lagi file. File ini yang nantinya akan memberitahu App Engine apa yang harus dilakukan dengan file-file yang anda punya. Namanya app.yaml, letakkan di folder paling atas (dalam kasus ini, sisjarkom2013). Biasanya file ini langsung terbentuk pada saat kita meng-create aplikasi pertama kali. Namun jika tidak, maka silahkan dibuat dan file tersebut harus berisi baris-baris berikut :
application: sisjarkom2013
version: 1
runtime: python
api_version: 1
handlers:
- url: /
  static_files: assets/index.html
  upload: assets/index.html
- url: /
  static_dir: assets
 
Jika sudah, artinya anda sudah membuat sebuah project App Engine.
 
Memastikan Kesiapan Projek
               Project kita sudah selesai dibuat dan telah siap untuk di-upload. Tapi, sebaiknya kita melakukan pengetesan dulu terhadap project tersebut sebelum meng-upload-nya. Salah satu file yang akan kita temukan dari App Engine yang sudah terinstall adalah dev_appserver.py, sebuah script Phyton yang digunakan untuk menstimulasi App Engine di komputer kita. Jalankan file tersebut melalui command prompt. Sebelum menjalankannya, pastikan kita berada di folder project kita. Dalam kasus ini kita gunakan command ini :



cd "C:\Documents and Settings\username\Desktop\sisjarkom2013"
 
Jika berhasil, output-nya akan seperti ini :
 
INFO     2008-11-22 14:35:00,830 dev_appserver_main.py] Running application 24ways2008 on port 8080: http://localhost:8080
 
Sekarang, buka internet browser, lalu masuk ke http://localhost:8080/, dan kita akan menemukan halaman index.html yang kita simpan tadi, dan juga file css di  http://localhost:8080/css/core.css. Normalnya, semua file yang kita buat tadi dapat diakses. Jika berhasil, maka artinya project kita sudah lulus pengujian dan siap di-upload.

Mengecek kesiapan projek juga bisa dilakukan melalui tahap-tahap berikut:

1.      Pilih nama aplikasi anda di aplikasi Google App Engine Launcer lalu klik tombol Edit. Ubah isinya menjadi sebagai berikut:
[sourcecode language="css"]
application: – ID Aplikasi Anda -
version: 1
runtime: python
api_version: 1
handlers:
- url: /
static_dir: assets
- url: /
static_files: assets/index.html
upload: assets/index.html
[/sourcecode]
2.      Save hasil perubahannya lalu klik tombol Run untuk menjalankan aplikasi yang anda sudah buat
3.      Buka internet browser anda lalu masukkan alamat sebagai berikut: http://localhost:8080/index.html
Kalau anda sudah dapat melihat aplikasi anda melalui Internet browser anda maka anda telah sukses membuat aplikasi Google App Engine anda. Sekarang kita lanjut ke tahap mengupload aplikasi kita di server Google App Engine.

Upload Proyek Aplikasi Google App Engine

Proses upload proyek aplikasi yang telah kita buat tidaklah sulit, sebetulnya di aplikasi Google App Engine Launcher sendiri ada tombol Deploy untuk mengupload aplikasi yang kita buat ke server Google App Engine. Tapi entah kenapa saya tidak bisa menguploadnya dari aplikasi tersebut. Saya jabarkan proses uploadnya di bawah ini:
1.      Buka command prompt dengan cara mengklik Start -> Run -> lalu ketik cmd
2.      Ketikkan perintah berikut di command prompt:
appcfg.py update [PATH KE PROYEK APLIKASI YANG ANDA BUAT]
3.      Masukkan username dan password account Google anda
4.      Setelah selasi proses uploadnya anda bisa melihat aplikasi yang telah anda upload di:
http://[ID APLIKASI ANDA].appspot.com
Jika anda sudah berhasil melakukan tahap-tahap diatas maka aplikasi Google App Engine anda sudah siap digunakan sebagai CDN.

Menggunakan Domain Anda Sendiri (Optional)
Anda dapat membuat domain untuk CDN yang dapat anda sesuaikan sendiri. Langkah-langkahnya adalah :
1.      Masuk ke dashboard Google Apps Anda dan klik "Add more services".
2.      Dalam layanan Custom Domain anda akan diminta untuk memasukkan identifier aplikasi Anda. Masukka identifier aplikasi anda dan klik "Add It Now".
3.      Ini akan membawa Anda ke halaman berikutnya di mana Anda diminta untukk memasukkan domain yang Anda inginkan untuk CDN Anda, disarankan nama domain yang sederhana seperti static.yoursite.com.
4.      Kemudian Anda hanya perlu mengikuti langkah-langkah untukmenambahkan CNAME untuk DNS Anda dan Domain anda akan siap.

Kelebihan Google App Engine

Keuntungan yang paling utama tentu anda tidak akan bermasalah dengan bandwidth, dan pengunjung site akan mendapatkan akses yang lebih cepat.
Keuntungan lainnya:
1.      Update situs anda menjadi lebih mudah. Setiap kali anda meng-update situs anda, anda hanya perlu menjalankan appcfg.py untuk melihat perubahan yang muncul pada web anda. Sebuah website yang baik tentu harus dapat di-update hanya dengan langkah-langkah yang simpel dan cepat.
2.      App Engine memberikan fitur yang membolehkan banyak orang untuk bekerja pada satu aplikasi. Anda menginginkan teman anda untuk dapat meng-upload file ke situs anda tanpa memberikan username + pasword anda kepada mereka. Yang mereka butuhkan hanyalah Google account mereka sendiri. App Engine juga menyediakan statistik operasi apa saja yang dilakukan oleh partner/teman anda, jadi anda dapat mengetahui siapa saja yang melakukan update terhadap situs anda, dan kapan.
3.      Keistimewaan lain adalah mudahnya menggunakan kontrol Google App Engine ini. Ditambah lagi tidak membutuhkan biaya sama sekali.

Kekurangan Google App Engine

Google App Engine juga memiliki beberapa kelemahan.
1.      Keterbatasan dalam meng-hosting file. Anda tidak dapat meng-host file yang ukurannya lebih dari 1 MB. Solusi satu-satunya adalah beralih ke file yang lebih kecil.
2.      Masalah dengan sistem kuota-nya. Dokumentasi Google menyatakan bahwa dalam sehari diperbolehkan request sebanyak 650.000 kali dan 10.000 MB bandwidth in dan out (20.000 total). Ini mungkin cukup untuk sebagian besar situs. Tapi banyak juga terjadi kasus situs yang ditutup sementara karena melewati kuota yang ditetapkan, pada beberapa kasus, setelah loncatan yang sangat besar pada penggunaan CPU server Google. Atau singkatnya, kalau tidak ingin terlalu ambil pusing masalah uptime, Google App Engine bukan pilihan yang tepat.
3.    Pada dasarnya Google Apps Engine (GAE) merupakan suatu Cloud Computing Platform (aplikasi yang memungkinkan developer untuk membuat dan menjalankan hosting via server google).  Anda dapat menggunakan GAE sebagai CDN namun sebenarnya GAE lebih dari itu, dengan kata lain GAE tidak dirancang khusus sebagai CDN. Menurut pengujian yang dilakukan (serverfault.com tahun 2010) yang membandingkan GAE dengan beberapa CDN semacamnya melalui ClaudHarmony.com speedtest hasilnya adalah sebagai berikut :

Order
Service Location
Type
Size
Time (secs)
Rate (MBps)
1
Google AppEngine
download
1,00 MB
3,5
2,29
2
Google AppEngine
upload
512 MB
3,57
1,12
3
Google AppEngine
website
102,55KB
0,75
1,07
Order
Service Location
Type
Size
Time (secs)
Rate (MBps)
5
EdgeCast CDN
download
1,00 MB
1,03
7,77
2
Cotendo CDN
download
1,00 MB
1,08
7,37
12
Amz CloudFront
download
1,00 MB
1,11
7,19
10
CacheFly CDN
download
1,00 MB
1,29
6,19
8
Azure CDN
download
1,00 MB
1,36
5,9
7
Internap CDN
download
1,00 MB
1,47
5,43
9
VoxCast CDN
download
1,00 MB
1,55
5,17
4
Simple CDN
download
1,00 MB
1,65
4,84
6
MaxCDN
download
1,00 MB
1,69
4,73
3
HighWinds CDN
download
1,00 MB
1,81
4,43
11
Akamai CDN
download
1,00 MB
2,22
3,6
1
LimeLight CDN
download
1,00 MB
2,34
3,42

Dari data diatas dapat dilihat bahwa CDN dapat bekerja lebih cepat 2-7 kali daripada kerja GAE pada saat download file. Diberitakan pula bahwa GAE merupakan DNS yang kurang stabil, walaupun begitu GAE cukup banyak digunakan karena faktor tanpa biaya pemakaiannya.

 

Sumber :


http://www.teknojurnal.com/2010/02/07/menggunakan-google-app-engine-sebagai-content-delivery-network-cdn-pembuatan-aplikasi/)
https://developers.google.com/appengine/docs/whatisgoogleappengine?hl=id


Tidak ada komentar:

Posting Komentar