A. Pendahuluan
Perkembangan teknologi di era ini
menggunakan konsep – konsep seperti social networking, open, share,
colaborations, mobile, easy maintenance, one click, terdistribusi, scalability,
concurency, dan transparan. Sampai saat ini trend teknologi Cloud Computing
masih terus diteliti dalam penelitian – penelitian para pakar IT dunia. Dengan
berbagai kelebihan dan kekurangan, Cloud Computing hadir dengan memudahkan
akses data dari mana saja dan kapan saja, karena dengan memanfaatkan internet
dan menggunakan perangkat fixed atau mobile device menggunakan internet cloud
sebagai tempat penyimpanan data, aplikasi dan lainya. Teknologi ini akan
memberikan banyak keuntungan baik dari sisi pemberi layanan (provider) atau
dari sisi user. Penerapan teknologi ini memberikan dampak yang sangat
signifikan bagi pengembangan teknologi itu sendiri, baik dari sisi pengguna
maupun dari sisi industri.
Pengguna diuntungkan dengan semakin
mudahnya memperoleh atau mengunduh data secara cepat dan mudah karena banyak
layanan yang dibuka oleh pihak industri. Keuntungan bagi pihak industri pun
tidak kalah besar dengan kemudahan yang didapat oleh pengguna, karena dengan
semakin majunya teknologi cloud computing akan semakin memudahkan industri
untuk memasarkan produk dan menyebarkan informasi secara meluas keseluruh
penjuru dunia. Secara umum, definisi cloud computing (komputasi awan) merupakan
gabungan pemanfaatan teknologi komputer (komputasi) dalam suatu jaringan dengan
pengembangan berbasis internet (awan) yang mempunyai fungsi untuk menjalankan
program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu
yang sama, tetapi tak semua yang terkonekasi melalui internet menggunakan cloud
computing.
Teknologi komputer berbasis sistem
Cloud ini merupakan sebuah teknologi yang menjadikan internet sebagai pusat
server untuk mengelola data dan juga aplikasi pengguna. Teknologi ini
mengizinkan para pengguna untuk menjalankan program tanpa instalasi dan
mengizinkan pengguna untuk mengakses data pribadi mereka melalui komputer
dengan akses internet.
a.
Manfaat
Cloud Computing Serta Penerapan Dalam Kehidupan Sehari – hari
Setelah penjabaran definisi singkat
diatas tentu penggunaan teknologi dengan sistem cloud cukup memudahkan pengguna
selain dalam hal efisiensi data, juga penghematan biaya. Berikut manfaat
manfaat yang dapat dipetik lewat teknologi berbasis sistem cloud.
1.
Semua Data
Tersimpan di Server Secara Terpusat
Salah satu keunggulan teknologi
cloud adalah memungkinkan pengguna untuk menyimpan data secara terpusat di satu
server berdasarkan layanan yang disediakan oleh penyedia layanan Cloud
Computing itu sendiri. Selain itu, pengguna juga tak perlu repot repot lagi
menyediakan infrastruktur seperti data center, media penyimpanan/storage dll
karena semua telah tersedia secara virtual.
2.
Keamanan
Data
Keamanan data pengguna dapat
disimpan dengan aman lewat server yang disediakan oleh penyedia layanan Cloud
Computing seperti jaminan platform teknologi, jaminan ISO, data pribadi, dll.
3.
Fleksibilitas
dan Skalabilitas yang Tinggi
Teknologi Cloud menawarkan
fleksibilitas dengan kemudahan data akses, kapan dan dimanapun kita berada
dengan catatan bahwa pengguna (user) terkoneksi dengan internet. Selain itu,
pengguna dapat dengan mudah meningkatkan atau mengurangi kapasitas penyimpanan
data tanpa perlu membeli peralatan tambahan seperti hardisk. Bahkan salah satu
praktisi IT kenamaan dunia, mendiang Steve Jobs mengatakan bahwa membeli memori
fisik untuk menyimpan data seperti hardisk merupakan hal yang percuma jika kita
dapat menyimpan nya secara virtual/melalui internet.
4.
Investasi
Jangka Panjang
Penghematan biaya akan pembelian
inventaris seperti infrastruktur, hardisk, dll akan berkurang dikarenakan
pengguna akan dikenakan biaya kompensasi rutin per bulan sesuai dengan paket
layanan yang telah disepakati dengan penyedia layanan Cloud Computing. Biaya
royalti atas lisensi software juga bisa dikurangi karena semua telah dijalankan
lewat komputasi berbasis Cloud.
Penerapan Cloud Computing telah
dilakukan oleh beberapa perusahaan IT ternama dunia seperti Google lewat
aplikasi Google Drive, IBM lewat Blue Cord Initiative, Microsoft melalui sistem
operasi nya yang berbasis Cloud Computing, Windows Azure dsb. Di kancah nasional
sendiri penerapan teknologi Cloud juga dapat dilihat melalui penggunaan Point
of Sale/program kasir.
Salah satu perusahaan yang
mengembangkan produknya berbasis dengan sistem Cloud adalah DealPOS. Metode
kerja Point of Sale (POS) ini adalah dengan mendistribusikan data penjualan
toko retail yang telah diinput oleh kasir ke pemilik toko retail melalui
internet dimanapun pemilik toko berada. Selain itu, perusahaan
telekomunikasi ternama nasional, Telkom juga turut mengembangkan sistem
komputasi berbasis Cloud ini melalui Telkom Cloud dengan program Telkom VPS dan
Telkom Collaboration yang diarahkan untuk pelanggan UKM (Usaha Kecil-Menengah).
b.
Cara Kerja
Sistem Cloud Computing
Sistem Cloud bekerja menggunakan
internet sebagai server dalam mengolah data. Sistem ini memungkinkan pengguna
untuk login ke internet yang tersambung ke program untuk menjalankan aplikasi
yang dibutuhkan tanpa melakukan instalasi. Infrastruktur seperti media penyimpanan
data dan juga instruksi/perintah dari pengguna disimpan secara virtual melalui
jaringan internet kemudian perintah – perintah tersebut dilanjutkan ke server
aplikasi. Setelah perintah diterima di server aplikasi kemudian data diproses
dan pada proses final pengguna akan disajikan dengan halaman yang telah
diperbaharui sesuai dengan instruksi yang diterima sebelumnya sehingga konsumen
dapat merasakan manfaatnya.
Contohnya lewat penggunaan email
seperti Yahoo ataupun Gmail. Data di beberapa server diintegrasikan secara
global tanpa harus mendownload software untuk menggunakannya. Pengguna hanya
memerlukan koneksi internet dan semua data dikelola langsung oleh Yahoo dan
juga Google. Software dan juga memori atas data pengguna tidak berada di
komputer tetapi terintegrasi secara langsung melalui sistem Cloud menggunakan
komputer yang terhubung ke internet.
c.
Kekurangan
Cloud Computing
Hal yang paling wajib dalam cloud
computing adalah koneksi internet, internet bisa dibilang jalan satu – satunya
untuk menuju ke cloud computing, ketika tidak ada koneksi internet ditempat
kita berada, maka jangan harap bisa menggunakan sistem cloud computing. Hal ini
masih menjadi hambatan khususnya bagi Indonesia, karena belum semua wilayah di
tanah air terjangkau oleh akses internet, ditambah lagi sekalipun ada koneksi
internet, koneksinya belum stabil dan kurang memadai. Kerahasiaan dan keamanan
adalah salah satu hal yang paling diragukan pada komputasi awan. Karena dengan
menggunakan sistem cloud computing ini berarti kita mempercayakan sepenuhnya
atas keamanan dan kerahasiaan data – data kepada perusahaan penyedia server
komputasi awan (cloud computing). Contoh yang paling sederhana adalah ketika
anda menyimpan foto – foto anda di facebook dengan beberapa konfigurasi privasi
yang diberikan kepada kita, maka selebihya kita mempercayakan keamanan file –
file tersebut kepada facebook. Andaikata foto – foto tersebut hilang kita tidak
bisa menuntut karena kita memanfaatkan jasa tersebut secara cuma – cuma alias
gratis.
B.
Pengantar Komputasi Grid
Komputasi Grid sebenarnya merupakan
sebuah aplikasi pengembangan dari jaringan komputer (network). Hanya saja,
tidak seperti jaringan komputer konvensional yang berfokus pada komunikasi
antar piranti (device), aplikasi pada grid computing dirancang untuk
memanfaatkan sumber daya pada terminal dalam jaringannya. Grid Computing
biasanya diterapkan untuk menjalankan sebuah fungsi yang terlalu kompleks atau
terlalu intensif untuk dikerjakan oleh satu sistem tunggal. Seperti halnya
pengguna internet yang mengakses berbagai situs web dan menggunakan berbagai
protokol seakan – akan dalam sebuah sistem yang berdiri sendiri, maka pengguna
aplikasi Grid Computing seolah – olah akan menggunakan sebuah virtual komputer
dengan kapasitas pemrosesan data yang sangat besar.
Menurut definisi Grid Computing atau
Komputasi Grid merupakan salah satu dari tipe data komputasi paralel. Karena
penggunaan sumber daya nya melibatkan banyak komputer terpisah secara geografis
namun tersambung via jalur komunikasi (termasuk internet) untuk memecahkan
persoalan komputasi skala besar. Semakin cepat jalur komunikasi terbuka, maka
peluang untuk menggabungkan kinerja komputasi dari sumber – sumber komputer
yang terpisah menjadi semakin meningkat. Dengan demikian, skala komputasi
terdistribusi dapat ditingkatkan secara geografis lebih jauh lagi, melintasi
batas – batas domain administrasi yang ada.
Semakin cepat jalur komunikasi
terbuka, maka peluang untuk menggabungkan kinerja komputasi dari sumber-sumber
komputasi yang terpisah menjadi semakin meningkat. Dengan demikian, skala
komputasi terdistribusi dapat ditingkatkan secara geografis lebih jauh lagi,
melintasi batas-batas domain administrasi yang ada. Suatu sistem melakukan
komputasi grid yaitu :
- Sistem
tersebut melakukan koordinasi terhadap sumberdaya komputasi yang tidak berada
dibawah suatu kendali terpusat. Seandainya sumber daya yang digunakan berada
dalam satu cakupan domain administratif, maka komputasi tersebut belum dapat
dikatakan komputasi grid.
- Sistem
tersebut menggunakan standard dan protokol yang bersifat terbuka (tidak terpaut
pada suatu implementasi atau produk tertentu). Komputasi grid disusun dari
kesepakatan-kesepakatan terhadap masalah yang fundamental, dibutuhkan untuk
mewujudkan komputasi bersama dalam skala besar. Kesepakatan dan standar yang
dibutuhkan adalah dalam bidang autentikasi, otorisasi, pencarian sumberdaya,
dan akses terhadap sumber daya. Misalnya TCP/IP.
- Sistem
tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial
quality of service) yang jauh diatas kualitas layanan komponen individu dari
komputasi grid tersebut.
Beberapa konsep dasar dari Komputasi Grid
- Sumber daya
dikelola dan dikendalikan secara lokal.
- Sumber daya
berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup Sumber daya
komputasi dikelola oleh sistem batch berbeda, Sistem storage berbeda pada node berbeda,
Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda
pada Grid.
- Sifat alami
dinamis: Sumber daya dan pengguna dapat sering berubah.
- Lingkungan kolaboratif
bagi e-community (komunitas elektronik, di internet)
Tiga hal yang di-sharing dalam
sebuah sistem grid, antara lain : Resource, Network dan Proses. Kegunaan /
layanan dari sistem grid sendiri adalah untuk melakukan high throughput
computing dibidang penelitian, ataupun proses komputasi lain yang memerlukan
banyak resource komputer. Secara generik, keuntungan dasar dari penerapan
komputasi Grid, yaitu:
- Perkalian
dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle.
- Lebih cepat
dan lebih besar: Komputasi simulasi dan penyelesaian masalah dapat berjalan lebih cepat dan mencakup domain yang lebih luas.
- Software dan
aplikasi: Pool dari aplikasi dan pustaka standard, Akses terhadap model dan
perangkat berbeda, Metodologi penelitian yang lebih baik.
4.
C.
Virtualisasi
Ada dua istilah yang sedang popouler
saat ini dalam hal teknologi komputasi, yaitu Virtualisasi dan Cloud computing,
namun saat ini sepertinya banyak yang menganggap bahwa virtualisasi dan cloud
computing adalah hal yang sama, padahal sebenarnya cloud computing itu lebih
dari sekedar virtualisasi.
Virtualisasi adalah sebuah
teknologi, yang memungkinkan anda untuk membuat versi virtual dari sesuatu yang
bersifat fisik, misalnya sistem operasi, storage data atau sumber daya
jaringan. Proses tersebut dilakukan oleh sebuah software atau firmware bernama
Hypervisor. Hypervisor inilah yang menjadi nyawanya virtualisasi, karena dialah
layer yang “berpura – pura” menjadi sebuah infrastruktur untuk menjalankan
beberapa virtual machine. Dalam prakteknya, dengan membeli dan memiliki satu
buah mesin, anda seolah – olah memiliki banyak server, sehingga anda bisa
mengurangi pengeluaran IT untuk pembelian server baru, komponen, storage, dan
software pendukung lainnya.
Dalam hardware virtualization,
perangkat lunak bekerja membentuk sebuah virtual machine yang bertindak
seolah-olah seperti sebuah komputer asli dengan sebuah sistem operasi
terinstall di dalamnya. Salah contoh yang mudah misalkan terdapat satu buah
komputer yang telah terinstall GNU/Linux Ubuntu. Kemudian dengan menggunakan
perangkat lunak virtualization semisal Virtualbox kita dapat menginstall dua
buah sistem operasi lain sebagai contoh Windows XP dan FreeBSD.
Sistem operasi yang terinstall di
komputer secara fisik dalam hal ini GNU/Linux Ubuntu disebut sebagai host machine
sedangkan sistem operasi yang diinstall diatasnya dinamakan guest machine.
Istilah host dan guest dikenalkan untuk memudahkan dalam membedakan antara
sistem operasi fisik yang terinstall di komputer dengan sistem operasi yang
diinstall diatasnya atau virtualnya.
Perangkat lunak yang digunakan untuk
menciptakan virtual machine pada host machine biasa disebut sebagai hypervisor
atau Virtual Machine Monitor (VMM). Menurut Robert P. Goldberg pada tesisnya
yang berjudul “Architectural Principles For Virtual Computer Systems” pada hal
23 menyebutkan bahwa tipe-tipe dari VMM ada 2 yaitu :
- · Type
1 berjalan pada fisik komputer yang ada secara langsung. Pada jenis ini
hypervisor / VMM benar-benar mengontrol perangkat keras dari komputer
host-nya. Termasuk mengontrol sistem operasi-sistem operasi guest-nya. Contoh
implementasi yang ada dan sudah saya coba secara langsung ialah VMWare ESXi.
Adapun contoh yang lain yang ada seperti Microsoft Hyper-V
- · Type
2 berjalan pada sistem operasi diatasnya. Pada tipe ini tentunya guest
sistem operasi nya berada di layer diatasnya lagi.
Jenis virtualisasi perangkat-keras adalah sebagai
berikut :
Istilah virtualisasi
perangkat-keras mengacu kepada upaya menciptakan mesin
virtual yang bekerja layaknya sebuah komputer lengkap dengan sistem
operasi. Istilah mesin tuan-rumah(host) mengacu kepada mesin
tempat virtualisasi bersemayam sementara istilah mesin tamu(guest) mengacu
kepada virtual mesin itu sendiri. Istilah hyperviso mengacu kepada
perangkat-lunak atau firmware yang membuat mesin virtual.
- ·
Para-virtualisasi:Perangkat
keras tidak disimulasikan tetapi perangkat-lunak tamu berjalan dalam domainnya
sendiri seolah-olah dalam sistem yang berbeda. Dalam hal ini perangkat-lunak
tamu perlu disesuaikan untuk dapat berjalan.
- · Virtualisasi
sebagian:Tidak semua aspek lingkungan disimulasikan tidak semua perangkat-lunak
dapat langsung berjalan, beberapa perlu disesuaikan untuk dapat berjalan dalam
lingkungan virtual ini.
- · Virtualisasi
penuh:Hampir menyerupai mesin asli dan mampu menjalankan perangkat lunak tanpa
perlu diubah.
Virtualisasi perangkat-keras harus
dibedakan dengan emulasi perangkat-keras. Pada emulasi perangkat-keras sebuah
perangkat-keras meniru kerja perangkat-keras lain, sementara pada virtualisasi
perangkat-keras sebuah hypervisor (sebuah software) meniru kerja
perangkat keras tertentu atau bahkan keseluruhan komputer. Lebih lanjuthypervisor jangan dirancu dengan emulator.
Keduanya mempunyai definisi yang sama tapi domain pembicaraannya berbeda.
Dari Wikipedia bahasa Indonesia,
ensiklopedia bebas Virtualisasi Desktop merupakan hasil teknologi dengan konsep
Virtual Desktop Infrastructure (VDI) yang sedang berkembang. Dimana desktop
adalah komputer kerja juga bisa disebut komputer meja yang dipakai
untuk kerja sehari–hari dalam satu lokasi bisa di rumah maupun di kantor. Dan
lebih diperuntukkan kepada perusahaan dengan karyawan yang menggunakan
komputer, sehingga desktop (komputer kerja) tidak lagi harus wujud fisik
komputer yang besar tetapi sudah dalam bentuk virtual yang akan dapat diakses
dengan model klien-server.
Dengan penerapan teknologi virtualisasi
desktop di lingkungan perusahaan ataupun penyedia komputasi
awan tentu ada pertimbangan–pertimbangan yang harus diperhatikan.
Keuntungan–keuntungan
penerapan virtualisasi desktop :
- Membangun
atau provisioning desktop baru secara sistem operasi lebih mudah
- Penyerdehanaan
sistem operasi dan aplikasi
- Mengurangi
downtime apabila: kegagalan hardware dan proses migrasi data
- Mobile akses
dengan data terpusat
- Dari
pengguna bisa menggunakan platformapapun karena yang dibutuhkan adalah
fungsi remote
Kekurangan-kekurangan penerapan virtualisasi desktop :
- Potensi
risiko keamanan jaringan tidak dikelola dengan baik
- Kesulitan
aplikasi kompleks (seperti multimedia)
- Downtime jaringan
akan berakibat fatal dan berdampak ke semua user atau pengguna
- Ketergantungan
konektivitas jaringan publik.
D. Distributed
Computation dalam Cloud Computing
Komputasi terdistribusi merupakan bidang
ilmu komputer yang mempelajari sistem terdistribusi. Sebuah sistem
terdistribusi terdiri dari beberapa komputer otonom yang berkomunikasi melalui
jaringan komputer. Komputer yang saling berinteraksi untuk mencapai tujuan
bersama. Suatu program komputer yang berjalan dalam sistem terdistribusi
disebut program didistribusikan, dan didistribusikan pemrograman adalah proses
menulis program tersebut. Distributed computing juga mengacu pada penggunaan
sistem terdistribusi untuk memecahkan masalah komputasi. Dalam distributed
computing, masalah dibagi menjadi banyak tugas, masing-masing yang diselesaikan
oleh satu komputer.
Kegiatan ini merupakan kumpulan beberapa
computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan
menerima data serta melakukan interaksi lain antar computer yang dimana
membutuhkan sebuah jaringan agar computer satu dan lainnya bisa saling
berhubung dan melakukan interaksi. Hal ini semua dilakukan dengan cloud
computing yang seperti kita ketahui memberikan layanan dimana informasinya
disimpan di server secara permanen dan disimpan di computer client secara
temporary.
Komputasi Terdistribusi merupakan salah
satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber daya
secara parallel, para pengguna juga bisa memanfaatkannya secara bersamaan
(tidak harus menunggu dalam antrian untuk mendapatkan pelayanan), terdiri dari
banyak sistem sehingga jika salah satu sistem crash, sistem lain tidak akan
terpengaruh, dapat menghemat biaya operasional karena tidak membutuhkan sumber
daya (resourches).
Distribusi komputasi ini memiliki definisi
mempelajari penggunaan terkoordinasi dari computer secara fisik terpisah atau
terdistribusi. Pada distributed computing ini, program dipisah menjadi beberapa
bagian yang dijalankan secara bersamaan pada banyak computer yang terhubung
melalui jaringan internet.
E.
Map Reduce dan No SQL ( Not Only
SQL)
Map-Reduce adalah salah satu konsep teknis
yang sangat penting di dalam teknologi cloud terutama karena dapat
diterapkannya dalam lingkungan distributed computing. Dengan demikian akan
menjamin skalabilitas aplikasi kita. Salah satu contoh penerapan nyata
map-reduce ini dalam suatu produk adalah yang dilakukan Google. Dengan
inspirasi dari functional programming map dan reduce Google bisa menghasilkan
filesystem distributed yang sangat scalable, Google Big Table. Dan juga
terinspirasi dari Google, pada ranah open source terlihat percepatan
pengembangan framework lainnya yang juga bersifat terdistribusi dan menggunakan
konsep yang sama, project open source tersebut bernama Apache Hadoop.
NoSQL adalah istilah untuk menyatakan
berbagai hal yang didalamnya termasuk database sederhana yang berisikan key dan
value seperti Memcache, ataupun yang lebih canggih yaitu non-database
relational seperti MongoDB, Cassandra, CouchDB, dan yang lainnya.
Wikipedia menyatakan NoSQL adalah sistem
menejemen database yang berbeda dari sistem menejemen database relasional yang
klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema table dan
umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi
menyebut database seperti ini sebagai structured storage, istilah yang
didalamnya mencakup sistem menejemen database relasional.
F. No SQL
Database
Database NoSQL, juga disebut Not Only SQL,
adalah sebuah pendekatan untuk pengelolaan data dan desain database yang
berguna untuk set yang sangat besar data terdistribusi. NoSQL, yang
mencakup berbagai teknologi dan arsitektur, berusaha untuk memecahkan masalah
skalabilitas dan kinerja data yang besar yang database relasional tidak
dirancang untuk menangani. NoSQL ini sangat berguna ketika perusahaan perlu
untuk mengakses dan menganalisis sejumlah besar data terstruktur atau data yang
disimpan dari jarak jauh pada beberapa virtual server di awan.
Berlawanan dengan kesalahpahaman yang
disebabkan oleh namanya, NoSQL tidak melarang bahasa query terstruktur (SQL).
Meskipun benar bahwa beberapa sistem NoSQL sepenuhnya non-relasional, yang lain
hanya menghindari fungsi relasional dipilih seperti skema tabel tetap dan
bergabung dengan operasi. Sebagai contoh, daripada menggunakan tabel, database
NoSQL mungkin mengatur data menjadi objek, kunci / nilai berpasangan atau
tupel.
Referensi :