Npm : 51412648
Kelas : 4IA22
Mata Kuliah : pengantar komputasi modern
Dosen : Ibu Ana Kurniawati
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.
Komputasi Grid
Komputasi Grid adalah penggunaan
sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah
secara geografis untuk memecahkan persoalan komputasi dalam skala besar. Grid
computing merupakan cabang dari distributed computing. Grid komputer memiliki
perbedaan yang lebih menonjol dan di terapakan pada sisi infrastruktur dari
penyelesaian suatu proses. Grid computing adalah suatu bentuk cluster
(gabungan) komputer-komputer yang cenderung tak terikat batasan geografi. Di
sisi lain, cluster selalu diimplementasikan dalam satu tempat dengan
menggabungkan banyak komputer lewat jaringan.
Ide awal komputasi grid dimulai
dengan adanya distributed computing, yaitu mempelajari penggunaan komputer
terkoordinasi yang secara fisik terpisah atau terdistribusi. Sistem
terdistribusi membutuhkan aplikasi yang berbeda dengan sistem terpusat.
Kemudian berkembang lagi menjadi parallel computing yang merupakan teknik
komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara
bersamaan.
Grid computing menawarkan solusi
komputasi yang murah, yaitu dengan memanfaatkan sumber daya yang tersebar dan
heterogen serta pengaksesan yang mudah dari mana saja. Globus Toolkit adalah
sekumpulan perangkat lunak dan pustaka pembuatan lingkungan komputasi grid yang
bersifat open-source. Dengan adanya lingkungan komputasi grid ini diharapkan
mempermudah dan mengoptimalkan eksekusi program-program yang menggunakan
pustaka paralel. Dan Indonesia sudah menggunakan sistem Grid dan diberi nama
InGrid (Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret
2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan beberapa
perguruan tinggi negeri dan swasta yang tersebar di seluruh Indonesia dan
beberapa instansi pemerintahan seperti Badan Meteorologi dan Geofisika.
Berikut ini beberapa konsep dasar
dari grid computing :
1. Sumber daya dikelola dan
dikendalikan secara lokal.
2. 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.
3. Sifat alami dinamis: Sumber daya dan
pengguna dapat sering berubah
4. Lingkungan kolaboratif bagi
e-community (komunitas elektronik, di internet)
5. 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.
Virtualisasi
Menurut
Kamus Besar Bahasa Indonesia, virtual berarti (secara) nyata, sedangkan akhiran
–isasi menyatakan makna melakukan, proses, usaha, atau kegiatan. Berarti
virtualisasi adalah proses menyatakan atau membuat sesuatu menjadi nyata.
Sedangkan dalam ilmu komputer, virtualisasi bisa diartikan sebagai pembuatan
suatu bentuk simulasi dari sesuatu yang asalnya bersifat fisik, misalnya sistem
operasi, perangkat penyimpanan data atau sumber daya jaringan. Definisi lainnya
adalah “sebuah teknik untuk menyembunyikan karakteristik fisik dari sumber daya
komputer dari bagaimana cara sistem lain, aplikasi atau pengguna berinteraksi
dengan sumber daya tersebut. Hal ini termasuk membuat sebuah sumber daya
tunggal (seperti server, sebuah sistem operasi, sebuah aplikasi, atau peralatan
penyimpanan terlihat berfungsi sebagai beberapa sumber daya logikal; atau dapat
juga termasuk definisi untuk membuat beberapa sumber daya fisik (seperti
beberapa peralatan penyimpanan atau server) terlihat sebagai satu sumber daya
logikal.”
Pengertian 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.
Pengertian
MapReduce
MapReduce merupakan sebuah konsep
dimana data yang kontinue dipecah menjadi bagian data / komponen data kecil dan
didistribusikan melalui mesin-mesin yang terhubung secara cluster. Bisa
dibilang map reduce merupakan sebuah framework yang digunakan untuk mempercepat
proses pengolahan data pada konsep cloud computing. Dalam memproses data,
MapReduce dibagi menjadi 2 proses utama, yaitu Map dan Reduce. Proses Map
bertugas utnuk mengumpulkan informasi dari potongan-potongan data yang
terditribusi dalam tiap komputer dalam cluster (kelompok komputer yang saling
terhubung). Hasilnya deserahkan kepada proses Reduce untuk diproses lebih
lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.
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.
Desain dan Struktur MapReduce
Dari definisinya, MapReduce mungkin
terkesan sangat rumit. Untuk memproses sebuah data raksasa, data itu harus
dipotong-potong kemudian dibagi-bagikan ke tiap komputer dalam suatu cluster.
Lalu proses Map dan proses Reduce pun harus dibagi-bagikan ke tiap komputer dan
dijalankan secara paralel. Terus hasil akhirnya juga disimpan secara
terdistribusi. Benar-benar terkesan merepotkan.
Beruntunglah, MapReduce telah
didesain sangat sederhana alias simple. Untuk menggunakan MapReduce, seorang
programer cukup membuat dua program yaitu program yang memuat kalkulasi atau
prosedur yang akan dilakukan oleh proses Map dan Reduce. Jadi tidak perlu
pusing memikirkan bagaimana memotong-motong data untuk dibagi-bagikan kepada
tiap komputer, dan memprosesnya secara paralel kemudian mengumpulkannya
kembali. Semua proses ini akan dikerjakan secara otomatis oleh MapReduce yang
dijalankan diatas Google File System.
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. Jadi, seorang
programmer yang akan menjalankan MapReduce harus membuat program Fungsi Map dan
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. Lain katanya, tiap Value yang memiliki Key yang sama
akan digabungkan dalam satu kelompok. Fungsi Reduce juga menghasilkan output
berupa pasangan Key/Value.
Pengertian
NoSQL
Nosql adalah sebuah memcache dari
bagian database sederhana yang berisi key dan value. Database ini bersifat
struktur storage dimana sistem databasenya yang berbeda dengan sistem database
relasional. Nosql tidak membutuhkan skema table dan menghindari operasi join
dan berkembang secara horizontal. Selain itu NoSQL merupakan suatu bahasan yang
jauh dari arti kata yang dibaca. Tidak berarti tanpa sql query. Melainkan
bagaimana suatu sql query digunakan seminimal mungkin dalam suatu program
database. Dengan memanfaatkan teknologi NoSQL ini, diharapkan mampu mengurangi
beban server. Selain itu, hal ini juga memudahkan programmer dalam membuat
suatu program dan proses pengembangannya. Penjelasan lebih mengenai NoSQL
database akan dijelaskan pada sub bab dibawah ini.
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 skala bilitas 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 tupe.
referensi:
http://pusatteknologi.com/pengertian-manfaat-cara-kerja-dan-contoh-cloud-computing.html
http://febbri-grunge.blogspot.co.id/2015/06/komputasi-grid-grid-computing.html
http://ilmukomputer.org/2013/07/04/konsep-virtualisasi/
http://ridwanraa.blogspot.co.id/2015/10/distributed-computation-dalam-cloud.html
https://putrinurani94.wordpress.com/2016/03/25/mapreduce-dan-nosql/