Cloud Computing
Cloud
computing merupakan sistem komputasi kolaboratif yang berbasis internet.
Melalui sistem ini, para pengguna komputer dapat berbagi semua sumber dayanya.
Mulai dari software, hardware, termasuk pusat data (server). Sehingga para
pengguna komputer dapat menggunakan source tanpa perlu membeli, memiliki, atau
menginstall program di dalam komputer yang membuat berkurangnya memori
penyimpanan dalam komputer serta mempengaruhi kinerja komputer. Namun cukup
dengan menyewa sumber daya (lunak atau peranti keras) dari server inti yang
dipilih sesuai dengan kebutuhan (pay per use).
·
Keuntungan Cloud Computing:
1. Keuntungan
bagi para pelaku bisnis adalah minimalisasi biaya investasi infrastruktur
publik sehingga bisnis bisa lebih terfokus pada aspek fungsionalitasnya.
2. Bagi
application developer, layanan PaaS memungkinkan pengembangan dan implementasi
aplikasi dengan cepat sehingga meningkatkan produktivitas.
3. Bagi
para praktisi yang bergerak di industri TI, hal ini berarti terbukanya pasar
baru bagi industri jasa pengembangan teknologi informasi.
4. Bagi
pebisnis di bidang infrastruktur, hal ini merupakan peluang yang besar karena
dengan meningkatnya penggunaan layanan SaaS ini akan meningkatkan penggunaaan
bandwidth internet.
5. Integrasi
aplikasi dengan berbagai perangkat.
·
Kekurangan Cloud Computing :
1. Service
level, artinya kemungkinan service performance yang kurang konsisten dari
provider. Inkonsistensi cloud provider ini meliputi, data protection dan data
recovery.
2. Privacy,
yang berarti adanya resiko data user akan diakses oleh orang lain karena
hosting dilakukan secara bersama-sama.
3. compliance,
yang mengacu pada resiko adanya penyimpangan level compliance dari provider
terhadap regulasi yang diterapkan oleh user.
4. data
ownership mengacu pada resiko kehilangan kepemilikan data begitu data disimpan
dalam cloud.
5. data
mobility, yang mengacu pada kemungkinan share data antar cloud service dan cara
memperoleh kembali data jika suatu saat user melakukan proses terminasi
terhadap layanan cloud Computing.
·
Contoh Implementasi Cloud Computing :
1. Salesforce.com
Salesforce.com adalah
aplikasi Customer Relationship Management (CRM) berbasis software as services,
dimana kita bisa mengakses aplikasi bisnis: kontak, produk, sales tracking,
dashboard, dll.
2. Yahoo
dan Gmail
Grid
Computing
Grid
Computing adalah penggunaan sumber daya yang melibatkan banyak komputer yang
terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi
dalam skala besar. Kemampuan komputasi grid adalah setara dengan mainframe
karena semua komponennya (grid) di-cluster. Namun tidak seperti mainframe dan
server SMP (symmetric multiprocessing) yang besar, grid bersifat terbuka (open
system technologies) yang bisa mencakup system kecil-kecil dengan processor
Intel dan OS Linux sehingga biaya jadi jauh lebih murah.
·
Keuntungan Grid Computing :
1.
Teknologi grid computing mampu menjadi solusi
bagi perusahaan-perusahaan untuk memiliki suatu sistem informasi yang
berteknologi canggih, yang mampu mendukung kinerja perusahaan, dengan biaya
yang lebih murah.
2.
Kemampuan teknologi tersebut untuk mendukung
kinerja perusahaan tidak diragukan lagi. Teknologi grid computing
membuka peluang bagi adanya kerjasama lintas organisasi, lintas benua, dan
lintas bangsa.
3.
Selain itu, terbuka pula peluang untuk melakukan
komputasi yang rumit dengan menggunakan super komputer yang canggih, tanpa
harus melakukan investasi besar-besaran dalam bidang teknologi informasi.
4.
Lebih hemat biaya dalam penggunaan sejumlah
tertentu sumber daya komputer,
5.
Sebagai cara untuk memecahkan masalah yang
mungkin tidak dapat dipecahkan tanpa sejumlah besar daya komputasi,
dan
6.
Karena menunjukkan bahwa sumberdaya dari
banyak komputer dapat kooperatif dan
7.
Dimanfaatkan secara sinergis, serta
dikelola sebagai sebuah kolaborasi mencapai tujuan Bersama.
·
Kekurangan Grid Computing :
1.
Manajemen
institusi yang terlalu birokratis menyebabkan mereka enggan untuk
fasilitas yang dimiliki untuk digunakan secara bersama agar mendapatkan manfaat
yang lebih besar bagi masyarakat luas.
2.
Masih
sedikitnya sumber daya manusia yang kompeten dalam mengelola grid
computing.
3.
Kurangnya
pengetahuan yang mencukupi bagi teknisi IT maupun user non teknisi mengenai
manfaat dari grid computing itu sendiri.
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 diimplementasikan kedalam
berbagai bentuk, antara lain (Harry Sufehmi, Pengenalan Virtualisasi, 20090607)
:
- 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
Pembahasan kali ini akan menitikberatkan pada
materi platform virtualization alias virtualisasi komputer dan sistem operasi.
·
Keuntungan 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.
·
Kekurangan 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.
Distributed
Computation Dalam Cloud Computing
Secara
sederhana, distributed computing dapat diartikan sebagai suatu teknologi yang
dapat memecahkan suatu masalah besar ke dalam proses-proses kecil ke banyak
komputer untuk kemudian proses kecil itu dipecahkan secara simultan dan apabila
sudah didapatkan solusi-solusi kecil maka disatukan kembali dalam satu solusi
yang besar dan terintegrasi. Dari tujuannya, distributed computing
menghubungkan banyak user dan resource yang bekerjasama memecahkan permasalahan
dalam sistem yang terbuka, transparan dan memiliki skalabilitas yang tinggi.
Distributed computing mengacu pada penggunaan sistem terdistribusi untuk
memecahkan masalah komputasi. Dalam distributed computing, masalah dibagi
menjadi banyak tugas, masing-masing yang diselesaikan oleh satu komputer.
Komputer yang saling berinteraksi untuk mencapai tujuan bersama. Sebuah sistem
terdistribusi terdiri dari beberapa komputer otonom yang berkomunikasi melalui
jaringan komputer.
Map Reduce dan NoSQL (Not Only SQL)
Map Reduce danNoSQL (Not Only SQL)
adalah sebuah pemogramaan framework guna untuk membantu user mengembangankan
sebuah data yang ukuran besar dapat terdistribusi satu sama lain. 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 produk
adalah 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 adalah istilah untuk menyatakan berbagai hal yang didalamnya
termasuk database sederhana yang berisikan key dan value seperti
Memcache, ataupun yang lebih canggih yaitu non-database
relational seperti MongoDB, Cassandra, CouchDB, dan yang lainnya.
Wikipedia menyatakan NoSQL adalah
sistem menejemen database yang berbeda dari sistem menejemen database
relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan
skema table dan umumnya menghindari operasi join dan berkembang secara
horisontal. Akademisi menyebut database seperti ini sebagai structured
storage, istilah yang didalamnya mencakup sistem menejemen database relasional.
NO
SQL
NoSQL bukan lah
berarti “No SQL” akan tetapi arti dari NoSQL adalah “Not Only SQL”. Berikut
merupakan beberapa pengertian mengenai NoSQL :
NoSQL merupakan suatu database sederhana yang
berisikan key dan value seperti Memoache, ataupun yang lebih canggih yaitu
non-database relasional seperti MongoDB, Cassandra, CouchDB, dan yang lainnya.
NoSQL merupakan database yang berbeda dengan
sistem manajemen database relasional yang klasik dalam beberapa hal. NoSQL
mungkin tidak membutuhkan skema tabel dan umumnya menghindari join dan
berkembang secara horizontal.
NoSQL merupakan konsep penyimpanan data secara
non-relasional.
·
Kelebihan NoSQL :
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 NoSQL :
1.
Hostingnya mahal. beberapa layanan di luar
negeri mencharge biaya 100-200USD untuk hosting database noSQL. Selain itu,
saya belum pernah menemukan hosting Cpanel yang mendukung database MongoDB atau
database noSQL lainnya.
2.
Selain itu, karena bervariasinya produk dan
format penyimpanan, berpindah antar satu produk database ke produk noSQL
lainnya perlu waktu untuk belajar. Contohnya ketika anda pindah dari MongoDB ke
Cassandra, maka anda harus belajar lagi dari awal, berbeda dengan database
RDMS.
Sumber :