Cloud Computing
I. Apa itu Cloud Computing?
Untuk memudahkan pemahaman mengenai model cloud computing
kita ambil analogi dari layanan listrik PLN. Tentu kita semua adalah para
pemakai listrik dalam kehidupan sehari-hari. Untuk bisa menikmati listrik, kita
tidak perlu mendirikan infrastruktur pembangkit listrik sendiri, bukan? Yang
perlu kita lakukan adalah mendaftar ke PLN karena PLN sudah menyediakan layanan
listrik ini untuk pelanggan.
Kalau Anda pernah melihat gardu induk PLN, Anda akan melihat
bagaimana rumitnya instalasi listrik disana dengan banyak sekali transformator
dan peralatan berat lainnya (Resource Pooling). Disinilah sumber daya listrik
berpusat untuk kemudian didistribusikan ke pelanggan. Distribusi listrik ke
pelanggan dari gardu induk ini menggunakan kabel listrik yang sudah
distandarisasi. Kabel antara pembangkit listrik dengan gardu induk biasa
dikenal dengan istilah SUTET (Saluran Udara Tegangan Ektra Tinggi). Dari gardu
induk, distribusi kemudian dipecah ke gardu-gardu lain sampai akhirnya sampai
di rumah pelanggan dengan kabel yang lebih kecil. Kabel listrik yang ada ini
menjamin koneksi listrik yang cepat, sehingga layanan listrik bisa dinikmati
terus menerus (Broad Network Access).
Setelah mendaftar, pelanggan bisa memakai energi listrik dan
membayar kepada PLN berdasarkan jumlah penggunaan listrik kita tiap bulan.
Jumlah yang dibayar dihitung dari meteran listrik di rumah pelanggan (Measured
Service). Saat pelanggan butuh daya tambahan karena suatu tujuan khusus
(misalnya saat acara pernikahan keluarga), pelanggan tinggal meminta kepada PLN
untuk menambahkan daya, dan suatu saat nanti ketika ingin menurunkan daya lagi,
pelanggan tinggal meminta juga kepada PLN.
Bisa dikatakan penambahan daya listrik ini bersifat elastis,
untuk menambah daya atau menurukannya bisa dilakukan segera (Rapid Elasticity).
Akan sangat menarik jika kedepannya untuk melakukan penambahan/penurunan daya
tersebut, pelanggan bisa melakukannya sendiri dari suatu alat yang disediakan
oleh PLN., sehingga tidak dibutuhkan lagi interaksi dengan pegawai PLN (Self
Service).
Ketika memakai layanan listrik dari PLN, pelanggan tidak
perlu pusing untuk memikirkan bagaimana PLN memenuhi kebutuhan listrik . Hal
terpenting yang perlu diketahui adalah listrik menyala untuk kebutuhan
sehari-hari, serta berapa tagihan listrik yang perlu dibayar tiap bulannya.
Pelanggan tidak perlu mengetahui secara detail bagaimana PLN merawat infrastruktur
listriknya, bagaimana ketika mereka ada kerusakan alat, bagaimana proses
perawatan alat-alat tersebut, dsb. Intinya, pelanggan cukup tahu bahwa dapat
menikmati listrik dan berkewajiban membayar biaya tersebut tiap bulannya,
sedangkan PLN sendiri berkewajiban untuk memenuhi kebutuhan listrik
pelanggannya.
Nah, analogi PLN di atas adalah gambaran dari layanan Cloud
Computing. Menurut NIST (National Institute of Standards and Technology),
terdapat 5 karakteristik sehingga sistem tersebut disebut Cloud Computing,
yaitu :
1. Resource Pooling
Sumber daya komputasi (storage, CPU, memory, network
bandwidth, dsb.) yang dikumpulkan oleh penyedia layanan (service provider)
untuk memenuhi kebutuhan banyak pelanggan (service consumers) dengan model
multi-tenant. Sumber daya komputasi ini bisa berupa sumber daya fisik ataupun
virtual dan juga bisa dipakai secara dinamis oleh para pelanggan untuk
mencukupi kebutuhannya.
2. Broad Network Access
Kapabilitas layanan dari cloud provider tersedia lewat
jaringan dan bisa diakses oleh berbagai jenis perangkat, seperti smartphone,
tablet, laptop, workstation, dsb.
3. Measured Service
Tersedia layanan untuk mengoptimasi dan memonitor layanan
yang dipakai secara otomatis. Dengan monitoring sistem ini, kita bisa melihat
berapa resources komputasi yang telah dipakai, seperti: bandwidth , storage,
processing, jumlah pengguna aktif, dsb. Layanan monitoring ini sebagai bentuk
transparansi antara cloud provider dan cloud consumer.
4. Rapid Elasticity
Kapabilitas dari layanan cloud provider bisa dipakai oleh
cloud consumer secara dinamis berdasarkan kebutuhan. Cloud consumer bisa
menaikkan atau menurunkan kapasitas layanan. Kapasitas layanan yang disediakan
ini biasanya tidak terbatas, dan service consumer bisa dengan bebas dan mudah
memilih kapasitas yang diinginkan setiap saat.
5. Self Service
Cloud Consumer bisa mengkonfigurasikan secara mandiri
layanan yang ingin dipakai melalui sebuah sistem, tanpa perlu interaksi manusia
dengan pihak cloud provider. Konfigurasi layanan yang dipilih ini harus
tersedia segera dan saat itu juga secara otomatis.
Kelima karakteristik Cloud Computing tersebut harus ada di
service provider jika ingin disebut sebagai penyedia layanan Cloud Computing.
Salah satu saja dari layanan tersebut tidak terpenuhi, maka penyedia layanan
tersebut belum/tidak pantas disebut sebagai cloud provider.
II. Layanan Cloud Computing
Setelah pengguna mengetahui karakteristik dari Cloud
Computing, berikutnya akan dibahas jenis-jenis layanan dari Cloud Computing.
NIST sendiri membagi jenis layanan Cloud Computing menjadi tiga sebagai
berikut:
1. Software as a Service (SaaS)
SaaS adalah layanan dari Cloud Computing dimana pelanggan
dapat menggunakan software (perangkat lunak) yang telah disediakan oleh cloud
provider. Pelanggan cukup tahu bahwa perangkat lunak bisa berjalan dan bisa
digunakan dengan baik.
Contoh dari layanan SaaS ini antara lain adalah :
Layanan produktivitas: Office365, GoogleDocs, Adobe Creative
Cloud, dsb.
Layanan email: Gmail, YahooMail, LiveMail, dsb.
Layanan social network: Facebook, Twitter, Tagged, dsb.
Layanan instant messaging: YahooMessenger, Skype, GTalk,
dsb.
Selain contoh di atas, tentu masih banyak lagi contoh yang
lain. Dalam perkembangannya, banyak perangkat lunak yang dulu hanya bisa dinikmati
dengan menginstal aplikasi tersebut di komputer kita (on-premise) mulai bisa
dinikmatidengan layanan Cloud Computing.
Keuntungan dari SaaS ini adalah kita tidak perlu membeli
lisensi software lagi. Kita tinggal berlangganan ke cloud provider dan tinggal
membayar berdasarkan pemakaian.
2. Platform as a Service (PaaS)
PaaS adalah layanan dari Cloud Computing kita bisa menyewa
“rumah” berikut lingkungannya, untuk menjalankan aplikasi yang telah dibuat.
Pelanggan tidak perlu pusing untuk menyiapkan “rumah” dan memelihara “rumah”
tersebut. Yang penting aplikasi yang dibuat dapat berjalan dengan baik.
Pemeliharaan “rumah” ini (sistem operasi, network, database engine, framework
aplikasi, dll) menjadi tanggung jawab dari penyedia layanan.
Sebagai analogi, misalkan ingin menyewa kamar hotel, kita
tinggal tidur di kamar yang sudah disewa, tanpa peduli bagaimana “perawatan”
dari kamar dan lingkungan kamar. Yang terpenting adalah, suasananya nyaman
untuk digunakan. Jika suatu saat dibuat tidak nyaman, maka pelanggan dapat
pindah ke hotel lain yang lebih bagus layanannya.
Contoh penyedia layanan PaaS: Amazon Web Service, Windows
Azure, dan GoogleApp Engine
Keuntungan dari PaaS bagi pengembang dapat fokus pada
aplikasi yang sedang dikembangkan tanpa harus memikirkan “rumah” untuk
aplikasi, dikarenakan ahl tersebut sudah menjadi tanggung jawab cloud provider.
3. Infrastructure as a Service (IaaS)
IaaS adalah layanan dari Cloud Computing sewaktu kita bisa
“menyewa” infrastruktur IT (unit komputasi, storage, memory, network, dsb).
Dapat didefinisikan berapa besar unit komputasi (CPU), penyimpanan data
(storage), memory (RAM), bandwidth , dan konfigurasi lainnya yang akan disewa.
Untuk lebih mudahnya, layanan IaaS ini adalah seperti menyewa komputer yang
masih kosong. Kita sendiri yang mengkonfigurasi komputer ini untuk digunakan
sesuai dengan kebutuhan kita dan bisa kita install sistem operasi dan aplikasi
apapun diatasnya.
Contoh penyedia layanan IaaS : Amazon EC2, Rackspace Cloud,
Windows Azure, dsb. Keuntungan dari IaaS ini adalah kita tidak perlu membeli
komputer fisik, dan konfigurasi
komputer virtual tersebut dapat diubah (scale up/scale down)
dengan mudah. Sebagai contoh, saat komputer virtual tersebut sudah kelebihan
beban, kita bisa tambahkan CPU, RAM, Storage, dsb. dengan segera.
Setelah kita tahu jenis layanan dari cloud computing,
sekarang kita bahas tentang deployment model dari cloud computing. Menurut
NIST, ada empat deployment model dari cloud computing ini, yaitu:
a. Public Cloud
Adalah layanan Cloud Computing yang disediakan untuk
masyarakat umum. Pengguna bisa langsung mendaftar ataupun memakai layanan yang
ada. Banyak layanan Public Cloud yang gratis, dan ada juga yang perlu membayar
untuk bisa menikmati layanannya.
Contoh Public Cloud yang gratis: GoogleMail, Facebook,
Twitter, Live Mail, dsb.
Contoh Public Cloud yang berbayar: Sales Force, Office365,
GoogleApps, dsb.
Keuntungan: Pengguna tidak perlu berinvestasi untuk merawat
serta membangun infrastruktur, platform, ataupun aplikasi. Kita tinggal memakai
secara gratis (untuk layanan yang gratis) atau membayar sebanyak pemakaian (pay
as you go). Dengan pendekatan ini,
kita bisa mengurangi dan merubah biaya Capex (Capital
Expenditure) menjadi Opex (Operational Expenditure).
Kerugian: Sangat tergantung dengan kualitas layanan internet
(koneksi) yang kita pakai. Jika koneksi internet mati, maka tidak ada layanan
yang dapat diakses. Untuk itu, perlu dipikirkan secara matang infrastruktur
internetnya.
b. Private Cloud
Adalah layanan cloud computing yang disediakan untuk
memenuhi kebutuhan internal dari organisasi/perusahaan. Biasanya departemen IT
akan berperan sebagai service provider (penyedia layanan) dan departemen lain
menjadi service consumer. Sebagai service provider, tentu saja Departemen IT
harus bertanggung jawab agar layanan bisa berjalan dengan baik sesuai dengan
standar kualitas layanan yang telah ditentukan oleh perusahaan, baik
infrastruktur, platform, maupun aplikasi yang ada.
Contoh layanannya:
SaaS: Web Application, Mail Server, Database Server untuk
keperluan internal.
PaaS: Sistem Operasi + Web Server + Framework + Database
yang untuk internal.
IaaS: Virtual machine yang bisa di-request sesuai dengan
kebutuhan internal.
Keuntungan: Menghemat bandwidth internet ketika layanan itu
hanya diakses dari jaringan internal.Proses bisnis tidak tergantung dengan
koneksi internet, akan tetapi tetap saja tergantung dengan koneksi jaringan
lokal (intranet).
Kerugian: Investasi besar, karena kita sendiri yang harus
menyiapkan infrastrukturnya. utuh tenaga kerja untuk merawat dan menjamin
layanan berjalan dengan baik.
c. Hybrid Cloud
Adalah gabungan dari layanan Public Cloud dan Private Cloud
yang diimplementasikan oleh suatu organisasi/perusahaan. Dalam Hybrid Cloud
ini, kita bisa memilih proses bisnis mana yang bisa dipindahkan ke Public Cloud
dan proses bisnis mana yang harus tetap berjalan di Private Cloud.
Contohnya:
Perusahaan A menyewa layanan dari GoogleApp Engine (Public
Cloud) sebagai “rumah” yang dipakai untuk aplikasi yang mereka buat. Di negara
tersebut ada aturan kalau data nasabah dari sebuah perusahaan tidak boleh
disimpan pada pihak ketiga. Untuk menaati peraturan yang ada, data nasabah dari
perusahaan A tetap disimpan pada database mereka sendiri (Private Cloud), dan
aplikasi akan melakukan konektifitasnya ke database internal tersebut.
Perusahaan B menyewa layanan dari Office365 (Public Cloud).
Karena perusahaan B tersebut sudah mempunyai banyak user yang tersimpan di
Active Directory yang berjalan di atas Windows Server mereka (Private Cloud),
akan lebih efektif kalau Active Directory tersebut dijadikan identity untuk
login ke Office365.
Keuntungan: Keamanan data terjamin karena data dapat
dikelola sendiri (hal ini TIDAK berarti penyimpan data di public cloud tidak
aman, ya).
Lebih leluasa untuk memilih mana proses bisnis yang harus
tetap berjalan di private cloud dan mana proses bisnis yang bisa dipindahkan ke
public cloud dengan tetap menjamin integrasi dari keduanya.
Kerugian: Untuk aplikasi yang membutuhkan integrasi antara
public cloud dan private cloud, infrastruktur internet harus dipikirkan secara
matang.
d. Community Cloud
Adalah layanan Cloud Computing yang dibangun eksklusif untuk
komunitas tertentu, yang consumer-nya berasal dari organisasi yang mempunyai
perhatian yang sama atas sesuatu/beberapa hal, misalnya saja standar keamanan,
aturan, compliance, dsb. Community Cloud ini bisa dimiliki, dipelihara, dan
dioperasikan oleh satu atau lebih organisasi dari komunitas tersebut, pihak
ketiga, ataupun kombinasi dari keduanya.
Keuntungan: Bisa bekerja sama dengan organisasi lain dalam
komunitas yang mempunyai kepentingan yang sama. Melakukan hal yang sama
bersama-sama tentunya lebih ringan daripada melakukannya sendiri.
Kerugian: Ketergantungan antar organisasi jika tiap-tiap
organisasi tersebut saling berbagi sumber daya.
Penutup
Kesimpulan
Tulisan Pengantar Cloud Computing ini diharapkan bisa
memberikan gambaran awal bagi Anda yang belum memahami mengenai Cloud
Computing. Setelah Anda paham mengenai karakteristik, jenis layanan, dan
deployment model dari cloud computing ini, Anda bisa mulai untuk mendalami
sesuai dengan ketertarikan masing-masing. Dalam perkembangannya banyak sekali
penyedia layanan SaaS, PaaS ataupun IaaS yang bisa Anda pertimbangkan untuk
memenuhi kebutuhan anda.
Daftar Pustaka
Buku :
Budiyanto Alex. (2012). "Pengantar Cloud
Lomputing".
Website :
http://cahyoikhsan.blogspot.com/2014/11/cloud-computing.html
Komentar