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.