Wednesday, April 24, 2013

Pengantar Komputasi Awan




Pendahuluan

Komputasi awan secara sederhana adalah konsep komputasi terdistribusi dimana tugas komputasi bisa diserahkan ke sekumpulan komputer yang terhubung ke jaringan. Semacam aplikasi yang dikembangkan khusus akan mengatur semua node yang terhubung tersebug, antrian tugas akan diprioritaskan untuk diberikan ke komputer yang lebih 'santai'.

Email yang tersedia dalam bentuk web mail merupakan salah satu contoh dari teknologi komputasi awan. Dengan menggunakan layanan email seperti Gmail dan Yahoo Mail, orang tidak perlu lagi menggunakan outlook atau aplikasi desktop lainnya untuk email mereka. Membaca email dengan browser memungkinkan dilakukan di mana saja sepanjang ada koneksi ke internet.

Pengantar Komputasi Grid


Komputasi grid (Grid Computing) adalah teknologi yang sedang berkembang yang memungkinkan pemakaian secara bersama berbagai macam sumber daya yang tersebar dan dikelola oleh organisasi yang berbeda. Sumber daya tersebut meliputi tenaga komputasi, kapasitas penyimpanan data, sensor, jaringan komputer, bandwidth dan lain sebagainya. Pada awalnya, komputasi grid hanya dipakai oleh komunitas akademi dan peneliti, tetapi sekarang teknologi baru ini sudah merambah sampai ke dunia bisnis karena dapat meningkatkan Return on Invesment (ROI). Sejak dari awal perkembangannya sampai saat sekarang ini, komputasi grid telah dipakai untuk memecahkan masalah-masalah komputasi berkinerja tinggi, baik itu di lembaga riset maupun di perusahaan, seperti analisa data pada high energy physics dan nuklir, riset iklim (climate riset) serta analisa dan pencarian data pada masalah penemuan obat (drug discovery problem).

Virtualisasi

Virtualisasi bisa diartikan sebagai pembuatan suatu bentuk atau versi virutal dari sesuatu yang bersifat fisik, misalnya sistem operasi, perangkat storage/penyimpanan data atau sumber daya jaringan.
Virtualisasi bisa diimplementasikan kedalam berbagai bentuk, antara lain (Harry Sufehmi, Pengenalan Virtualisasi, 20090607):
1. Network Virtualization : VLAN, Virtual IP (untclustering), Multilink
2. Memory Virtualization : pooling memory dari node-node di cluster
3. Grid Computing : banyak komputer = satu
4. Application Virtualization : Dosemu, Wine
5. Storage Virtualization : RAID, LVM
6. Platform Virtualization : virtual computer

Distributed Computation dalam Cloud Computing

Dalam memahami komputasi terdistribusi (distributed computing) dapat dilakukan dengan berbagai macam cara. Salah satu defenisi sederhana dari komputasi terdistribusi adalah proses berjalannya sebuah aktifitas komputasi yang dilakukan oleh lebih dari satu komputer yang berbeda. Pemahaman lain tentang komputasi terdistribusi adalah sebuah distribusi sebagian dari sebuah sistem informasi melalui banyak sistem komputer di banyak lokasi (Burd: 2003)

MapReduce dan NoSQL (Not Only SQL)

MapReduce adalah sebuah model pemrograman untuk pemrosesan data yang dapat mengolah data-data terdistribusi yang berukuran besar secara paralel. 

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 produkadalah 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 merupakan kepanjangan dari Not Only SQL. Sesuai kepanjangannya NoSQL tidak menggunakan sintaks SQL untuk memyimpan data. Sebenarnya NoSQL ini dikembangkan pertama kali pada tahun 1998 oleh Carlo Strozzi. Lalu, pada tahun 2009, Eric Evans memperkenalkan kembali teknologi NoSQL. NoSQL ini jauh berbeda dengan relational database. Penyimpanan data dalam NoSQL tidak memerlukan skema tabel yang tetap seperti relational database.

NoSQL Database

NoSQL hanyalah penyebutan untuk database yang tidak relasional. Jika relational database menggunakan SQL, maka NoSQL menggunakan bermacam-macam cara untuk penyimpanan datanya. NoSQL memiliki empat metode, yaitu:
  • Table-oriented, contoh: Google dengan Big Table, Facebook dengan Cassandra
  • Graph-oriented
  • Document-oriented database, contoh: MongoDB dan CouchDB.
  • Key-value store, contoh: Memcache dan Redis [5].

Sumber: