Cloud computing adalah sebuah istilah dalam ilmu komputer yang berarti komputasi awan yang berbasis internet atau biasa dalam dunia IT dengan sebutan
"The Cloud". Istilah lain dalam teknologi cloud computing yaitu Sebuah jaringan komputer yang saling berhubungan dengan
komputer lain yang dapat dijalankan secara bersamaan. Cloud computing sebenarnya penerapannya terpaku pada
satu server atau banyak yang telah disediakan yang layanannya berupa
penyimpanan data di server.
Cloud computing yang datanya disimpan dalam server bersifat permanen artinya semua
pengguna dapat mengakses secara bersamaan melalui akses internet, dan
menggunakan datanya juga secara bersamaan. Untuk saat ini cloud computing
menjadi sebuah tren teknologi terbaru 2014 dimana setiap orang akan melakukan penyimpanan datanya melalui
cloud computing karena dengan menggunakan cloud computing data maka semua
datanya akan aman karena terproteksi.
APA ITU VIRTUALISASI
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.
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.
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
KEUNTUNGAN PENGGUNAAN VIRTUALISASI
1. Pengurangan Biaya Investasi Hardware. Investasi hardware dapat ditekan
lebih rendah karena virtualisasi hanya mendayagunakan kapasitas yang sudah ada.
Tak perlu ada penambahan perangkat komputer, server dan pheriperal secara
fisik. Kalaupun ada penambahan kapasitas harddisk dan memori, itu lebih
ditujukan untuk mendukung stabilitas kerja komputer induk, yang jika dihitung
secara finansial, masih jauh lebih hemat dibandingkan investasi hardware baru.
2. Kemudahan Backup & Recovery. Server-server yang dijalankan didalam
sebuah mesin virtual dapat disimpan dalam 1 buah image yang berisi seluruh
konfigurasi sistem. Jika satu saat server tersebut crash, kita tidak perlu
melakukan instalasi dan konfigurasi ulang. Cukup mengambil salinan image yang
sudah disimpan, merestore data hasil backup terakhir dan server berjalan
seperti sedia kala. Hemat waktu, tenaga dan sumber daya.
3. Kemudahan Deployment. Server virtual dapat dikloning sebanyak mungkin
dan dapat dijalankan pada mesin lain dengan mengubah sedikit konfigurasi.
Mengurangi beban kerja para staff IT dan mempercepat proses implementasi suatu
sistem
4. Mengurangi Panas. Berkurangnya jumlah perangkat otomatis mengurangi
panasnya ruang server/data center. Ini akan berimbas pada pengurangan biaya
pendinginan/AC dan pada akhirnya mengurangi biaya penggunaan listrik
5. Mengurangi Biaya Space. Semakin sedikit jumlah server berarti semakin
sedikit pula ruang untuk menyimpan perangkat. Jika server ditempatkan pada
suatu co-location server/data center, ini akan berimbas pada pengurangan biaya
sewa
6. Kemudahan Maintenance & Pengelolaan. Jumlah server yang lebih
sedikit otomatis akan mengurangi waktu dan biaya untuk mengelola. Jumlah server
yang lebih sedikit juga berarti lebih sedikit jumlah server yang harus
ditangani
7. Standarisasi Hardware. Virtualisasi melakukan emulasi dan enkapsulasi
hardware sehingga proses pengenalan dan pemindahan suatu spesifikasi hardware
tertentu tidak menjadi masalah. Sistem tidak perlu melakukan deteksi ulang
hardware sebagaimana instalasi pada sistem/komputer fisik
8. Kemudahan Replacement. Proses penggantian dan upgrade spesifikasi
server lebih mudah dilakukan. Jika server induk sudah overload dan
spesifikasinya tidak mencukupi lagi, kita bisa dengan mudah melakukan upgrade
spesifikasi atau memindahkan virtual machine ke server lain yang lebih powerful
KERUGIAN PENGGUNAAN VIRTUALISASI
1. Satu Pusat Masalah. Virtualisasi bisa dianalogikan dengan menempatkan
semua telur didalam 1 keranjang. Ini artinya jika server induk bermasalah,
semua sistem virtual machine didalamnya tidak bisa digunakan. Hal ini bisa
diantisipasi dengan menyediakan fasilitas backup secara otomatis dan periodik
atau dengan menerapkan prinsip fail over/clustering
2. Spesifikasi Hardware. Virtualisasi membutuhkan spesifikasi server yang
lebih tinggi untuk menjalankan server induk dan mesin virtual didalamnya
3. Satu Pusat Serangan. Penempatan semua server dalam satu komputer akan
menjadikannya sebagai target serangan. Jika hacker mampu menerobos masuk
kedalam sistem induk, ada kemungkinan ia mampu menyusup kedalam server- server
virtual dengan cara menggunakan informasi yang ada pada server induk
4.
Perbedaan
antara Virtualisasi dan Cloud Computing
Ada dua istilah yang sedang populer saat
ini dalam hal teknologi komputasi, yaitu Virtualisasi dan Cloud Computing,
namun saat ini sepertinya banyak yang menganggap bahwa virtualisasi dan cloud
computing adalah hal sama, padahal sebenarnya cloud computing lebih dari
sekedar 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.
Sedangkan cloud computing adalah sebuah teknologi yang menggabungkan
virtualisasi dan grid computing. Jadi selain ada proses virtualisasi,juga
terdapat grid computing, dimana seluruh beban proses komputasi yang ada akan
didistribusikan ke berbagai server yang saling terhubung di dalam cloud,
sehingga prosesnya akan jauh lebih ringan. Dengan menggabungkan proses
virtualisasi dan grid computing, Anda akan mendapatkan efisiensi dan hasil
performa yang sangat optimal dalam proses komputasi. Dengan cloud computing,
seolah-olah Anda memiliki infrastruktur super besar yang mampu melakukan proses
komputasi dan penyimpanan data tanpa batas, padahal secara fisik, Anda tidak
memiliki atau membeli apa-apa, semuanya berada di dalam "cloud" yang
dapat Anda gunakan secara on-demand dan dapat diakses melalui jaringan private
maupun publik. Kesimpulannya, cloud computing lebih dari sekedar virtualisasi.
Cloud computing merupakan gabungan antara teknologi virtualisasi dan grid
computing. Tentunya implementasi cloud computing mampu memberikan hasil yang
jauh lebih efisien dan powerfull dalam hal proses komputasi dan pengelolaan
resource IT secara terdistribusi.

Kelebihan Cloud Computing:
1. Menghemat biaya dan ruang infratructure pembelian sumber daya
komputer
2. Bisa mengakses file dimana saja dan kapan saja
3. Bisa menghemat waktu pada perusahaan sehingga bisa langsung
fokus pada perkembangan infrastructure
4. Dapat dengan mudah di monitoring dari satu server
5. Operasional dan manajemen lebih mudah dan sederhana
6. Menghemat biaya operasional pada sistem informasi yang dibangun
7. Kolaborasi yang terpercaya
Kekurangan Cloud Computing:
1. Komputer akan menjadi lemot atau lambat atau tidak bisa
dipakai sama sekali bila internet putus
2. Komputer akan menjadi lambat kinerjanya jika koneksi internet
kita juga lambat
3. Komputer akan menjadi sangat lambat karena diakses oleh banyak
pengguna sehingga server akan menerima banyak sekali permintaan
4. Jika tidak mempunyai backup yang handal maka hal terburuk ini
akan timbul karena semua data berada di satu server pada cloud computing
Karakteristik Cloud Computing:
1. On-Demand Self-Services
Merupakan sebuah layanan cloud computing yang harus dapat dimanfaatkan oleh para pengguna melalui beberapa mekanisme swalayan dan dapat langsung tersedia pada saat dibutuhkan oleh para pengguna.
2. Broad Network Access
Merupakan sebuah layanan cloud computing harus bisa diakses dari kapan saja, dimana saja, dengan software apa pun, yang terpenting kita terhubung ke jaringan internet. misal : Handphone, tablet.
3. Resource Pooling
Merupakan sebuah layanan cloud computing yang harus tersedia secara terpusat dan bisa membagi sumber daya secara cepat dan efisien.
4. Rapid Elasticity
Merupakan sebuah layanan cloud computing yang harus dapat menaikan dan menurunkan kapasitas sesuai dengan kebutuhan server dan pengguna.
5. Measured Service
Merupakan sebuah layanan cloud computing yang harus disediakan secara terukur dan teratur, karena ini akan dilakukan dalam proses pembayaran.
Sejarah
Cloud Computing
Tahun 1960
John McCarthy, Pakar Komputasi dan Intelegensi Buatan dari MIT. “Suatu
hari nanti, komputasi akan menjadi Infrastruktur publik seperti halnya listrik
dan telepon.” Ini adalah sebuah ide yang mengawali suatu bentuk
komputasi yang kita kenal dengan istilah Cloud Computing.
Tahun 1995
Larry Ellison, pendiri perusahaan Oracle. “Network Computing” Ide ini
sebenarnya cukup unik dan sedikit menyindir perusahaan Microsoft pada saat itu.
Intinya, kita tidak harus "menanam" berbagai perangkat lunak kedalam
PC pengguna, mulai dari sistem operasi hingga perangkat lunak lainya. Cukup
dengan koneksi dengan server dimana akan disediakan sebuah environment yang
mencakup berbagai kebutuhan PC pengguna.
Pada era ini
juga wacana “Network Computing” cukup populer. Banyak perusahaan yang
menggalang sistem ini contohnya Sun Mycrosystem dan Novell Netware. Disayangkan
kualitas jaringan komputer saat itu masih belum memadai, penggunapun cenderung
memilih PC karena cenderung lebih cepat.
Akhir Era-90
Lahir konsep ASP (Application Service Provider) yang ditandai dengan kemunculan
perusahaan pusat pengolahan data. Ini merupakan sebuah perkembangan pada
kualitas jaringan komputer. Akses untuk pengguna menjadi lebih cepat.
Tahun 2000
Marc Benioff, mantan wakil presiden perusahaan Oracle. “salesforce.com” ini
merupakan sebuah perangkat lunak CRM dengan basis SaaS (Software as a Service).
Tak disangka gebrakan ini mendapat tanggapan hebat. Sebagai suksesor dari visi
Larry Ellison, boss-nya. Dia memiliki sebuah misi yaitu “The End of
Software”.
2005 –
Sekarang Cloud Computing sudah semakin meningkat populatitasnya, dari mulai
penerapan sistem, pengunaan nama, dll. Amazon.com dengan EC2 (Elastic Computer
Cloud); Google dengan Google App. Engine; IBM dengan Blue Cord Initiative; dsb.
Perhelatan cloud computing meroket sebagaimana berjalanya waktu. Sekarang,
sudah banyak sekali pemakaian sistem komputasi itu, ditambah lagi dengan sudah
meningkatnya kualitas jaringan komputer dan beragamnya gadget yang ada. Contoh
dari pengaplikasianya adalah Evernote, Dropbox, Google Drive, Sky Drive,
Youtube, Scribd, dll.
Contoh Komputasi
Awan
Google Drive
adalah layanan cloud storage dari Google yang diluncurkan pada akhir April
2012, yaitu layanan untuk menyimpan file di internet pada storage yang
disediakan oleh Google. Dengan menyimpan file di Google Drive maka pemilik file
dapat mengakses file tersebut kapanpun dimanapun dengan menggunakan komputer
desktop, laptop, komputer tablet ataupun smartphone. Dan file tersebut dapat di
share dengan orang lain untuk berbagi pakai dan juga kolaborasi peng-edit-annya.
Kapasitas yang disediakan oleh google drive untuk layanan gratis adalah 5GB,
untuk menggunakan kapasitas lebih dari itu maka akan dikenakan biaya tambahan.
Dengan
menggunakan Google Drive, berarti pemilik file telah memiliki back-up file nya
di internet sehingga jika terjadi sesuatu pada file yang disimpan di komputer
atau laptop, misalnya file tersebut rusak atau hilang atau terkena virus, atau
komputer/laptopnya rusak yang menyebabkan tidak dapat digunakan, maka file yang
berada di Google Drive tetap aman dan tetap dapat diakses menggunakan komputer
lain yang terhubung ke internet.
Grid Computing
Pengertian dari Grid Computing itu sendiri adalah sebuah sistem
komputasi terdistribusi, yang memungkinkan seluruh sumber daya (resource) dalam
jaringan, seperti pemrosesan, bandwidth jaringan, dan kapasitas media
penyimpan, membentuk sebuah sistem tunggal secara vitual. Seperti halnya
pengguna internet yang mengakses berbagai situs web dan menggunakan berbagai
protokol seakan-akan dalam sebuah sistem yang berdiri sendiri, maka pengguna
aplikasi Grid computing seolah-olah akan menggunakan sebuah virtual komputer
dengan kapasitas pemrosesan data yang sangat besar.
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 :
1. 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.
2. 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.
3. Sistem tersebut berusaha untuk mencapai
kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas
kualitas layanan komponen individu dari komputasi grid tersebut.
Keuntungan Grid Computing
Secara generik,
keuntungan dasar dari penerapan komputasi Grid, yaitu:
1. Perkalian dari sumber daya: Resource pool
dari CPU dan storage tersedia ketika idle
2. Lebih cepat dan lebih besar: Komputasi
simulasi dan penyelesaian masalah apat berjalan lebih cepat dan mencakup domain
yang lebih luas
3. Software dan aplikasi: Pool dari aplikasi
dan pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi
penelitian yang lebih baik
4. Data: Akses terhadap sumber data global,
dan Hasil penelitian lebih baik
Secara generik,
keuntungan dasar dari penerapan komputasi Grid, yaitu:
1. Perkalian dari sumber daya: Resource pool
dari CPU dan storage tersedia ketika idle
2. Lebih cepat dan lebih besar: Komputasi
simulasi dan penyelesaian masalah apat berjalan lebih cepat dan mencakup domain
yang lebih luas
3. Software dan aplikasi: Pool dari aplikasi
dan pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi
penelitian yang lebih baik
4. Data: Akses terhadap sumber data global,
dan Hasil penelitian lebih baik
Konsep
Grid Computing
a. Sumberdaya Infrastruktur
Mencakup
hardware seperti penyimpan, prosesor, memori, dan jaringan; juga software yang
didisain untuk mengelola hardware ini, seperti database, manajemen penyimpan,
manajemen sistem, server aplikasi dan system operasi.
b. Sumberdaya Aplikasi
Adalah
perwujudan logika bisnis dan arus proses dalam software aplikasi. Sumberdaya
yang dimaksud bisa berupa aplikasi paket atau aplikasi buatan, ditulis dalam
bahasa pemrograman, dan merefleksikan tingkat kompleksitas. Sebagai contoh,
software yang mengambil pesanan dari seorang pelanggan dan mengirimkan balasan,
proses yang mencetak slip gaji, dan logika yang menghubungkan telepon dari
pelanggan tertentu kepada pihak tertentu pula.
c. Sumberdaya Informasi
Saat ini, informasi cenderung
terfragmentasi dalam perusahaan, sehingga sulit untuk memandang bisnis sebagai
satu kesatuan. Sebaliknya, grid computing menganggap informasi adalah
sumberdaya, mencakup keseluruhan data pada perusahaan dan metadata yang
menjadikan data bisa bermakna. Data bias berbentuk terstruktur,
semi-terstruktur, atau tidak terstruktur, tersimpan di lokasi manapun, seperti
dalam database, sistem file local.
Integrasi Database
Integrasi database merupakan suatu
penggabungan database yang dapat saling berhubungan satu sama lain dengan
berbagai cara yang sesuai keperluan. Dalam melakukan integrasi database, data
dalam sebuah sistem tidak boleh hilang atau kekurangan satu datapun. Tujuan untuk melakukan integrasi database
yaitu untuk mempermudah pekerjaan dalam mengelola data yang berskala besar.
Dengan dilakukannya integrasi database maka database-database yang disekitarnya
dapat saling berhubungan dengan mudah sesuai dengan keperluannya masing-masing.
Contoh dari database cloud computing
1. Xeround
Merupakan layanan
database cloud dengan basis MYsql.Xeround saat ini telah tersedia di Amazon Web
Services yang data centernya terletak di Amerika utara dan Eropa. Perangkat
lunak ini menggunakan partisi virtual dimana data partisi yang dipisahkan –
atau diabstraksikan – dari sumber daya fisik. Ini partisi virtual memegang
salinan baik data dan indeks, untuk memastikan ketersediaan tinggi dan kinerja.
2. Microsoft Sql Azure Database
Microsoft ® SQL
Azure ™ Database adalah database layanan awan relasional (RDBMS) yang dibangun
pada SQL Server ® teknologi. Ini adalah, sangat tersedia scalable,
multi-penyewalayanan database yang diselenggarakan oleh Microsoft di awan.
Database SQL Azuremembantu untuk meringankan penyediaan dan penyebaran database
multipel. Pengembang tidak perlu menginstal, setup, patch atau mengelola
perangkat lunak apapun, karena semua itudiurus oleh Microsoft dengan platform
ini sebagai layanan (PAAS). Ketersediaan tinggi dan toleransi kesalahan adalah
built-in dan tidak ada administrasi fisik yang diperlukan.Pelanggan dapat
menggunakan pengetahuan yang ada di T-SQL pengembangan dan modelrelasional data
untuk simetri akrab dengan yang ada pada database lokal. Selain itu, pelanggan
bisa mendapatkan produktif pada SQL Azure cepat dengan menggunakan perkembangan
yang sama dan alat-alat manajemen yang mereka gunakan untuk lokal layanan
database.
Distributed Computation dalam Cloud Computing
Komputasi Terdistribusi merupakan
salah satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber
daya secara paralel, 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 dan juga dapat menghemat biaya operasional karena tidak membutuhkan
sumber daya (resourches).
Bidang ilmu komputer yang berkaitan
Bidang ilmu komputer yang berkaitan dengan
sistem terdistribusi disebut komputasi terdistribusi. Sebuah sistem
terdistribusi terdiri dari lebih dari satu komputer self-directed berkomunikasi
melalui jaringan. Komputer-komputer ini menggunakan memori lokal mereka
sendiri. Semua komputer dalam sistem terdistribusi berbicara satu sama lain
untuk mencapai tujuan bersama tertentu. Atau, pengguna yang berbeda pada setiap
komputer mungkin memiliki kebutuhan individu yang berbeda dan sistem
terdistribusi akan melakukan koordinasi sumber daya bersama (atau bantuan
berkomunikasi dengan node lain) untuk mencapai tugas-tugas masing-masing. Node
berkomunikasi menggunakan message passing. Komputasi terdistribusi juga dapat
diidentifikasi sebagai menggunakan sistem terdistribusi untuk memecahkan
masalah besar tunggal dengan melanggar itu dengan tugas, masing-masing yang
dihitung masing-masing komputer dari sistem terdistribusi. Biasanya, mekanisme
toleransi berada di tempat untuk mengatasi kegagalan komputer individu.
Struktur (topologi, delay dan kardinalitas) dari sistem ini tidak dikenal di
muka dan itu bersifat dinamis. Komputer individu tidak harus tahu segala
sesuatu tentang seluruh sistem atau masukan lengkap (untuk masalah yang akan
dipecahkan).
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.
NO SQL
Database
NO SQL pertama kali digunakan pada tahun 1998 sebagai nama untuk open
source database yang ringan tidak mengekspos antarmuka SQL. Penulisnya, Carlo
Strozzi, mengklaim bahwa sebagai gerakan NoSql “berangkat dari model relasional
yang lebih tepat disebut NoREL atau sesuatu yang berpengaruh. Istilah ini
diperkenalkan kembali pada awal 2009 oleh karyawan Rackspace, Eric Evans,
ketika Johan Oskarsson dari Last.fm ingin mengorganisir sebuah acara untuk membahas
open source database terdistribusi. Adapun kelebihannya, antara lain
Vendor relasional database besar (Oracle,
IBM, Sybase dan Microsoft) merupakan andalan untuk menyimpan data.
Pertumbuhan internet yang semakin besar
(mereka mencari RDBMS yang berbiaya rendah seperti MySQL dan PostgreSQL).
Pengunjung web yang besar menyebabkan lalu
lintas data yang besar sehingga dapat mengakibatkan “efek slash dot”.
SUMBER