Browsed by
Tag: cloud computing

When Cloud Fails

When Cloud Fails

Cloud, buat apa? Opsi pemakaian cloud biasanya muncul karena isu mahalnya harga server dan ongkos pemeliharaannya. Daripada membeli server besar yang belum tentu bisa kita manfaatkan dengan optimal, maka sewa server menjadi opsi menarik. Mengapa tidak mempertimbangkan VPS? VPS biasanya dipertimbangkan, namun seringkali harga sewanya tidak sefleksibel sewa cloud. Sewa cloud biasanya didasarkan pada jumlah pemakaian resource baik cpu, disk, maupun bandwidth sedangkan VPS biasanya bertarif datar (flat/fixed).

Selain sewanya yang fleksibel, cloud juga dianggap sebagai resource terbaik untuk menjalankan aplikasi. Anti gagal, demikian persepsinya. Well, cloud can fail.

Kesalahan Persepsi

Menaruh aplikasi di cloud tidak berarti aplikasi Anda akan langsung jadi bullet proof. Memang resource di belakang mesin virtual Anda akan diatur dan ditat sedemikian rupa supaya selalu tersedia. Media penyimpan akan disalin ke pelbagai tempat sehingga akan selalu tersedia untuk Anda walaupun salah satu hardware mengalami kegagalan. Tapi itu adalah layanan high availability (selalu tersedia) dari penyedia cloud bagi Anda sebagai konsumen. Sedang, high availability bagi klien Anda adalah lain cerita. Anda yang bertanggung jawab.

Oleh karena itu ada bermacam produk dan framework tambahan untuk mengatur resource Anda yang berada di cloud. Produk dan framework ini didesain dengan tujuan menfasilitasi Anda untuk menyediakan high availability bagi konsumen produk Anda. Contohnya: Scalr, RightScale, dan CloudFoundry. Beberapa di antaranya juga menyediakan kemampuan untuk memadukan public cloud dan private cloud (hybrid cloud).

Why Private Cloud

Adalah aturan mendasar bahwa kita tidak boleh meng-outsource inti dari produk kita. Inti produk kita adalah nilai yang membedakannya dengan produk lain di mata konsumen. Menyerahkannya untuk digarap orang lain bisa berarti melepas kontrol kesempurnaan produk. Walau tak selalu berarti seperti itu tetap ada sekian probabilitas bahwa kita menyerahkan nasib kita ke orang lain. What if they fail to deliver?

Di sinilah posisi penting private cloud. Private cloud memberikan Anda kontrol penuh terhadap semua proses inti yang terkait pada penyediaan layanan berkulitas sesuai standar yang Anda tentukan. Public cloud difungsikan sebagai resource cadangan ketika proses penyediaan layanan tak lagi mampu ditangani resource internal, baik karena alasan efisiensi atau murni karena kekurangan processing power.

Beberapa produk yang bisa digunakan untuk membuat private cloud antara lain: VMWare vSphere, ProxMox, Eucalyptus, atau Microsoft Hyper-V Cloud.

Getting Ready for Outage

Don’t put all your eggs in one basket. Atau dalam dunia teknis lebih populer dengan jangan sampai ada single point of failure. Joyent blog menjelaskan kenapa kita harus picky soal memilih penyedia layanan cloud. Tiap cloud diimplementasikan dengan pelbagai jenis pendekatan. Joyent menggambarkan Amazon Cloud sebagai blackbox di atas blackbox dan saat terjadi masalah jaringan, salah satu komponen perekat cloud pun berulah. Berniat baik untuk melakukan auto recovery namun malah memicu proses self-healing yang tak terkendali (vm reboots dan storage failure tak berujung)

Shit happens. Pastikan Anda punya tempat menyimpan data cadangan untuk membuat layanan Anda tetap tersedia atau paling tidak bisa dipulihkan. Lengkapi check-list dari strategi Business Continuity Plan atau Disaster Recovery Plan. Memang ongkosnya bakal mahal, apalagi buat startup. Bak asuransi, keberadaan Business Continuity Plan hanya akan disyukuri saat Anda menggunakannya.

So, mari liat sekeliling. Apa ya yang perlu kita backup? Apa ya yang bisa kita siapkan untuk mendukung Business Continuity?

 

 

Cloud, buat apa? Opsi pemakaian cloud biasanya muncul karena isu mahalnya harga server dan ongkos pemeliharaannya. Daripada membeli server besar yang belum tentu bisa kita manfaatkan dengan optimal, maka sewa server menjadi opsi menarik. Mengapa tidak mempertimbangkan VPS? VPS biasanya dipertimbangkan, namun seringkali harga sewanya tidak sefleksibel sewa cloud. Sewa cloud biasanya didasarkan pada jumlah pemakaian resource baik cpu, disk, maupun bandwidth sedangkan VPS biasanya bertarif datar (flat/fixed).

Selain sewanya yang fleksibel, cloud juga dianggap sebagai resource terbaik untuk menjalankan aplikasi. Anti gagal, demikian persepsinya. Well, cloud can fail.

Kesalahan Persepsi

Menaruh aplikasi di cloud tidak berarti aplikasi Anda akan langsung jadi bullet proof. Memang resource di belakang mesin virtual Anda akan diatur dan ditat sedemikian rupa supaya selalu tersedia. Media penyimpan akan disalin ke pelbagai tempat sehingga akan selalu tersedia untuk Anda walaupun salah satu hardware mengalami kegagalan. Tapi itu adalah layanan high availability (selalu tersedia) dari penyedia cloud bagi Anda sebagai konsumen. Sedang, high availability bagi klien Anda adalah lain cerita. Anda yang bertanggung jawab.

Oleh karena itu ada bermacam produk dan framework tambahan untuk mengatur resource Anda yang berada di cloud. Produk dan framework ini didesain dengan tujuan menfasilitasi Anda untuk menyediakan high availability bagi konsumen produk Anda. Contohnya: Scalr, RightScale, dan CloudFoundry. Beberapa di antaranya juga menyediakan kemampuan untuk memadukan public cloud dan private cloud (hybrid cloud).

Why Private Cloud

Adalah aturan mendasar bahwa kita tidak boleh meng-outsource inti dari produk kita. Inti produk kita adalah nilai yang membedakannya dengan produk lain di mata konsumen. Menyerahkannya untuk digarap orang lain bisa berarti melepas kontrol kesempurnaan produk. Walau tak selalu berarti seperti itu tetap ada sekian probabilitas bahwa kita menyerahkan nasib kita ke orang lain. What if they fail to deliver?

Di sinilah posisi penting private cloud. Private cloud memberikan Anda kontrol penuh terhadap semua proses inti yang terkait pada penyediaan layanan berkulitas sesuai standar yang Anda tentukan. Public cloud difungsikan sebagai resource cadangan ketika proses penyediaan layanan tak lagi mampu ditangani resource internal, baik karena alasan efisiensi atau murni karena kekurangan processing power.

Beberapa produk yang bisa digunakan untuk membuat private cloud antara lain: VMWare vSphere, ProxMox, Eucalyptus, atau Microsoft Hyper-V Cloud.

Getting Ready for Outage

Don’t put all your eggs in one basket. Atau dalam dunia teknis lebih populer dengan jangan sampai ada single point of failure. Joyent blog menjelaskan kenapa kita harus picky soal memilih penyedia layanan cloud. Tiap cloud diimplementasikan dengan pelbagai jenis pendekatan. Joyent menggambarkan Amazon Cloud sebagai blackbox di atas blackbox dan saat terjadi masalah jaringan, salah satu komponen perekat cloud pun berulah. Berniat baik untuk melakukan auto recovery namun malah memicu proses self-healing yang tak terkendali (vm reboots dan storage failure tak berujung)

Shit happens. Pastikan Anda punya tempat menyimpan data cadangan untuk membuat layanan Anda tetap tersedia atau paling tidak bisa dipulihkan. Lengkapi check-list dari strategi Business Continuity Plan atau Disaster Recovery Plan. Memang ongkosnya bakal mahal, apalagi buat startup. Bak asuransi, keberadaan Business Continuity Plan hanya akan disyukuri saat Anda menggunakannya.

So, mari liat sekeliling. Apa ya yang perlu kita backup? Apa ya yang bisa kita siapkan untuk mendukung Business Continuity?

Vertical Cloud Computing

Vertical Cloud Computing

Cloud computing dengan pembagai variasinya, SaaS, PaaS, IaaS sudah cukup sering kita dengar sehari-hari (walau tak sadar). Tapi entah kenapa saat Amazon mengumumkan EB (Elastic Beanstalk) ada sedikit perasaan excited yang tak bisa saya jelaskan penyebabnya.

Cloud Computing

Kita sudah terbiasa dengan e-mail semacam GMail, Live Mail ataupun Yahoo Mail. Google Docs, Zoho Docs dan beberapa variasi lain termasuk Google Apps dengan marketplacenya juga sering kita pakai, tanpa menyadari bahwa kesemuanya adalah layanan berbasis cloud computing.

Apa sih cloud computing? Apa yang membedakannya dengan model computing yang lain? Di artikel ZDNet ini disebutkan ada lima karakteristik cloud computing. Dua yang paling sering kita kenali adalah dynamic computing infrasturucture dan consumption based billing.

Dynamic computing infrastructure berarti kita bisa mendefinisikan secara run-time apa yang kita butuhkan. Suatu saat mungkin kita menyalakan 2 buah instan server untuk database dan web server. Saat kita melakukan launching produk kita kemudian menambahkan 2 buah instan server untuk mengantisipasi lonjakan traffic. Setelah itu 2 instan baru tadi bisa kita matikan kembali.

Consumption based billing tak perlu dijelaskan lagi. Meski tak semua pernah memakai EC2, pasti kita sudah familiar dengan konsep pay as you go-nya. Resource komputasi dihitung dalam satuan kecil sesuai pemakaian. Model semacam ini memungkinkan pengguna untuk melakukan estimasi budget secara akurat.

What is the big fuzz about EB?

Bagian paling menarik dari Elastic Beanstalk, menurut saya, adalah drop and deploy. EB menyediakan layanan “hosting” aplikasi java di atas Tomcat. Sebelumnya kita sudah akrab dengan layanan hosting LAMP atau IIS. Namun tidak ada solusi untuk maslaah High Availability di sana. Hosting umumnya hanya menyediakan storage terbatas, dan memori terbatas. Saat storage, memori atau cpu cycle tak lagi cukup maka kita harus berpindah paket yang mana bisa jadi sangat mahal.

Inti yang membuat cloud computing laku adalah sifat cloud computing yang IT service centric. Seperti slogan Debian, ada banyak tugas yang bisa dikerjakan sys admin selain mengurus server (terjemahan bebas), memang kita tak ingin mengurusi hal yang tak menjadi core business. Jika perusahaan minyak saya berkantor di gedung mewah, saya tak ingin pusing dengan masalah kebersihannya. Saya hanya ingin berurusan dengan minyak, titik.

Sebagai pengembang aplikasi tentunya kita juga tak ingin terlalu disibukkan oleh urusan infrastruktur. Membuat aplikasi sendiri sudah cukup susah apalagi harus mengurus infrastruktur. Infrastruktur harusnya bisa disetel auto-pilot.

Inilah yang berusaha diselesaikan oleh Amazon Elastic Beanstalk.

“You simply upload your application, and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring”

Voila. Vertical (Specialized) cloud. Autopilot on HA.

Where to go?

Amazon, Google, dan Microsoft punya tawarannya masing-masing terkait solusi data dan komputasi. Tapi solusi-solusi tersebut mengharuskan kita untuk belajar protokol baru. Bukannya belajar itu tidak baik tapi dari segi bisnis berarit diperlukan persyaratan tambahan untuk pindah ke cloud computing. Kita belum bisa secara mudah pada satu detik memindahkan proses bisnis kita ke cloud dan di detik selanjutnya memindahkannya kembali ke dalam data center kita. Either Amazon, Google dan Microsoft harus mencari pendekatan baru soal highly available dan scalable storage dan computing power atau kita sendiri yang mendorong protokol-protokol baru tadi menjadi sebuah standar.

Saya bermimpi dan berharap lebih banyak web app stack (populer) bisa diadopsi dan dibungkus seperti Elastic Beanstalk. Heroku (Rails), PHP Fog (PHP), AppHarbor (.NET), Amazon Elastic Beanstalk (Tomcat), Joyent (Free Node.js) dan entah apalagi setelah ini. Interesting times!

Kalau kamu, apa yang kamu inginkan dari cloud computing? How can it help you? Apa yang ingin kamu outsource ke cloud?

Cloud Break Down: Masihkah Cloud Bisa Dipercaya?

Cloud Break Down: Masihkah Cloud Bisa Dipercaya?

3145969738_e5bce9b298

Sudah tak terhitung sepertinya seberapa banyak kita bergantung pada cloud computing. Beberapa dari kita lebih suka menyimpan e-mail di gmail, yahoo, atau hotmail karena bisa diakses dari mana saja. Kita juga menyimpan foto di cloud untuk mempermudah proses berbagi. Bookmark juga kita simpan di cloud demi portabilitas dan berpartisipasi dalam social bookmarking.

Beberapa hari yang lalu, Magnolia, salah satu penyedia layanan social bookmark mengalami data loss (Friday Failure). Layanan pun harus dimatikan sementara dalam rangka melakukan data recovery. Pengguna pun tak bisa melakukan apa-apa selain mengikuti update proses recovery lewat twitter, dan berharap semoga layanan tersebut segera pulih kembali.

Kasus terbaru adalah Google, yang sempat error dan menganggap semua URL sebagai referensi malware. Faktor kesalahan manusia diklaim sebagai penyebabnya. Benar atau tidak, ini salah satu bukti bahwa sistem cloud bisa juga mengalami kegagalan.

Richard Stallman tidak percaya pada cloud karena sifatnya yang mirip proprietary software. Data Anda dipegang orang lain dan Anda hanya bisa berpangku tangan saat terjadi masalah.

Saya sendiri saat ini tidak punya banyak data di cloud. Meskipun demikian, jika layanan berbasis cloud ini gagal saya ngeri membayangkan dampak kolateralnya. Bayangkan saja jika Gmail tiba-tiba down. Begitu banyak yang memakai layanan ini, dan secara domino pasti berefek ke banyak orang dan mungkin sektor.

Mungkin di sinilah layanan offline benar-benar bersinar. Google Docs offline, GMail offline, dan lain sebagainya. Mungkin di sinilah juga value sinkronisasi bookmark Firefox ke Delicious atau Opera dengan Opera Sync-nya. Ketika cloud gagal, paling tidak kita masih punya data offline-nya.

Bagaimana dengan Anda? Di mana posisi Anda tentang pemakaian layanan berbasis cloud. Sepenuhnya percaya, setengah percaya ataukah menghindarkan diri dari cloud?

Apakah Cloud Computing Itu?

Apakah Cloud Computing Itu?

Sebelum sampai ke cloud computing, kita harus mulai dulu dari distributed computing. Seperti yang tercermin dari namanya, distributed computing berarti komputasi yang terdistribusi. Proses komputasi tidak terjadi dalam satu komputer saja akan tetapi didistribusikan ke beberapa komputer. Analoginya seperti kerja kelompok membuat kliping, semua anggota kelompok mencari bahan-bahan berdasarkan pembagian tugas kemudian bahan tersebut akhirnya dikumpulkan menjadi satu berbentuk kliping sebagai bentuk karya kelompok. Analogi lain bisa berupa kelompok-kelompok kerja lain semisal kantor, pabrik, dll. Intinya proses tersebar dalam kelompok, namun menghasilkan satu output. Ya, distributed computing adalah salah satu contoh parallel processing (pemrosesan paralel).

Grid computing adalah salah satu bentuk dari distributed computing. Jika distributed computing  memandang sebuah proses komputasi berdasar bagaimana proses tersebut diselesaikan, grid komputer memandang sisi infrastruktur dari penyelesaian suatu proses. Grid computing adalah suatu bentuk cluster (gabungan) komputer-komputer yang cenderung tak terikat batasan geografi. Di sisi lain, cluster selalu diimplementasikan dalam satu tempat dengan menggabungkan banyak komputer lewat jaringan. Contoh grid computing misalnya: SETI@Home. Proyek SETI@Home bertujuan mencari kecerdasan ekstra terestrial (ET) dengan memanfaatkan resource komputer anggotanya yang tersebar di seluruh penjuru dunia. Anda tinggal menjalankan sebuah program kecil saja. Program ini kemudian akan mendownload data dari proyek SETI@Home dan memprosesnya di komputer Anda. Hasilnya akan dikirimkan kembali ke SETI@Home sebagai bagian satu perhitungan besar.

Cloud Computing berbatas tipis dengan grid computing. Cloud computing memandang penyelesaian suatu proses dari sisi pemakaiannya. Dalam cloud computing, berarti si pemakai sama sekali tidak memiliki resource yang dipakai untuk memproses permintaannya. Data yang disedikan pemakai layanan akan diproses dalam suatu jaringan besar yang self-regulating (bisa mengatur dirinya sendiri). Pemakai hanya tahu hasil akhirnya saja tanpa tahu detil siapa yang memproses permintaannya, dimana diprosesnya dan dimana datanya tersimpan. Semua detil tersebut tertutup awan. Contoh cloud computing misalnya: Amazon EC2, SalesForce.com, Google App Engine, Yahoo! BOSS dan lain-lain.

Dengan semakin hebatnya pengaruh internet dalam kehidupan kita sehari-hari, cloud computing sepertinya akan semakin menarik saja. Apalagi sekarang device-device yang bisa dipakai mengakses internet semakin tersedia di mana-mana dengan bentuk yang makin portable. Yang hari ini masih di film, beberapa tahun lagi bisa dinikmati di dunia nyata. Ugh! Tidakkah Anda excited?

PS:
Distributed computing tidak terbatas pada aktivitas perhitungan saja. Penyimpanan (storage) juga termasuk dalam distributed computing.

Apakah tulisan ini sudah bisa menjelaskan cloud computing pada Anda? Perlukan Navinot menuliskan hal-hal lainnya tentang cloud computing? Apa yang ingin Anda baca setelah artikel ini?