TEORI CLOUD COMPUTING
Cloud computing adalah konsep yang digunakan untuk menggambarkan berbagai konsep
komputasi yang melibatkan sejumlah besar komputer yang terhubung melalui
jaringan komunikasi real-time seperti
internet. Teknologi yang memanfaatkan layanan internet menggunakan pusat server
yang bersifat virtual dengan tujuan pemeliharaan data dan aplikasi. Keberadaan Cloud Computing (komputasi awan) jelas
akan menimbulkan perubahan dalam cara kerja sistem teknologi informasi dalam
sebuah organisasi. Hal ini karena komputasi awan melalui konsep virtualisasi,
standarisasi dan fitur mendasar lainnya dapat mengurangi biaya Teknologi
Informasi (TI), menyederhanakan pengelolaan layanan TI, dan
mempercepat penghantaran layanan. Cloud computing pada dasarnya adalah menggunakan internet-based service
untuk mendukung proses bisnis. Cloud
service biasanya memiliki beberapa karakteristik, diantaranya adalah sangat
cepat di deploy, sehingga cepat berarti instant
untuk implementasi (Fauziah, 2013). Cloud computing adalah gabungan pemanfaatan teknologi komputer (komputasi) dan pengembangan berbasis internet (awan). Cloud computing merupakan layanan jasa
teknologi informasi yang menyediakan perangkat
atau infrastruktur melalui
koneksi internet untuk
memenuhi kebutuhan pengguna layanan. Penyedia jasa layanan cloud computing seperti Microsoft Cloud, Google, dan Sales Force.
(Gambar diambil dari : id.wikipedia.org/wiki/Komputasi_awan)
KONSEP DASAR
CLOUD COMPUTING
1.
Infrastruktur as a service (IaaS)
(Gambar diambil
dari : http://elib.unikom.ac.id)
Yaitu konsep
dasar yang pertama keluar, implementasi IaaS ini banyak dikerjakan dalam
pemakaian atau penyewaan jaringan untuk akses internet, dan lainnya.
Software as a Service (SaaS) merupakan
layanan cloud computing yang bisa langsung menggunakan
aplikasi yang telah disediakan. Penyedia layanan mengelola infrastruktur
dan platform yang menjalankan aplikasi tersebut. Contoh
layanan aplikasi e-mail yaitu Gmail, Yahoo!, dan
Outlook. Sedangkan contoh aplikasi media sosial adalah Twitter, FaceBook,
Google+. Keuntungan dari layanan ini adalah pengguna tidak perlu membeli
lisensi untuk mengakses aplikasi tersebut. Pengguna hanya membutuhkan perangkat
klien cloud computing yang terhubung ke Internet. Ada
juga aplikasi yang mengharuskan pengguna untuk berlangganan agar bisa mengakses
aplikasi yaitu Office 365 dan Adobe Creative Cloud.
2.
Platform as a Service (PaaS)
(Gambar diambil
dari : http://elib.unikom.ac.id)
Konsep dasar
dari PaaS ini hampir sama dengan IaaS. Hanya saja perbedaannya hanya terletak
pada pemakaiannya saja, PaaS dipakai dalam operating system dan infrastruktur pendukungnya.
Platform as a Service (PaaS)
merupakan layanan yang menyediakan computing platform. Biasanya sudah
terdapat sistem operasi, database, web server dan framework aplikasi
agar dapat menjalankan aplikasi yang telah dibuat. Perusahaan yang menyediakan
layanan tersebutlah yang bertanggung jawab dalam pemeliharaan computing
platform ini. Keuntungan layanan ini adalah mereka bisa fokus pada aplikasi
yang mereka buat tanpa memikirkan tentang pemeliharaan dari computing
platform. Contoh penyedia layanan PaaS adalah Amazon Web Service dan
Windows Azure.
3.
Software as a Service (SaaS)
(Gambar diambil
dari : http://elib.unikom.ac.id)
Yaitu konsep
dasar cloud computing yang terbaru dan lebih utama dari konsep dasar
sebelumnya, karena di bantu dengan perangkat lunak dan aplikasi khusus.
Infrastructure as a Service (IaaS) merupakan
layanan cloud computing yang menyediakan
infrastruktur IT berupa CPU, RAM, storage, bandwith dan
konfigurasi lain. Komponen-komponen tersebut digunakan untuk membangun
komputer virtual, yang dapat diinstall sistem operasi
dan aplikasi sesuai kebutuhan. Keuntungan layanan ini adalah tidak perlu
membeli komputer fisik sehingga lebih menghemat biaya. Konfigurasi komputer
virtual juga bisa diubah sesuai kebutuhan. Misalkan saat storage hampir penuh,
storage bisa ditambah dengan segera. Perusahaan yang
menyediakan IaaS adalah Amazon EC2, TelkomCloud dan BizNetCloud.
TIPE-TIPE CLOUD
Ada empat
macam/tipe cloud yang berbeda yang bisa Anda pakai sebagai pengguna, sesuai
dengan kebutuhan bisnis. Berikut adalah keempatnya!
Private Cloud
Private Cloud
ini berarti sumber daya cloud-nya digunakan bagi satu organisasi tertentu saja
(secara privat, tidak dibagi ke pengguna/organisasi lain). Metode ini lebih
banyak digunakan buat interaksi semacam intra-bisnis, di mana sumber daya
cloud-nya bisa diatur, dimiliki, dan dioperasikan oleh organisasi satu yang
sama.
Community Cloud
Community cloud
mengacu pada penggunaan source bagi komunitas dan organisasi.
Public Cloud
Jenis cloud ini
biasanya dipakai buat interaksi tipe B2C (Business to Consumer). Public Cloud
menggunakan sumber daya komputasi yang dimiliki, diatur dan dioperasikan oleh
pemerintah.
Hybrid Cloud
Jenis Cloud
yang satu ini bisa digunakan untuk kedua jenis interaksi – B2B (Business to
Business) atau B2C (Business to Consumer). Jadi, sumber daya komputasi terikat
bersama tapi dengan cloud yang berbeda.
CONTOH
CLOUD COMPUTING
- Google Drive adalah layanan penyimpanan online yang dimiliki Google. Google Drive diluncurkan pada tanggal 24 April 2012. Sebenarnya, Google Drive merupakan pengembangan dari Google Docs. Google Drive memberikan kapasitas penyimpanan sebesar 5GB kepada setiap penggunanya. Kapasitas tersebut dapat ditambahkan dengan melakukan pembayaran atau pembelian storage.
- Windows Azure adalah sistem operasi yang berbasis cloud computing, dibuat oleh Microsoftuntuk mengembangkan dan mengatur aplikasi serta melayani sebuah jaringan global dari Microsoft Data Centers, juga mendukung berbagai macam bahasa dan alat pemograman. Sistem operasi ini dirilis pada 1 Februari 2010.
TEORI GRID COMPUTING
Computational Grid merupakan suatu infrastruktur hardware dan software
yang menyediakan akses bersifat dependable, konsisten, pervasive, dan tidak
mahal terhadap kemampuan komputasional high-end. (Carl Kesselman,Ian Foster in
―The Grid: Blueprint for a New Computing Infrastructure” 1998).
Grid Computing adalah resource sharing dan penyelesaian masalah
terkoordinasi dalam organisasi virtual yang dinamis dan multi-institusional.
(Carl Kesselman, Ian Foster in ―the anatomy of the Grid” 2000).
Ian Foster pada 2002 menyampaikan pengertian dari Grid. Grid adalah
suatu sistem yang :
- Mengkoordinasi sumber daya (resources) yang tidak tunduk kepada kendali terpusat (Jika tidak, kita sedang berurusan dengan sistem manajemen lokal)
- Mengunakan protokol dan antarmuka (interface) yang bersifat standard, open, dan general-purpose.
CARA KERJA GRID
COMPUTING
Menurut tulisan singkat oleh Ian Foster ada
check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem
melakukan komputasi grid yaitu :
- Sistem tersebut melakukan koordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat. Seandainya sumber daya yang digunakan berada dalam satu cakupan domain administratif, maka komputasi tersebut belum dapat dikatakan komputasi grid.
- 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.
- Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.
KONSEP DASAR DALAM GRID COMPUTING :
- Sumber daya dikelola dan dikendalikan secara lokal.
- Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup Sumber daya komputasi dikelola oleh sistem batch berbeda.
- Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah.
- Lingkungan kolaboratif bagi e-community (komunitas elektronik,di internet)
ELEMEN DARI INFRASTRUKTUR GRID :
- Hardware / Sumber daya
- Software : middleware
- Orang / user
KEUNTUNGAN DASAR DARI PENERAPAN KOMPUTASI GRID:
- Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle
- Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah dapat berjalan lebih cepat dan mencakup domain yang lebih luas
- Software dan aplikasi: Pool dari aplikasi dan pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi penelitian yang lebih baik
- Data: Akses terhadap sumber data global, dan Hasil penelitian lebih baik
VIRTUALISASI
Virtualization
atau virtualisasi adalah teknik untuk memanfaatkan keadaan suatu computer untuk
dapat digunakan sebagai perangkat lain yang dapat menyerupai suatu perangkat
tertentu. Virtualisasi sangat cocok untuk cloud computing karena memiliki 3
karakteristik khusus yaitu Partitioning (Membagi), Isolation, dan Encapsulation.
1.
Partitioning
(membagi)
Salah satu
keuntungan menggunakan virtualisasi didalam cloud computing adalah
karakteristik partitioning atau membagi suatu sumber daya.
2.
Isolation
Isolation atau
isolasi sendiri sangat berguna dalam cloud computing, karena karakteristik ini
membuat system yang berada di dalam cloud computing tidak akan berpengaruh oleh
host / computer yang digunakan untuk membuat virtualisasi tersebut, apabila
host mengalami crash, maka system yang menggunakan virtualisasi cloud computing
tidak akan berpengaruh.
3.
Encapsulation
Virtualisasi sendiri dapat dikategorikan
menjadi satu file, jadi tidak akan berbeda dengan data yang tersimpan pada
host.
ADA 2 JENIS
HYPERVISOR DALAM DUNIA VIRTUALISASI SAAT INI :
1.
Hypervisor Type
1 (Bare Metal Hypervisor)
Dikatakan Bare
Metal hypervisor karena hypervisor ini mengakses langsung hardaware fisik tanpa
bantuan sistem operasi, dan biasnaya untuk menggunakan hypervisor type 1 kita
harus menginstall hypervisor sebagai sistem operasi (Bukan diinstall dalam
sistem operasi). Contoh Hypervisor Type 1 diantaranya : KVM, Red
hat Enterprise Virtualisation (RHEV), XEN/Citrix XenServer,Hyper-V,VMware
vSphere/ESXi.
2.
Hypervisor Type
2 (Hosted Hypervisor)
Jenis Hypervisor ini memerlukan sistem operasi
untuk berjalan, karena jenis hyper visor ini berjalan diatas sistem operasi.
Contoh Hypervisor Type 2 diantaranya : VMware Work station , VMware Player
,Virtual Box.
JENIS DAN TIPE VIRTUALISASI
Pembagian berikut ini
berdasarkan hasil akhir dari penerapan teknologi virtualisasi, walau
dalam prakteknya akan sangat komplek dan hampir mirip dalam konfigurasi.Untuk
saat ini implementasi virtualisasi dalam dunia komputer dapat
dikategorikan sebagai berikut :
1.
Virtualisasi Server
Virtualisasi Server adalah penggunaan teknologi virtualisasi dengan
tujuan untuk memecah resource fisik server kedalam beberapa Virtual
server yang nantinya akan diinstall berbagai macam sistem operasi sesuai
kebutuhan atau bisa juga virtual server ini dijual /disewakan oleh pihak
hosting, kita sering mendengarnya dengan istilah VPS (Virtual Private Server).
1.
Virtualisasi Desktop
Virtualisasi desktop merupakan teknologi software yang memisahkan
desktop environment dan aplikasi desktop yang terinstall dengan resource fisik
ketika desktop diakses oleh user. Virtualisasi desktop biasanya digunakan
bebarengan dengan virtualisasi aplikasi dan user provile management
systems atau sekarang lebih dikenal dengan “Virtualisasi User” dimana dalam 1
komputer bisa diakses oleh ratusan user dalam 1 waktu tanpa mengganggu user
lain nya. Virtualisasi user atau desktop bisa diakses menggunakan remote
desktop atau menggunakan cloud interface /browser sehingga lebih flexible.
2.
Virtualisasi Aplikasi
Virtualisasi aplikasi memungkinkan kita untuk menjalankan sebuah
aplikasi tanpa harus menginstall aplikasi tersebut bahkan bisa menjalankan nya
secara remote dengan menggunakan web interface atau cloud interface. Pada
dasarnya aplikasi akan dibungkus kedalam sebuah runtime environment (seperti
virtual machine) dan ketika aplikasi dijalankan aplikasi tersebut berjalan
diatas virtual environment yang telah di bundle bersamanya yang menjadikan
aplikasi menjadi portable. Virtual environment akan berjalan diatas sistem
operasi dan aplikasi berjalan diatas virtual environment sehingga aplikasi
benar-benar terisolasi dari OS fisik.
3.
Virtualisasi
Network
Virtualisasi
network merupakan proses penggabungan network hardware dan software kedalam
satu virtual unit(Network Server) yang menyediakan container yang berfungsi
seperti halnya perangkat network fisik. virtualisasi network biasanya digunakan
oleh developer untuk mengetest sistem dan aplikasi yang sedang dikembangkannya.
4.
Virtualisasi
Storage
Virtualisasi
storage menyediakan media penyimpan (storage) yang terisolasi (terpisah dari
resource fisik),aman dan mudah dalam fail over dan backup. salah satu contoh
implementasi virtualisasi storage yang gampang kita lihat adalah fasilitas
cloud storage seperti DropBox dan Google drive yang menyediakan /menyewakan
cloud storage bagi pelanggannya dengan menawarkan flexibilitas dimana user bisa
mengakses storage kapanpun dan dimanapun.
DISTRIBUTED
COMPUTING
Distributed
Computing adalah suatu bentuk dari parallel computing yang berkaitan dengan
sistem hardware dan software yang memiliki lebih dari satu elemen pemrosesan
atau storage element, concurent process, atau multiple program berjalan di
bawah pengendalian yang ketat. Pada distributed computing suatu program dipecah
ke beberapa bagian yang dijalankan secara bersamaan pada banyak komputer yang
berkomunikasi melalui jaringan.
Distributed
computing dapat berjalan secara simultan tetapi program yang di distribusikan
sering harus sesuai dengan lingkungan yang heterogen, link jaringan dari
berbagai latency dan kegagalan-kegagalan di jaringan atau komputer yang tidak
diprediksi.
MAPREDUCE
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.
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.
TUJUAN MAPREDUCE
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.
TAHAPAN PROSES MAPREDUCE
MapReduce memiliki dua
tahap dalam memproses data yaitu map danreduce. Tahap
pertama dari MapReduce disebut map. Map melakukan transformasi setiap data elemen input menjadi
data elemen output. Map dapat dicontohkan dengan suatu fungsi
toUpper(str) yang akan mengubah setiap huruf kecil (lowercase) menjadi
huruf besar (uppercase). Setiap data elemen huruf kecil (lowercase)
yang menjadi input dari fungsi ini akan ditransformasi menjadi data output
elemen yang berupa huruf besar (uppercase). Map memiliki
fungsi yang dipanggil untuk setiap input yang menghasilkan output pasangan intermediate <key, value>. Reduce adalah tahap yang
dilakukan setelah mapping selesai. Reduce akan
memeriksa semua value input dan mengelompokkannya menjadi
satu value output. Reduce menghasilkan output pasangan
intermediate . Sebelum memasuki tahap reduce, pasangan intermediate <key, value>
dikelompokkan berdasarkan key, tahap ini dinamakan tahap shuffle.
NOSQL
NoSQL adalah jenis basis data yang tidak menggunakan perintah SQL
dalam memanipulasi (menyimpan maupun mengambil data) basis data tersebut.
Kebanyakan basis data NoSQL digunakan dalam dunia aplikasi web waktu nyata (real-time
web app). Berbeda dengan basis data SQL dimana meskipun
berbeda-beda pembuat namun cara kerja maupun cara penggunaannya relatif sama.
Contohnya sama-sama menggunakan tabel yang dihubungkan oleh relasi-relasi,
manipulasi data dengan bahasa SQL, dsb. Basis data NoSQL bisa sangat berbeda
satu sama lain.
KELEBIHAN
NOSQL
- NoSQL bisa
menampung data yang terstruktur, semi terstruktur dan tidak terstuktur
secara efesien dalam skala besar (big data/cloud).
- Menggunakan
OOP dalam pengaksesan atau manipulasi datanya.
- 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.
- Autosharding,
istilah sederhananya, jika database noSQL di jalankandi cluster server
(multiple server) maka data akan tersebar secara otomatis dan merata
keseluruh server.
KEKURANGAN
NOSQL
- Membutuhkan
storage yang lebih besar
- Membutuhkantenaga
yang terampil dalam mengolah data
- Licensi
perngkat lunak mahal
METODE
NOSQL
- Table-oriented
Metode ini biasanya hanya dikembangkan oleh
yang membuatnya sendiri seperti Google dan Facebook dengan Big Table dan
Cassandranya. Performa dan hasil dari metode ini tidak perlu kita ragukan lagi
karena kita telah tiap hari menggunakan kedua website ini dan meskipun dengan
berjuta – juta data yang ada di database mereka tapi kita tetap bisa
memaksimalkan website mereka.
- Document-oriented
database
Jenis NoSQL ini merupakan database yang
berbasiskan dokumen. Tidak ada tabel, field dan record, yang ada hanyalah
koleksi dan dokumen. Koleksi dapat disamakan dengan tabel dan dokumen disamakan
dengan field. Berbeda dengan database relasional, pada document oriented
database, dokumen dapat memiliki field yang berbeda dengan dokumen lain
walaupun berada dalam satu koleksi. Hal ini tidak dapat dilakukan dengan
database relasional dimana sebuah record tidak mungkin memiliki field yang
berbeda dengan record yang berada dalam satu tabel. Document Oriented
digunakan oleh Mongodb, Couchdb, Ravendb, dan lain-lain.
- Graph-oriented
Jenis database NoSQL yang menggunakan struktur
graph dengan node, edge dan properties untuk menyimpan datanya. Metode ini
digunakan oleh Infinite Graph, InfoGrid, Neo4J dan lain-lain.
- Key-value
store
Hampir sama seperti document-oriented database,
yang berbeda adalah media penyimpanannya. Dalam key-value store, data tidak
langsung disimpan dalam disk seperti database pada umumnya. Data disimpan dalam
memori komputer dan sesekali data dalam memori ditulis ke disk. Penyimpanan
data dalam memori menyebabkan proses query akan lebih cepat, karena tidak perlu
lagi mengambil data dari disk. Key-Value Stores, cara ini digunakan oleh REDIS,
Tokyo Cabinet, Azure Table Storage dan lain-lain.
Komentar
Posting Komentar