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 (Komputasi Awan) 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. Cloud computing adalah gabungan pemanfaatan teknologi komputer dan pengembangan
berbasis internet.
Kelebihan
Cloud Computing:
Kelebihan
paling menonjol dari cloud computing adalah kemudahan akses. Untuk mengerjakan
suatu pekerjaan tidak mesti berada dihadapan satu komputer yang sama. Misal
anda diberi tugas oleh oleh atasan anda untuk membuat sebuah bahan presentasi
dengan format aplikasi power point, karena pada komputer anda tidak ada
aplikasi power pointnya maka anda bisa membuatnya di Google Docs (Google Drive)
ataupun skydrive nya windows. Cukup koneksi ke internet, login ke akun google
atau hotmail. Outlook mail, maka anda pun sudah bisa membuat bahan presentasi
secara online. Fleksibilitas, seperti contoh diatas, bahan presentasi yang kita
buat tidak perlu di simpan di hardisk yang akan memakan ruang space. Dimanapun
anda berada ataupun kemanapun anda berpergian file - file tersebut bisa dibuka
dimana saja asalkan ada koneksi internet. Andaikata anda akan pergi ke
perusahaan cabang anda, anda tidak perlu lagi repot - repot membawa laptop ke
cabang perusahaan anda, karena semua file - file tersimpan diawan. Penghematan
adalah kelebihan lain dari cloud computing.
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.
Beberapa
konsep dasar dari komputasi grid:
Sumber
daya dikelola dan dikendalikan secara lokal
Sumber
daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda
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.
Data:
Akses terhadap sumber data global, dan hasil penelitian lebih baik.
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.
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.
E.
Map Reduce dan NoSQL (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. NoSQL
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.
Sumber
: