Pendahuluan
Cloud computing dalam Bahasa
Indonesia adalah komputasi awan. Komputasi awan dapat diartikan sistem komputasi
berbasis internet, jadi kumpulan resource (software, data / file, dan aplikasi)
disimpan disebuah server, yang mana server tersebut terdapat di internet. Sehingga
apabila ada user lain yang ingin menggunakan resource tersebut hanya tinggal
mengaksesnya dimanapun dan kapanpun asalkan ada koneksi internet.
Komputasi
Grid
Komputasi grid adalah penggunaan
sumber daya computer secara bersama-sama, yang mana tiap komputer terpisah
secara geografis. Biasanya komputasi ini digunakan untuk memecahkan masalah
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.
Mengapa harus komputasi grid? Karna
untuk permasalahan yang terakit dengan komputer grid hanya bisa dipecahkan
dengan penggunaan super komputer. Namun super komputer masih tergolong sangat
mahal dan masih terdapt kekurangan dalammemnuhi kebutuhan riset.
Berdasarkan tulisan
dari Ian Foster (Bapak Grid Computing), terdapat 3 hal yang mengidentifikasi
bahwa suatu sistem termasuk di dalam komputasi grid, yaitu:
- Sistem tersebut berkoordinasi terhadap sumberdaya komputasi yang tidak berada dalam satu kendali terpusat. Misalnya komputer di Jakarta terhubung dengan komputer di Jayapura, Manado, dan Semarang.
- Sistem tersebut menggunakan protokol yang standar dan terbuka, tidak terpaut dengan suatu perusahaan atau produk tertentu. Standar tersebut dibutuhkan dibagian autentikasi, otorisasi, pencarian sumberdaya yang tersedia, dan pengaksesan sumberdaya.
- Sistem tersebut bersifat non-trivial (tidak biasa-biasa saja) untuk mencapai kualitas layanan yang canggih.
Beberapa contoh pengunaan komputasi
grid :
Scientific Simulation: Komputasi grid diimplementasikan di
bidang fisika, kimia, dan biologi untuk melakukan simulasi terhadap proses yang
kompleks.
Medical Images: Penggunaan data grid dan komputasi
grid untuk menyimpan medical-image.
Contohnya adalah eDiaMoND project
Contohnya adalah eDiaMoND project
Computer-Aided Drug Discovery (CADD): Komputasi grid
digunakan untuk membantu penemuan obat. Salah satu contohnya adalah: Molecular Modeling
Laboratory (MML) di University of North Carolina (UNC)
Big Science: Data grid dan komputasi grid
digunakan untuk membantu proyek laboratorium yang disponsori oleh pemerintah Contohnya
terdapat di DEISA
e-Learning: Komputasi grid membantu membangun
infrastruktur untuk memenuhi kebutuhan dalam pertukaran informasi dibidang
pendidikan. Contohnya adalah AccessGrid
Visualization: Komputasi grid digunakan untuk
membantu proses visualisasi perhitungan yang rumit.
Virtualisasi
Virtualisasi
berbeda dengan cloud computing. Virtualisasi secara bahasanya adalah menjalankan
suatu aplikasi diatas aplikasi. Secara istilah adalah teknologi yang memungkinkan
kita membuat sesuatu yang bersifat fisik misalnya sistem operasi, storage atau sumber
daya jaringan menjadi virtual. Dimana kita mampu menjalankan diatas hardware / software
nonvirtual yang sedang berjalan.
Dua
hal yang telah dijabarkan diatas sebenarnya saling berhubungan. Cloud Computing
sendiri bisa dianggap sebagai pengembangan dari virtualisasi. Cloud computing
adalah sebuah teknologi yang menggabungkan teknologi virtualisasi dan grid
computing. Jadi, selain ada proses virtualisasi, juga terdapat grid computing,
dimana seluruh beban proses komputasi yang ada akan didistribusikan ke berbagai
server yang saling terhubung di dalam cloud.
sehingga
prosesnya akan jauh lebih ringan.Dengan teknologi cloud computing sebuah
perusahaan bisa menempatkan aplikasi atau sistem yang digunakan di internet dan
tidak perlu mengelolanya secara internal. Contoh dari cloud computing versi
publik adalah seperti google drive, google docs/spreadsheet, dropbox, dan
lain-lain. Cloud computing versi publik bisa digunakan untuk umum secara
gratis. Sedangkan untuk versi non publik, penggunanya harus membayar biaya sewa
untuk menggunakan sistem virtual tersebut dalam jangka waktu yang telah ditentukan.
Contoh cloud computing versi non publik adalah seperti SmartCloud Enterprise
dari IBM, Enterprise Services Cloud-Compute dari HP, SmartMachines dari
JoyentCloud dan Elastic Cloud Compute (EC2) dari Amazon.
KEUNTUNGAN MENGGUNAKAN VIRTUALISASI
1. Hemat Biaya Investasi Hardware.
Virtualisasi hanya menggunakan kapasitas yang sudah
ada. Penambahan mungkin hanya dilakukan untuk stabilitas dan kecepatan komputer
induk, yang akan lebih murah.
2. Kemudahan Backup & Recovery.
Jika satu saat server tersebut crash, kita tidak perlu
melakukan instalasi dan konfigurasi ulang. Cukup mengambil salinan image yang
sudah disimpan, merestore data hasil backup terakhir dan server berjalan
seperti sedia kala. Hemat waktu, tenaga dan sumber daya.
3.
Standarisasi
Hardware.
Virtualisasi melakukan
emulasi dan enkapsulasi hardware sehingga proses pengenalan dan pemindahan
suatu spesifikasi hardware tertentu tidak menjadi masalah. Sistem tidak perlu
melakukan deteksi ulang hardware sebagaimana instalasi pada sistem/komputer fisik
4. Kemudahan Replacement.
Upgrade dan penggantian spesifikasi server jauh lebih
mudah dilakukan. Dengan memindahkan virtual machine ke server lain yang lebih
powerful apabila server induk telah mecapai batas maksimal atau bahkan
overload.
KERUGIAN PENGGUNAAN VIRTUALISASI
1. Satu Pusat Masalah
Jika
server induk bermasalah maka seluruh data yang ada di virtual machine akan
terkena imbasnya juga. Karna sejatinya virtualisasi ini ibarat menempatkan
telur dalam satu keranjang.
2. Spesifikasi Hardware
Server
induk harus mempunyai spesifikasi yang tinggi, untuk menunjang stabilitas dan
performa yang digunakan.
Distribusi Komputasi dalam Cloud Computing
Salah satu tujuan dari Cloud
Computing adalah Distribution Computing atau distribusi komputasi. Dalam
distribusi komputasi ini adalah pengaksesan sumber daya secara parallel,
bersamaan tanpa harus menunggu antrian untuk mendapatkan pelayanan. Mempunyai
banyak sistem sehingga tidak akan mempengaruhi sistem alin jika salah satu
sistem ada yang crash.
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.
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.
Implementasi Distribusi Komputasi Awan
Ada
tiga poin utama yang diperlukan dalam implementasi could computing, yaitu :
- Komputer Front End
Komputer front end merupakan sebuah media tatap muka
yang digunakan untuk melakukan interaksi dengan data yang ada dalam sebuah
sistem. Biasanya merupakan komputer desktop biasa. Front-end lebih
mengarah kepada sebuah layanan umum yang memungkinkan semua orang dapat
menerima atau memberikan informasi kepada banyak proses yang dilakukan.
- Komputer Back End
Komputer back end dalam skala besar biasanya berupa
server komputer yang dilengkapi dengan data center dalam penyimpanan besar.
Pada umumnya komputer back end harus mempunyai kinerja yang tinggi, karena
harus melayani hingga ribuan permintaan data.
- Penghubung antara keduanya (Front End dan Back End)
Penghubung dari kedua komputer Front end dan Back end
bisa berupa jaringan LAN dan internet.
Map Redusce & NoSQL (Not Only SQL)
Dalam memproses data berukuran
sangat besar terdapat cara dan metode khusus, yaitu dengan map reduce. Teknik
yang dilakukan yaitu dengan cara mendistribusikannya secara parallel dalam
sebuah cluster yang terdiri dari ribuan komputer. Secara garis besar MapReduce
dibagi dalam dua proses yaitu proses Map dan Reduce. Kedua proses didistribusikan
ke setiap komputer yang saling terhubung satu dengan lainnya dalam satu
clusterdan berjalan secara parallel dan tidak tergantung satu dengan lainnya.
Sedangkan proses Map, mengumpulkan informasi potongan-potongan data darii tiap
komputer yang terdistribusi dalam custer. Kemudian akan keluar hasil yang akan
diserhakan ke proses Reduce. Hasil dari proses Reducelah yang akan dikirim ke
pengguna.
Program yang digunakan hanya ada
dua, yaitu program yang memuat kalkulasi atau prosedur yang akan dilakukan oleh
proses Map dan Reduce. Program yang memuat kalkulasi yang akan dilakukan dalam
proses Map disebut Fungsi Map, dan yang memuat kalkulasi yang akan dikerjakan
oleh proses Reduce disebut Fungsi Reduce.
Fungsi
Map bertugas untuk membaca input dalam bentuk pasangan Key/Value, lalu
menghasilkan output berupa pasangan Key/Value juga. Pasangan Key/Value hasil
fungsi Map ini disebut pasangan Key/Value intermediate. Kemudian, fungsi Reduce
akan membaca pasangan Key/Value intermediate hasil fungsi Map, dan menggabungkan
atau mengelompokkannya berdasarkan Key tersebut. Dengan kata lain fungsi mam
akan memetakan data dengan pemberian key & value, kemudian fungsi reduce
berfungsi untuk menggabung-gabungkannya.
No SQL Database
NoSQL adalah sebuah mekanisme untuk
menyimpan data dan mengambil data yang dilakukan oleh database kita. NoQSL
tidak membutuhkan data model relational dan bahasa SQL untuk melakukan hal
tersebut. NoSQL menggunakan metadata pada database kita dan memanfaatkan index
dari data tersebut. Map Reduce danNoSQL (Not Only SQL) adalah sebuah
pemogramaan framework guna untuk membantu user mengembangankan sebuah data yang
ukuran besar dapat terdistribusi satu sama lain. 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 mempunyai
empat mekanisme:
- Table-oriented, contoh: Google dengan Big Table dan juga Facebook dengan Cassandra,
- Graph-oriented,
- Document-oriented database, contoh: MongoDB dan juga CouchDB,
- Key-value store, contoh: Memcache dan Redis
SQL
|
NoSQL
|
|
Query
|
+
|
–
|
Transaksi
|
+
|
–
|
Konsistensi
|
+
|
–
|
Scalability
|
–
|
+
|
Management
|
–
|
+
|
Schema
|
–
|
+
|
Berdasarkann
komparasi diatas query SQL memang jauh unggul, karena SQL sangat mudah untuk
mengubah dari satu query ke query yang lainnya. Namun NoSQL hal tersebut
sangatlah rumit, NoSQL lebih cocok untuk transaksi yang sama. Maka dapat
dikatakan SQL sangatlah cocok untuk transaksi harian dan NoSQL sangatlah cocok
jika diterapkan pada transaksi histori.
Contoh database
NoSQL:
- MongoDB
- CouchDB.
- GemFire.
- Redis.
- Cassandra.
- memcached.
- Hazelcast.
- HBase.
- Mnesia.
- Neo4j.
Sumber :
- https://spring.io/understanding/NoSQL#use-of-nosql
- http://www.teknologi-bigdata.com/2013/02/mapreduce-besar-dan-powerful-tapi-tidak.html
- https://daribaliklensa.wordpress.com/2013/05/01/pengantar-komputasi-cloud/
- https://azuharu.net/grid-computing/pengertian-grid-computing/
- http://purnomolamala.blogspot.co.id/2015/06/makalah-cloud-computing-terbaru
- https://daribaliklensa.wordpress.com/2013/05/01/pengantar-komputasi-cloud/
- http://cinoyraz.wordpress.com/2013/05/01/komputasi-cloud-komputasi-grid-virtualisasi-map-reduce-dan-nosql-not-only-sql/