Cloud Computing
Cloud computing mungkin
masih samar terdengar bagi orang awam. Tetapi keberadaan cloud computing di era digital kini
sebenarnya telah terasa di tengah masyarakat dalam kehidupan sehari hari
seperti penggunaan email dan juga media sosial.
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.
Manfaat Cloud Computing
-
Semua
Data Tersimpan di Server Secara Terpusat
-
Keamanan Data
-
Fleksibilitas dan Skalabilitas yang Tinggi
-
Investasi Jangka Panjang
Komputasi Grid
Komputasi grid memungkinkan
organisasi virtual (virtual organization) untuk menggunakan secara bersama
sumber daya yang tersebar secara geografis dengan berasumsi ketidakhadiran dari
lokasi terpusat, kontrol terpusat, pengetahuan menyeluruh terhadap sumber daya
dan hubungan kepercayaan. Organisasi virtual dapat meliputi suatu departemen
dari suatu perusahaan yang berada pada satu lokasi yang sama sampai dengan
kumpulan besar orang-orang dari berbagai organisasi yang tersebar diberbagai
belahan bumi
Komputasi grid atau grid
computing adalah penggunaan sumber daya komputer secara bersama-sama dimana
komputer tersebut terpisah secara geografis. Komputasi grid ini biasanya
digunakan untuk memecahkan suatu permasalahan berskala besar.
Berdasarkan
tulisan dari Ian Foster (Bapak Grid Computing), terdapat 3 hal yang
mengidentifikasi bahwa suatu sistem termasuk di dalam komputasi grid, yaitu:
1. 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.
2. 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.
3. Sistem tersebut bersifat
non-trivial (tidak biasa-biasa saja) untuk mencapai kualitas layanan yang
canggih.
Karakteristik komputasi grid :
1. Tidak adanya kontrol terpusat.
2. Adanya heterogenitas. Artinya
multiplatform yaitu dapat berjalan diplatform / sistem operasi apa saja.
3. Memiliki scalability.
4. Dinamis dan dapat beradaptasi
dalam berbagai situasi.
5. Menggunakan protokol-protokol
dan interface yang standar, terbuka dan serbaguna.
6. Dapat memberikan kualitas
layanan (QoS) yang tinggi. Sistem tersebut berusaha untuk mencapai kualitas
layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas
layanan komponen individu dari komputasi grid tersebut.
7. 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.
Virtualisasi
Virtualisasi (virtualization) memiliki banyak
pengertian. Jika merujuk pada kamus Oxford, istilah virtualization merupakan turunan
dari kata virtualize yang
memiliki makna “Convert (something) to
a computer-generated simulation of reality”. Dalam terjemahan bebas,
virtualisasi berarti Mengubah sesuatu (mengkonversi) ke bentuk simulasi dari
bentuk nyata yang ada.
Sumber: Gufron Rajo Kaciak: Pengertian
Virtualisasi: http://dosen.gufron.com/artikel/pengertian-virtualisasi/8/
Virtualisasi membuat sebuah
simulasi dari perangkat keras, sistem operasi, jaringan maupun yang lainnya. Di
bidang teknologi informasi, virtualisasi digunakan sebagai sarana untuk
improvisasi skalabilitas dari perangkat keras yang ada.
Beberapa sistem operasi dapat berjalan secara bersamaan pada
satu buah komputer. Hal ini tentunya dapat mengurangi biaya yang harus
dikeluarkan oleh sebuah perusahaan. Di masa akan datang, teknologi virtualisasi
akan banyak digunakan baik oleh perusahaan yang bergerak dibidang teknologi
informasi maupun yang tidak murni bergerak di bidang teknologi informasi namun
menggunakan teknologi informasi sebagai sarana untuk memajukan usahanya.
Virtualisasi bisa diartikan sebagai pembuatan
suatu bentuk atau versi virtual dari sesuatu yang bersifat fisik, misalnya
sistem operasi, perangkat storage/penyimpanan data atau sumber daya
jaringan.
- Network Virtualization : VLAN, Virtual IP
(untclustering), Multilink
- Memory Virtualization : pooling memory dari node-node
di cluster
- Grid Computing : banyak komputer = satu
- Application Virtualization : Dosemu, Wine
- Storage Virtualization : RAID, LVM
- Platform Virtualization : virtual computer
Sistem operasi yang
terinstall di komputer secara fisik dalam hal ini Linux Mint disebut
sebagai host machinesedangkan
sistem operasi yang diinstall diatasnya dinamakan guest machine. Istilah host dan guest dikenalkan
untuk memudahkan dalam membedakan antara sistem operasi fisik yang terinstall
di komputer dengan sistem operasi yang diinstall diatasnya atau virtualnya.
Perangkat
lunak yang digunakan untuk menciptakan virtual machine pada host machine biasa
disebut sebagai hypervisor atau Virtual Machine Monitor (VMM).
Distributed computing
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.
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).
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.
Salah
satu defenisi sederhana dari komputasi terdistribusi adalah proses berjalannya
sebuah aktifitas komputasi yang dilakukan oleh lebih dari satu komputer yang
berbeda. Selain itu Komputerisasi yang terdistribusi sangat menarik sebab
operasi yang interaktif yang membiarkan lebih banyak komputer dalam kondisi
idle yang lebih banyak. Proses ini dimana menjalankan aspek yang terdistribusi
(misalnya pada saat menjalankan mesin juga melaksanakan pekerjaan lain) ini
biasanya didesain untuk memprioritaskan pekerjaan ringan, penggunaan juga
memperhitungkan tenaga yang terbuang percuma. Komputerisasi yang terdistribusi
juga merupakan cakupan penelitian yang aktif dan kaya akan literatur.
Konferensi tentang komputersisasi terdistribusi yang terkenal adalah The
Internasional Conference on Dependable Systems and Networks (Konferensi internasional
pada sistem dan jaringan handal) dan the ACM Symposium on principles of
distributed computing ( ACM – Symposium pada prinsip-prinsip komputerisasi
terdistribusi). Jurnal-jurnal termasuk the journal of parallel and distributed
computing (jurnal tentang komputerisasi yang paralel dan terdistribusi) IEEE
transactions on parallel and distributed systems ( IEEE- transaksi pada sistem
yang paralel dan terdistribusi) dan lain-lain.
Map
Reduce dan noSQL
Map Reduce
MapReduce adalah model
pemrograman rilisan Google yang ditujukan untuk memproses data berukuran
raksasa secara terdistribusi dan paralel dalam cluster yang terdiri atas ribuan
komputer. Dalam memproses data, secara garis besar MapReduce dapat dibagi dalam
dua proses yaitu proses Map dan proses Reduce. Kedua jenis proses ini
didistribusikan atau dibagi-bagikan ke setiap komputer dalam suatu cluster
(kelompok komputer yang salih terhubung) dan berjalan secara paralel tanpa
saling bergantung satu dengan yang lainnya. Proses Map bertugas untuk mengumpulkan
informasi dari potongan-potongan data yang terdistribusi dalam tiap komputer
dalam cluster. Hasilnya diserahkan kepada proses Reduce untuk diproses lebih
lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.
MapReduce mungkin terkesan
sangat ribet. 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 (Gambar
1).
noSQL
Database noSQL dibagi
menurut format penyimpanan dokmentnya. Berikut ini adalah pengelompokan
database noSQL berdasarkan model (penyimpanan) datanya
1. Document
Database contohnya MongoDB, seiap satu object
data disimpan dalam satu dokumen. Dokumen sendiri bisa terdiri dari key-value,
dan value sendiri bisa berupa array atau key-value bertingkat.
2. Graph , Format penyimpanan
data dalam struktur graph. Format ini sering dipakai untuk data yang saling
berhubungan seperti jejaring social. Contoh database noSQL dengan format ini
adalah Neo4J dan FlockDB. FlockDB dipakai oleh twitter.
3. Key – Value, contoh
database jenis ini adalah Apache Cassandra.
4. Object Database. Format
database yang disimpan dalam object object, Object disini sama dengan
pengertian object di Pemrograman beroreintasi object , Contoh databasenya
adalah Db4o.
5. Tipe lainnya adalah
tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.
Kelebihan NoSQL di banding
Relasional Database
1. NoSQL bisa menampung data
yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam
skala besar (big data/cloud).
2. Menggunakan OOP dalam
pengaksesan atau manipulasi datanya.
3. NoSQL tidak mengenal schema
tabel yang kaku dengan format data yang kaku. NoSQL sangat cocok untuk data
yang tidak terstruktur, istilah singkat untuk fitur ini adalah Dynamic Schema.
4. Autosharding, istilah
sederhananya, jika database noSQL di jalankandi cluster server (multiple
server) maka data akan tersebar secara otomatis dan merata keseluruh server.
Kekurangan
dari database NoSQL
-
Hostingnya
mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting
database noSQL.
-
Belum
mendukung database MongoDB atau database noSQL lainnya.
Database
no SQL
-
Mendukung
Bahasa query yang sangat sederhana
-
Tidak
ada skema tetap
-
Hanya
akhirya konsisten
-
Tidak
mendukung transaksi
REFERENSI
http://www.cloudindonesia.or.id/apa-itu-cloud-computing.html
https://risanputtra.wordpress.com/2016/03/29/pengantar-komputasi-grid/
http://dosen.gufron.com/artikel/pengertian-virtualisasi/8/
http://andikarag.blogspot.co.id/2016/03/distribusi-komputasi-dalam-cloud.html
http://www.teknologi-bigdata.com/2013/02/mapreduce-besar-dan-powerful-tapi-tidak.html
https://www.candra.web.id/pengantar-database-nosql-dan-mongodb/
https://risanputtra.wordpress.com/2016/03/29/pengantar-komputasi-grid/
http://dosen.gufron.com/artikel/pengertian-virtualisasi/8/
http://andikarag.blogspot.co.id/2016/03/distribusi-komputasi-dalam-cloud.html
http://www.teknologi-bigdata.com/2013/02/mapreduce-besar-dan-powerful-tapi-tidak.html
https://www.candra.web.id/pengantar-database-nosql-dan-mongodb/