Sudah beberapa kali saya berdiskusi tentang cloud computing dengan beberapa teman, juga sudah dua kali saya membawakan materi cloud computing di sejumlah seminar, ternyata masih banyak teman-teman seperguruan saya ~yang notabene sama-sama sekolah di perguruan tinggi TI~ masih belum begitu ngeh tentang cloud computing. Jadi pada tulisan saya kali ini, saya kupas kembali apa itu cloud computing.
Bahasan yang saya tulis dalam tulisan ini meliputi:
- Definisi cloud computing menurut NIST
- Karakteristik cloud computing
- Model layanan cloud computing
- Model penerapan teknologi cloud computing
Menurut NIST (National Institute of Standards and Technology),
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service pKarekrovider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.
Menurut definisi di atas, pada intinya cloud computing adalah model komputasi yang seluruh sumber daya komputasinya (computing power, storage, network) tergabung menjadi satu (pooled resources). Semua sumber daya komputasi tersebut tersedia secara on-demand, sesuai permintan dan sesuai kebutuhan, serta dapat tersedia dengan cepat dan mudah tanpa campur tangan pihak provider.
Misalnya, ketika kita ingin membuat VM (virtual machine) sendiri, kita hanya perlu login ke control panel / dashboard, lalu tinggal Create New VM. Begitu juga ketika kita butuh storage dan yang lain, tinggal create aja. Dan kita hanya menerima tagihan pembayaran atas sumber daya yang kita gunakan saja. Ketika kita tidak menggunakannya, tinggal delete aja. Semudah itu.
Lalu apa bedanya dengan hosting?
Di hosting, spesifikasi layanan yang diberikan telah ditentukan. Misal, paket A dengan spesifikasi A, paket B dengan spesifikasi B, dan seterusnya. Untuk menggunakan paket A, kita order dulu, bayar dulu, lalu layanan akan diaktifkan oleh penyedia hosting ketika kita sudah melakukan pembayaran. Ketika kita butuh upgrade layanan, kita harus order dulu, bayar dulu, baru diupgrade oleh pemilik hosting.
Karakteristik Cloud Computing
On-Demand Self Service
Pengguna cloud computing dapat menyediakan sendiri sumber daya komputasi yang mereka butuhkan, misalnya VM atau storage, sesuai kebutuhan mereka tanpa harus ada interaksi dengan pihak penyedia cloud.
Broad Network Access
Seluruh sumber daya cloud computing dapat diakses melalui jaringan internet dengan perangkat-perangkat yang umumnya kita pakai seperti komputer, laptop, tablet, smartphone, dan lain sebagainya. Kita juga dapat memberikan batasan-batasan tentang bagaimana sumber daya yang kita miliki itu dapat diakses.
Resource Pooling
Semua sumber daya yang ada (seperti server, storage, & networking) terkumpul menjadi sebuah sumber daya komputasi besar yang disewakan kepada konsumen secara virtual dan dinamis sesuai permintaan konsumen. Dari seluruh sumber daya yang terkumpul tersebut, konsumen dapat membuat sebesar apapun sumber daya komputasi yang mereka butuhkan. Tentu saja, konsumen harus membayar sesuai dengan apa yang mereka gunakan.
Pengguna cloud computing tidak mengetahui dimana lokasi pasti sumber daya komputasi mereka berada. Tetapi, pada beberapa model cloud computing, pengguna dapat menentukan lokasinya. Biasanya, lokasi tersedia pada level region (misal: Southeast Asia), atau negara.
Sumber daya komputasi yang disediakan biasanya meliputi penyimpanan (storage), processing, memory, networking, dan virtual machine.
Rapid Elasticity
Semua sumber daya komputasi di atas cloud platform dapat dengan cepat di’kembang-kempis’kan. Misalnya, saat penggunaan sumber daya komputasi tiba-tiba meninggi, kemampuan sumber daya komputasi itu dapat dengan mudah ditingkatkan. Spesifikasinya dapat ditinggikan dan dapat diturunkan kembali dengan mudah.
Beberapa penyedia layanan cloud bahkan menyediakan kemampuan sumber daya komputasi yang tidak terbatas. Sehingga satu-satunya keterbatasan hanya ada pada dompet kita. 😀
Measured Service
Sistem cloud secara otomatis mengontrol dan mengoptimalkan penggunaan sumber daya komputasi dengan mengukur penggunaan di beberapa level layanan (misalnya: storage, processing, bandwidth). Penggunaan sumber daya tersebut dapat dipantau baik oleh penyedia layanan cloud maupun oleh pengguna, sehingga menyediakan transparansi bagi kedua belah pihak. Selain itu, layanan yang terukur membuat pengguna hanya membayar apa yang mereka gunakan, seperti membayar rekening listrik.
Model Layanan Cloud Computing
Software as a Service (SaaS)
Pada model SaaS, layanan komputasi yang diberikan kepada konsumen berbentuk aplikasi. Aplikasi tersebut dikelola oleh penyedia layanan dan berjalan di atas infrastruktur cloud. Pengguna dapat mengakses aplikasi tersebut dari perangkat apa saja yang terhubung dengan internet. Pengguna juga tidak perlu mengelola aplikasi, mengelola infrastruktur cloud (OS, server, storage, networking). Pengguna hanya menggunakan aplikasi tersebut dan melakukan konfigurasi sebatas kebutuhan pengguna.
Contoh SaaS yang sering kita gunakan adalah webmail seperti Hotmail, Outlook.com, Gmail, atau Ymail. Kita tidak mengelola aplikasi, OS, server, storage, dan network. Kita hanya menggunakannya dan sedikit melakukan konfigurasi.
Platform as a Service (PaaS)
Pada model PaaS, layanan komputasi yang diberikan kepada konsumen berbentuk platform. Pengguna dapat mendeploy aplikasi buatannya ke cloud platform dengan bahasa pemrograman yang didukung oleh penyedia layanan cloud tersebut. Pengguna tidak mengelola infrastruktur dasar cloud seperti OS, server, storage, dan network. Tapi pengguna memiliki kontrol penuh terhadap aplikasi dan data yang mereka deploy ke cloud platform. Dan pengguna juga dapat melakukan beberapa konfigurasi platform untuk aplikasinya.
Contoh mudah yang mirip dengan PaaS adalah webhosting, dimana kita tinggal upload (deploy) aplikasi web buatan kita ke server, lalu lakukan sedikit konfigurasi, dan aplikasi web kita dapat berjalan dengan baik. Tapi tentu saja webhosting tidak memiliki karakteristik on-demand, pooled resource, rapid elasticity, dan measured service seperti cloud computing.
Infrastructure as a Service (IaaS)
Pada model IaaS, layanan komputasi yang diberikan kepada pelanggan adalah layanan komputasi dasar. Pengguna dapat membuat dan mengelola sendiri sumber daya komputasi yang mereka butuhkan. Misalnya, pengguna dapat membuat VM (virtual machine), memilih OS apa yang ingin terinstall di dalam VM tersebut, software apa saja yang ingin diinstall di dalam VM tersebut, juga data dan aplikasi. Pengguna juga dapat membuat virtual network yang menghubungkan beberapa VM yang telah mereka buat.
Pengguna tidak memiliki kontrol terhadap infrastruktur fisik datacenter, namun pengguna memiliki kontrol terhadap VM, OS, middleware, data, dan aplikasi mereka.
Model Penerapan Cloud Computing
Private Cloud
Infrastruktur cloud yang dioperasikan dan digunakan hanya semata-mata untuk kepentingan organisasi. Pengelolaannya bisa dilakukan oleh pihak organisasi itu sendiri, atau pihak ketiga baik dikelola di dalam atau di luar organisasi tersebut.
Community Cloud
Infrastruktur cloud yang dioperasikan oleh beberapa organisasi, tapi penggunaannya terbatas hanya untuk unit, komunitas, atau divisi tertentu yang menangani masalah atau kepentingan tertentu.
Public Cloud
Infrastruktur cloud yang tersedia untuk umum, baik perseorangan maupun organisasi skala besar. Infrastruktur cloud ini dimiliki dan dikelola oleh penyedia layanan cloud yang menjual layanannya.
Hybrid Cloud
Infrastruktur cloud yang tergabung atas dua atau tiga model penerapan cloud (private, community, public) yang digunakan untuk kepentingan tertentu. Dua atau tiga model penerapan cloud tersebut terikat oleh kesamaan standar teknologi yang digunakan atau kepemilikan sehingga memungkinkan portabilitas data dan aplikasi. Misalnya, cloud bursting untuk load balancing antar cloud.