CLOUD COMPUTING
Definisi Cloud Computing
Ketika kita membicarakan
Cloud Computing, sebenarnya apakah kita membicarakan hal yang sama? Banyak
pihak memberikan definisi cloud computing dengan perbedaan di sana-sini.
Wikipedia mendefinisikan cloud computing sebagai
“komputasi berbasis Internet, ketika banyak server digunakan bersama untuk
menyediakan sumber daya, perangkat lunak dan data pada komputer atau perangkat
lain pada saat dibutuhkan, sama seperti jaringan listrik”.
Gartner mendefinisikannya sebagai “sebuah cara
komputasi ketika layanan berbasis TI yang mudah dikembangkan dan lentur
disediakan sebagai sebuah layanan untuk pelanggan menggunakan teknologi
Internet.”
Forester mendefinisikannya sebagai “standar kemampuan
TI, seperti perangkat lunak, platform aplikasi, atau infrastruktur, yang
disediakan menggunakan teknologi Internet dengan cara swalayan dan
bayar-per-pemakaian.”
Secara sederhana, Cloud Computing dapat kita
bayangkan seperti sebuah jaringan listrik. Apabila kita membutuhkan listrik,
apakah kita harus punya pembangkit listrik sendiri? Tentu tidak. Kita tinggal
menghubungi penyedia layanan (dalam hal ini, PLN), menyambungkan rumah kita
dengan jaringan listrik, dan kita tinggal menikmati layanan tersebut.
Pembayaran kita lakukan bulanan sesuai pemakaian.
Kalau listrik bisa seperti itu, mengapa layanan
komputasi tidak bisa? Misalnya, apabila sebuah perusahaan membutuhkan aplikasi
CRM (Customer Relationship Management). Kenapa perusahaan tersebut harus membeli
aplikasi CRM, membeli hardware server, dan kemudian harus memiliki tim TI
khusus untuk menjaga server dan aplikasi tersebut?
Di sinilah cloud
computing berperan. Penyedia jasa cloud computing seperti Microsoft, telah
menyediakan aplikasi CRM yang dapat digunakan langsung oleh perusahaan tadi.
Mereka tinggal menghubungi penyedia layanan (dalam hal ini, Microsoft),
“menyambungkan” perusahaannya dengan layanan tersebut (dalam hal ini, melalui
Internet), dan tinggal menggunakannya. Pembayaran? Cukup dibayar per bulan
(atau per tahun, tergantung kontrak) sesuai pemakaian. Tidak ada lagi investasi
di awal yang harus dilakukan.
Karakteristik Cloud Computing
Sangat cepat di deploy, sehingga cepat berarti
instant untuk implementasi.
1. On-Demand Self-Services
Sebuah layanan cloud
computing harus dapat dimanfaatkan oleh pengguna melalui mekanisme
swalayan dan langsung tersedia pada saat dibutuhkan. Campur tangan penyedia
layanan adalah sangat minim. Jadi, apabila kita saat ini membutuhkan layanan
aplikasi CRM (sesuai contoh di awal), maka kita harus dapat mendaftar secara
swalayan dan layanan tersebut langsung tersedia saat itu juga.
2. Broad Network Access
Sebuah layanan cloud
computing harus dapat diakses dari mana saja, kapan saja, dengan alat apa pun,
asalkan kita terhubung ke jaringan layanan. Dalam contoh layanan aplikasi CRM
di atas, selama kita terhubung ke jaringan Internet, saya harus dapat mengakses
layanan tersebut, baik itu melalui laptop, desktop, warnet, handphone, tablet,
dan perangkat lain.
3. Resource Pooling
Sebuah layanan cloud
computing harus tersedia secara terpusat dan dapat membagi sumber daya secara
efisien. Karena cloud computing digunakan bersama-sama oleh berbagai pelanggan,
penyedia layanan harus dapat membagi beban secara efisien, sehingga sistem dapat
dimanfaatkan secara maksimal.
4. Rapid Elasticity
Sebuah layanan cloud
computing harus dapat menaikkan (atau menurunkan) kapasitas sesuai kebutuhan.
Misalnya, apabila pegawai di kantor bertambah, maka kita harus dapat menambah
user untuk aplikasi CRM tersebut dengan mudah. Begitu juga jika pegawai
berkurang. Atau, apabila kita menempatkan sebuah website berita dalam jaringan
cloud computing, maka apabila terjadi peningkatkan traffic karena ada berita
penting, maka kapasitas harus dapat dinaikkan dengan cepat.
5. Measured Service
Sebuah layanan cloud
computing harus disediakan secara terukur, karena nantinya akan digunakan dalam
proses pembayaran. Harap diingat bahwa layanan cloud computing dibayar
sesuai penggunaan, sehingga harus terukur dengan baik.
Layanan Cloud
Computing
Terdapat 3 jenis layanan
Cloud Computing seperti gambar di atas. Kita mulai dari yang disebut Software
as a Service (SaaS), kemudian Platform as a Service (PaaS) dan terakhir
Infrastructure as a Service (IaaS).
1. 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.
2. 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.
3. 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.
Beberapa investor saat ini masih mencoba untuk
mengekplorasi adopsi teknologi cloud ini untuk dijadikan bisnis
sebagaimanaAmazon dan Google telah memiliki penawaran khusus pada untuk
teknologi cloud, Microsoft dan IBM juga telah melakukan investasi jutaan dollar
untuk ini.
Melihat dari tren ini kita dapat memprediksi masa
depan, standard teknologi akan menjadi lebih sederhana karena ketersediaan dari
banyak cloud service.
Resiko dalam Penggunaan Cloud Computing
Sebagaimana yang dikatakan sebagai bisnis
service, dengan teknologi cloud anda sebaiknya mengetahui dan memastikan apa
yang anda bayar dan apa yang anda investasikan sepenuhnya memang untuk
kebutuhan anda menggunakan service ini. Anda harus memperhatikan beberapa
bagian yaitu:
1. Service level – Cloud provider mungkin
tidak akan konsisten dengan performance dari application atau transaksi. Hal
ini mengharuskan anda untuk memahami service level yang anda dapatkan mengenai
transaction response time, data protection dan kecepatan data recovery.
2. Privacy - Karena orang lain / perusahaan
lain juga melakukan hosting kemungkinan data anda akan keluar atau di baca oleh
pemerintah U.S. dapat terjadi tampa sepengetahuan anda atau approve dari anda.
3. Compliance - Anda juga harus
memperhatikan regulasi dari bisnis yang anda miliki, dalam hal ini secara
teoritis cloud service provider diharapkan dapat menyamakan level compliance
untuk penyimpanan data didalam cloud, namun karena service ini masih sangat
muda anda diharapkan untuk berhati hati dalam hal penyimpanan data.
4. Data ownership – Apakah data anda masih
menjadi milik anda begitu data tersebut tersimpan didalam cloud? mungkin
pertanyaan ini sedikit aneh, namun anda perlu mengetahui seperti hal nya yang
terjadi pada Facebook yang mencoba untuk merubah terms of use aggrement nya
yang mempertanyakan hal ini.
5. Data Mobility – Apakah anda dapat
melakukan share data diantara cloud service? dan jika anda terminate cloud
relationship bagaimana anda mendapatkan data anda kembali? Format apa yang akan
digunakan ? atau dapatkah anda memastikan kopi dari data nya telah terhapus ?
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.