HEAD LINE NEWS CREATIVE BY MARAPU

Memahami Cloud Computing (bagian 2)


Pada pembahasan sebelumnya, kami telah membahas cukup detail tentang apa itu cloud computing. Pembahasan meliputi definisi, karakteristik, hingga kelebihan cloud computing dibandingkan system IT tradisional yang On-Premise (yaitu sistem IT yang dibangun di data center milik sendiri).


Untuk lebih memahami Cloud Computing, kali ini kita akan membahas contoh Cloud Computing dan jenis layanan apa saja yang ada. Dari situ, kita akan dapat memutuskan jenis yang mana yang mungkin di adopsi di organisasi ataupun bisnis yang kita jalani.

Sedikit menyegarkan ingatan, cloud computing adalah sebuah arsitektur IT di mana sumber daya komputasi tersedia sebagai layanan yang dapat diakses melalui internet. Sumber daya komputasi ini bisa berupa hardware (prosesor, memori, storage) maupun juga software/aplikasi. Kata “Cloud” sendiri merupakan metafora dari kata “internet”, karena biasanya di diagram-diagram IT, internet sering disimbolkan dengan gambar Cloud. 

Karena layanan-layanan komputasi ini tersedia untuk diakses dari internet, maka lokasi fisik dari server-server sumber daya komputasi ini bisa di mana saja, tidak harus on-premise atau di data center kita sendiri. Saat ini ada beberapa vendor yang memberikan berbagai jenis layanan cloud computing, dan secara fisik sumber daya komputasi berada di data center mereka. Kita sebagai customer cukup mengkonsumsi sumber daya komputasi tersebut melalui internet tanpa tahu secara detail lokasi maupun server sumber daya komputasi yang kita pergunakan.

Berikut ini kita akan bahas satu persatu, jenis layanan Cloud Computing yang ada, seperti yang ditunjukkan gambar 1. Kita mulai dari yang disebut Software as a Service (SaaS), kemudian Platform as a Service (PaaS) dan terakhir Infrastructure as a Service (IaaS). 


Software as a Service (SaaS)
Sebagai konsumen individual, kita sebenarnya sudah akrab dengan layanan cloud computing melalui Yahoo Mail, Hotmail, Google Search, Bing, atau MSN Messenger. Contoh lain yang cukup populer adalah Google Docs ataupun Microsoft Office Web Applications yang merupakan aplikasi pengolah dokumen berbasis internet.

Di dunia bisnis, kita mungkin familiar dengan SalesForce.com atau Microsoft CRM yang merupakan layanan aplikasi CRM. Di sini, perusahaan tidak perlu setup hardware dan software CRM di server sendiri. Cukup berlangganan SalesForce.com maupun Microsoft CRM, kita bisa menggunakan aplikasi CRM  kapan dan dari mana saja melalui internet. Kita tidak perlu melakukan investasi server maupun aplikasi. Kita juga akan selalu mendapat aplikasi terbaru jika terjadi upgrade. Intinya, kita benar-benar hanya tinggal menggunakan aplikasi tersebut. Pembayaran biasanya dilakukan bulanan, dan sesuai jumlah pemakai aplikasi tersebut. Dengan kata lain, pay as you go, pay per use, per seat.

Nah, semua layanan ini, dimana suatu aplikasi software tersedia dan bisa langsung dipakai oleh seorang pengguna,  termasuk ke dalam kategori Software as a Services (SaaS). Secara sederhana, kita langsung mengkonsumsi layanan aplikasi yang ditawarkan.

Platform as a Service (PaaS)
Sering terjadi, suatu aplikasi software yang sifatnya package tidak dapat memenuhi kebutuhan proses bisnis kita. Demikian pula dengan SaaS, di mana aplikasi yang ditawarkan sebagai layanan tidak sesuai dengan proses bisnis kita. Nah, pada skenario ini, kita dapat menggunakan jenis layanan yang disebut Platform as a Service (PaaS).

Pada PaaS, kita membuat sendiri aplikasi software yang kita inginkan, termasuk skema database yang diperlukan. Skema itu kemudian kita pasang (deploy) di server-server milik penyedia jada PaaS. Penyedia jasa PaaS sendiri menyediakan layanan berupa platform, mulai dari mengatur server-server mereka secara virtualisasi sehingga sudah menjadi cluster sampai menyediakan sistem operasi di atasnya. Alhasil, kita sebagai pengguna hanya perlu memasang aplikasi yang kita buat di atasnya.

Jika kita adalah perusahaan pembuat software, PaaS juga memberi alternatif lain. Alih-alih memasang software di server konsumen, kita bisa memasang software tersebut di server milik penyedia layanan PaaS, lalu menjualnya ke konsumen dalam bentuk langganan. Dengan kata lain, kita membuat sebuah SaaS.

Singkatnya, dengan PaaS, kita membangun aplikasi kita sendiri di atas layanan PaaS tersebut. Adapun contoh vendor penyedia layanan Paas adalah Microsoft Azure dan Amazon Web Services.

Infrastructure as a Service (IaaS)
Ada kasus ketika konfigurasi yang disediakan oleh penyedia PaaS tidak sesuai dengan keinginan kita. Kita berniat menggunakan aplikasi yang memerlukan konfigurasi server yang unik dan tidak dapat dipenuhi oleh penyedia PaaS. Untuk keperluan seperti ini, kita dapat menggunakan layanan cloud computing tipe Infrastructure as a Service (IaaS). 

Pada IaaS, penyedia layanan hanya menyediakan sumber daya komputasi seperti prosesor, memori, dan storage yang sudah tervirtualisasi. Akan tetapi, penyedia layanan tidak memasang sistem operasi maupun aplikasi di atasnya. Pemilihan OS, aplikasi, maupun konfigurasi lainnya sepenuhnya berada pada kendali kita.
Jadi, layanan IaaS dapat dilihat sebagai proses migrasi server-server kita dari on-premise ke data center millik penyedia IaaS ini. Para vendor cloud computing lokal rata-rata menyediakan layanan model IaaS ini, dalam bentuk Virtual Private Server.

SaaS, PaaS & IaaS: Kendali dan Tanggung Jawab
Perbedaan SaaS, PaaS dan IaaS dapat dilihat dari sisi kendali atau tanggung jawab yang dilakukan oleh vendor penyedia jasa layanan cloud maupun customer. Pada gambar 2, di situ dijelaskan stack (jenjang) teknologi komputasi dari Networking naik hingga ke Application. Di situ juga dijelaskan sampai di stack mana suatu vendor layanan cloud memberikan layanannya, dan mulai dari jenjang mana konsumen mulai memegang kendali dan bertanggung jawab penuh pada stack di atasnya. 

 
Mulai dari kanan, pada SaaS, seluruh stack merupakan tanggung jawab penyedia layanan cloud. Konsumen benar-benar hanya mengkonsumsi aplikasi yang disediakan.

Pada PaaS, penyedia layanan cloud bertanggung jawab mengelola Networking hingga Runtime. Konsumen memiliki kendali dan bertanggung jawab membuat aplikasi dan juga skema database-nya.

Pada IaaS, penyedia layanan Cloud bertanggung jawab untuk Networking hingga Virtualization. Konsumen sudah mulai bertanggung jawab untuk Operating System ke atas.

Sebagai perbandingan, di gambar juga ditunjukkan arsitektur tradisional on-premise (bukan cloud), alias semua ada di data center kita. Di sini kita bertanggung jawab untuk seluruh stack, dari Networking hingga Application.

Kesimpulan
Kesimpulannya, dengan cloud computing konsumen membebaskan diri dari tanggung jawab untuk mengelola stack sumber daya komputasi. 

Levelnya mulai dari SaaS ketika kita benar-benar bebas, PaaS ketika kita masih harus membuat aplikasi, dan IaaS di mana kita juga masih harus sibuk dengan Operating System. 

Ini berbeda dengan On-Premise di mana kita harus mengurus semua sendiri.

(Norman Sasono*—Kontributor)
Penulis adalah Vice President dari International Association of Software Architects (IASA) Chapter Indonesia. Saat ini bekerja sebagai Architect Advisor di Microsoft Indonesia.