Pendahuluan
Seperti yang telah didefinisikan oleh Wikipedia, Cloud Computing adalah gabungan pemanfaatan teknologi komputer (computing) dan pengembangan berbasis internet (cloud). Cloud Computing juga adalah suatu metoda komputasi dimana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan, sehingga pengguna dapat mengaksesnya lewat internet, tanpa mengetahui apa yang ada didalamnya, atau memiliki kendali terhadap infrakstruktur teknologi yang membantunya.
Cloud computing mempunyai 3 tingkatan layanan yang diberikan kepada pengguna, yaitu:
- Infrastructure as service, hal ini meliputi Grid untuk virtualized server, storage & network. Contohnya seperti Amazon Elastic Compute Cloud dan Simple Storage Service.
- Platform as a service, hal ini memfokuskan pada aplikasi dimana dalam hal ini seorang developer tidak perlu memikirkan hardware dan tetap fokus pada pembuatan aplikasi tanpa harus mengkhawatirkan sistem operasi, infrastructure scaling, load balancing dan lain-lain. Contohnya yang sudah mengimplementasikan ini adalah Force.com dan Microsoft Azure Investment.
- Software as a service: Hal ini memfokuskan pada aplikasi dengan Web-based interface yang diakses melalui Web Service dan Web 2.0. Contohnya adalah Google Apps, SalesForce.com dan aplikasi jejaring sosial seperti Facebook.
GRID Computing
Grid Computing atau Komputasi Grid merupakan salah satu dari tipe Komputasi Parallel, yang berarti penggunaan sumber daya yang melibatkan banyak komputer yang terpisah secara geografis namun terhubung oleh jalur komunikasi termasuk internet. 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. Komputasi Grid digunakan untuk meriset sesuatu yang membutuhkan super komputer seperti riset iklim, riset menemukan obat dan riset tentang kesenian.
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.
Jenis Virtualisasi
Virtualisasi adalah istilah yang dapat digunakan dengan berbagai topik tetapi subjek yang paling populer di mana Virtualisasi digunakan adalah Operating System. Operating System Virtualization berarti bahwa beberapa Sistem Operasi yang dijalankan secara bersamaan pada hardware yang sama. Jenis lain dari Virtualizations termasuk Virtualisasi Software, Virtualisasi Jaringan, Virtualisasi Penyimpanan dan Virtualisasi Server.
Distributed Computation dalam Cloud Computing
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).
Map Reduce dan NoSQL
MapReduce
MapReduce merupakan model pemrograman yang diadaptasi dari pemrograman fungsional yang diimplementasikan untuk mengolah dataset yang sangat besar. Tujuan dari MapReduce adalah merancang suatu abstraksi baru yang memungkinkan pengguna untuk membuat antarmuka pemrograman sederhana dan menyembunyikan detail yang rumit dari pararelisasi, fault-tolerance, distribusi data, dan load balancing dalam pustaka pemrogramannya. Hasilnya menunjukkan bahwa penerapan MapReduce dapat menyederhanakan antarmuka pemrograman yang dapat mendukung paralelisasi dan distribusi komputasi skala besar secara otomatis.
Pemrograman dengan MapReduce telah sukses diterapkan penggunaannya oleh Google untuk berbagai tujuan, salah satunya adalah Google indexing. Dalam kinerjanya, Google menerapakan ribuan mesin yang bekerja pada ratusan terabytes data dengan lokasi server yang tersebar di beberapa lokasi. Jenis arsitektur seperti ini dapat mengurangi waktu kinerja yang diperlukan. Pembangunan arsitektur Google dengan menggunakan MapReduce memerlukan waktu hanya dalam beberapa jam saja dibandingkan dengan tidak menerapkan MapReduce yang memerlukan waktu selama berbulan bulan. Penggunaan library dalam MapReduce memiliki beberapa keuntungan seperti load balancing, optimasi perangkat penyimpanan yang nantinya akan meningkatkan keefisiensian sistem dan kemudahan dalam penggunaannya. Mudahnya, MapReduce bekerja dengan membagi proses menjadi dua fase, yaitu tahap map dan tahap reduce.
NoSQL
Ukuran data yang sangat besar menimbulkan permasalahan dari segi skalabilitas, karena pertambahan data yang terjadi setiap saat. Peningkatan kemampuan server secara vertikal yang dimiliki Relational Database Management System (RDBMS) terbatas pada penambahan prosesor, memori, dan media penyimpanan dalam satu node server yang terbatas. Sedangkan peningkatan kemampuan server secara horizontal yang meliputi penambahan perangkat server baru dalam suatu jaringan memerlukan biaya yang mahal dan sulit dalam pengelolaannya. Salah satu cara yang diterapkan oleh website berskala besar untuk mengatasi permasalahan tersebut adalah dengan menggunakan NoSQL.
NoSQL Database
Generasi terbaru dari perangkat lunak internet sangat tergantung pada penggunaan sistem basis data. Kenyataanya untuk meningkatkan kemampuan dan kecepatan operasi, pengembang dapat merelaksasikan beberapa aturan ketat yang ada pada RDBMS seperti consistency dan atomicity. Sebagai realisasinya jenis basis data baru telah diperkenalkan beberapa tahun lalu yang dikenal dengan NoSQL (singkatan dari Not-Only-SQL). Beberapa aplikasi berbasis web yang telah menerapkan penggunaan NoSQL diantaranya adalah Google dengan BigTable, Amazon dengan Dynamo, dan Facebook dengan Cassandra dan Hadoop.
Konsep Non-Relational dalam basis data NoSQL meliputi hirarki, graf, dan basis data berorientasi obyek yang sudah terlebih dahulu ada sejak tahun 1960 sebelum akhirnya basis data relasional muncul pada tahun 1970.
NoSQL sendiri adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS ataupun ODBMS. Perbedaan utamanya sendiri yaitu karena tidak mengenal istilah dan tidak menggunakan konsep schema. Selain itu kalau di dalam konsep DBMS biasanya sebelum insert data kita harus mendefinisikan terlebih dahulu struktur tabel seperti data dan ukurannya, pada NoSQL kita dapat menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya.
Source:
http://ilhamsk.com/apa-itu-cloud-computing/
http://octianaeni.blogspot.com/2011/11/cloud-computing-komputasi-awan.html
http://azuharu.net/grid-computing/pengertian-grid-computing/
http://www.locus.co.id/?pg=13
http://hannareina.blogspot.com/2013_04_01_archive.html
Comments
Post a Comment