Definisi
Pada
sistem komputasi tradisional, dokumen yang telah kita buat hanya dapat
tersimpan di dalam komputer kita sendiri. Dokumen tersebut dapat diakses di
dalam jaringan pribadi kita, namun tidak dapat diakses di luar jaringan kita. Cloud computing adalah sistem
komputerisasi berbasis jaringan/internet dimana suatu sumber daya, software,
informasi dan aplikasi disediakan untuk digunakan oleh komputer lain yang
membutuhkan. Cloud computing
menyediakan sumber daya dan kapabilitas dari teknologi informasi (seperti
aplikasi, penyimpanan, komunikasi, dan sebagainya) melalui jasa yang ditawarkan
oleh CSP (Cloud Service Provider).
Contoh dari CSP yang ada saat ini, misalnya Google dengan layanan-layanan
berbasis cloud-nya seperti Google
Docs ataupun Google Spreadsheet. Ada pula cloud
computing untuk keperluan non-publik, yakni Amazon EC2, dimana amazon
menyediakan komputer induk dan kita bisa mengirim dan menggunakan sistem
virtual dan menggunakannya dalam jangka waktu dan biaya sewa tertentu.
Terdapat banyak definisi
mengenai komputasi awan yang dirumuskan oleh para ahli, salah satunya
dikemukakan oleh National Institute of Standards and Technology (NIST), bahwa cloud computing adalah:
“model for
enabling convenient, on-demand network access to a shared pool of configurabe
computing resources (such as networks, servers, storage, applications and
services) that can be rapidly provisioned and released with minimal management
effort or service provider interaction.”
Sederhananya, sebuah awan atau cloud
dapat diumpamakan sebagai perangkat keras ataupun lunak yang dapat diakses
melaui jaringan internet dan digunakan untuk membangun sebuah solusi bagi
permintaan atas penyediaan informasi yang diminta oleh penggunanya. Dengan kata
lain, cloud computing merupakan
teknologi informasi layanan yang dapat digunakan atau diakses melalui internet
untuk memberikan kebutuhan informasi bagi para penggunanya. Penggunaan istilah cloud dalam komputasi awan ini mewakili
perumpamaan bagi internet yang dianggap sebagai “awan besar” (dalam skema
network, internet dilambangkan sebagai awan) yang berisi sekumpulan besar
komputer yang saling terhubung. Dengan demikian, cloud computing atau komputasi awan dapat pula diartikan sebagai
komputerisasi berbasis sekumpulan komputer yang saling terhubung.
Gambar
1.1. Topologi Cloud Computing
Konsep Cloud
Computing ini mulai diperkenalkan pada zaman Server Mainframe sekitar
tahun 1950-an. Pada saat itu Server Mainframe diperkenalkan sebagai semua mesin
yang memiliki perangkat keras yang bisa memenuhi sebuah ruangan (karena
teknologi saat itu masih menggunakan transistor sebesar jempol tangan). Faktor
biaya dan pemeliharaan Server Mainframe menyebabkan organisasi tersebut
mengaplikasikan konsep “sharing resource“, dimana pengguna bisa
menggunakan server Mainframe ini secara bersamaan dengan cara, berbagi daya
komputasi dan data. Pengguna bisa mengakses server Mainframe ini dari terminal
mereka masing-masing.
Virtualisasi
dan Cloud Computing
Cloud computing bisa dianggap sebagai perluasan dari virtualisasi.
Virtualisasi sendiri dapat diartikan sebagai pembuatan suatu bentuk atau versi
virtual dari sesuatu yang bersifat fisik, misalnya sistem operasi, perangkat storage/penyimpanan data atau sumber
daya jaringan. Dengan adanya virtualisasi ini, perusahaan bisa menempatkan
aplikasi atau sistem yang digunakan di internet, tidak mengelolanya secara
internal, misalnya penggunaan layanan Google Docs dan Google Spreadsheet yang
memungkinkan perusahaan untuk meniadakan kebutuhan perusahaan akan suatu
aplikasi office untuk mengolah kata
dan juga aplikasi spreadsheet di
internal perusahaan. Virtualisasi tidak akan lepas dari cloud
computing. Salah satu karakteristik cloud computing yang
merupakan turunan dari virtualisasi ini adalah elastisitas dan fleksibilitas.
Pengguna bisa menggunakan cloud computing dalam jangka waktu
yang pendek sekalipun dan bisa dengan mudah menambah atau mengurangi resource computing mereka.
Sebagai contoh, untuk memenuhi kebutuhan trial atau development sebuah
aplikasi yang hanya membutuhkan computing resource dalam 2-3
minggu lamanya. Hal ini akan sulit jika pengguna masih menggunakan server fisik
karena justifikasinya akan kurang bisa diukur bagi managemen organisasi
tersebut.
Meskipun saling berhubungan,
beberapa pendapat lain mengatakan bahwa pengertian antara virtualisasi dan cloud computing harus dipisahkan karena
pada dasarnya virtualisasi dan cloud
computing merupakan dua hal yang
berbeda. Virtualisasi dibedakan dari cloud
computing karena virtualisasi adalah perangkat lunak yang memanipulasi
perangkat keras, (”software that
manipulates hardware”), sedangkan pengertian cloud computing lebih ditujukan pada jasa atau service yang dihasilkan dari proses manipulasi tersebut. Kerancuan
dalam pendefinisian dua hal ini muncul karena virtualisasi dan cloud computing bekerja bersama untuk
menyediakan berbagai jenis jasa (service).
Database
Terintegrasi dalam Cloud
Saat ini, dalam membangun suatu aplikasi, mutlak diperlukan adanya
database. Hal ini juga berlaku untuk aplikasi yang di deploy di environment cloud computing. Terdapat beberapa
database yang dapat digunakan dalam cloud
computing, contohnya adalah database berbasis web, seperti Socrates,
Cebase, dan Dabble DB. Berbeda dengan database yang di deploy di Data Center
on-premise, database di cloud computing
dapat dilihat sebagai “Database as a Service”. Maksudnya, di database di awan
ini, layanan berupa Relational Database, Reporting dan Data Sync tersedia
lengkap dengan kemampuan scalability yang elastis, provisioning dan deployment
yang mudah, high availability dan fault tolerance yang otomatis, hingga tidak
perlu dilakukannya administrasi fisik database. Microsoft SQL Azure adalah
database yang tersedia di data center cloud computing milik Microsoft yang
dapat kita pergunakan. SQL Azure adalah satu-satunya layanan “Database as a
Service” yang ada di pasaran saat ini. SQL Azure merupakan bagian dari cloud computing milik Microsoft yang
disebut Windows Azure Platform.
SQL Azure adalah layanan “Database as a Service” yang sebenarnya, yang
pertama kali ada di pasaran, dan hingga saat ini merupakan satu-satunya layanan
yang tersedia di pasaran. SQL Azure menawarkan tiga kemampuan berikut sehingga
disebut sebagai layanan “Database as a Service” yang sebenarnya, yakni managed service, scale on demand, dan innovate
faster. Di SQL Azure, database yang kita bangun akan di deploy di server di
data center cloud computing Azure milik Microsoft. Provisioning dan deployment
dapat dilakukan dengan sangat mudah melalui suatu portal di web, maupun dari
tools yang familiar seperti halnya SQL Server Management Studio.
Database yang kita deploy
akan mendapat dukungan high availability dan fault tolerance secara otomatis
tanpa perlu kita sendiri yang mengerjakannya. Dengan kata lain, kita tidak
perlu lagi me-manage server fisik ataupun virtual machine untuk database kita,
karena semuanya di urus oleh SQL Azure. Sebagai layanan Cloud Computing, SQL
Azure menawarkan Database seperti halnya utility, dimana kita hanya akan
membayar sesuai dengan pemakaian kita, dan tentu saja mendukung calability
berupa naik turun-nya load database secara elastis. SLA yang ditawarkan adalah
“business ready” yang artinya dapat digunakan untuk scenario-skenario aplikasi
bisnis pada umumnya. Selain itu, datacenter Azure terdapat di tiga benua, yang
memungkinkan international presence untuk aplikasi yang kita bangun. Pada
dasarnya, SQL Azure sebenarnya adalah relational database seperti Microsoft SQL
Server yang sudah kita kenal. Jadi, Developer maupun Database Administrator
dapat menggunakan skill yng sudah mereka miliki di SQL Server, untuk dapat
dipakai di SQL Azure. Jadi, singkatnya, di SQL Azure, kita tinggal membuat
database dan deploy. Tidak lagi diusingkan masalah scalability, high
availability, fault tolerance, administrasi server secara fisik dan sebagainya.
Komputasi
Terdistribusi dalam Cloud
Komputasi terdistribusi yang di maksud di sini adalah
suatu teknik yang dapat digunakan untuk menyelesaikan berbagai masalah dalam
cloud computing. Komputasi terdistribusi adalah konsep menggunakan sistem
terdistribusi terdiri dari banyak node diatur sendiri untuk memecahkan masalah
yang sangat besar atau yang biasanya sulit untuk diselesaikan dengan satu
komputer. Jadi, masalah yang besar akan di proses ke banyak komputer kemudian
proses tersebut dipecahkan sehingga mendapatkan solusi-solusi yang lebih kecil
apabila sudah didapatkan maka disatukan kembali dalam satu solusi yang besar
dan terintegrasi. Komputasi terdistribusi adalah konsep menggunakan sistem
terdistribusi terdiri dari banyak node diatur sendiri untuk memecahkan masalah
yang sangat besar atau yang biasanya sulit untuk diselesaikan dengan satu
komputer.
Map Reduce dan NoSQL
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. 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 melarangbahasa 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 tupel.
Keamanan
Data dan Aspek Hukum Cloud Computing
Mayoritas diskusi
mengenai persyaratan untuk spesifikasi proyek-proyek cloud computing mengacu
pada aspek keamanan data dan aspek hukum. Aspek keamanan data secara khusus
memerlukan tanggung jawab dan spesifikasi yang jelas serta didefinisikan
terperinci untuk pengguna layanan cloud computing maupun penyedia
layanan cloud computing. Secara umum, tingkat pengaturan dan tanggung
jawab bervariasi tergantung pada model layanan cloud computing yang
disediakan. Sebagai contoh, pada model layanan Infrastructure as a Services (IaaS),
tanggung jawab pengguna layanan cloud computing biasanya mencakup
konfigurasi platform keamanan dan perawatan, koleksi catatan log dan monitoring
keamanan. Model layanan seperti Software as a Services (SaaS) dan Platform
as a Services (PaaS) memasukkan aktifitas diatas pada sisi penyedia
layanan.
Beberapa persyaratan
keamanan data internal dan eksternal harus dipertimbangkan berdasarkan
klasifikasi penempatan, pengiriman atau pemrosesan informasi. Beberapa standar
seperti ISO 27001 biasanya menuntut perubahan teknis dan organisasi, dimana
persyaratan khusus seperti Payment Card Industry Data Security Standards (PCI
DSS) untuk data kartu kredit menjelaskan persyaratan-persyaratan yang sangat
mendetil, sehingga membutuhkan usaha yang cukup besar dari sisi waktu dan biaya
konsumsi.
Perbedaan
hukum Nasional dan Internasional untuk proteksi data memberi perbedaan pada
persyaratan-persyaratan penting, sehingga menimbulkan banyak kebingungan pada
regulasi penerapan cloud computing, terutama pada organisasi
Internasional. Beberapa pertanyaan seperti penempatan basis host untuk cloud
computing, siapa yang diberikan akses untuk mengakses data tertentu dan
bagaimana tindak lanjut terhadap insiden keamanan, merupakan beberapa agenda
utama diskusi terkait regulasi untuk implementasi cloud computing. Beberapa
solusi dapat ditemukan pada definisi yang sangat lengkap mengenai pengaturan dan
tanggung jawab, hak akses pengguna,
lokasi dari penyedia layanan cloud computing, kontrak dan Service
Level Agreement (SLA).
Komputasi
Grid (Grid Computing)
Terdapat beberapa definisi untuk menjelaskan
apa itu komputasi grid sebenarnya. Wikipedia mengartikan komputasi grid sebagai penggunaan
sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah
secara geografis untuk memecahkan persoalan komputasi dalam skala besar (http://id.wikipedia.org). Sementara itu, definisi lain yang dikutip dari Foster dan Kesselman
menyatakan bahwa komputasi grid adalah infrastruktur perangkat keras dan perangkat lunak
yang dapat menyediakan akses yang bisa diandalkan, konsisten, tahan lama dan
tidak mahal terhadap kemampuan komputasi mutakhir yang tersedia (The Grid 2:
Blue Print for a New Computing Infrastructure yang ditulis oleh Ian Foster
dan Carl Kesselman).
Pada dasarnya, grid computing
merupakan sistem komputer dengan sumber daya yang dikelola dan dikendalikan
secara lokal. Dimana sumber daya ini berbeda dalam hal kebijakan dan mekanisme
yaitu mencakup sumber daya komputasi yang dikelola oleh sistem batch berbeda,
sistem storage berbeda pada node berbeda. Kebijakan berbeda dipercayakan kepada
user yang sama pada sumber daya berbeda pada Grid. Grid computing memiliki sifat alami dinamis artinya sumber daya dan pengguna dapat
sering berubah.
Grid
computing dibangun dengan cara menggabungkan seluruh sistem
komputasi grid yang ada di institusi-institusi penelitian menjadi sebuah
kesatuan. Pengaturan hardwaredan software pada masing-masing sistem di tingkat
institusi kemungkinan berbeda, namun dengan menjalankan teknologi Grid computing dengan menggabungkan
simpul-simpul penghubung dari masing-masing sistem, maka akan terbentuk sebah
kesatuan sumber daya komputasi grid. Dengan ini berarti pengguna pada suatu
institusi dapat memanfaatkan sumber daya komputasi yang berada di luar
institusinya. Salah satu syarat dari pembentukan grid computing adalah adanya
suatu backbone jaringan berkapasitas besar untuk menghubungkan simpul-simpul
penghubung (memiliki lebar pita mulai dari 2 Mbps sampai dengan 155 Mbps).
Secara
singkat, grid computing berarti
menyatukan seluruh sumberdaya TI ke dalam sekumpulan layanan yang bisa
digunakan secara bersama-sama untuk memenuhi kebutuhan komputing perusahaan.
Infrastruktur gridcomputing secara kontinyu menganalisa permintaan terhadap sumberdaya
dan mengatur suplai untuk disesuaikan terhadap permintaan tersebut. Dimana data
disimpan atau computer mana yang memproses permintaan tidak perlu dipikirkan.
Sebagaimana arus listrik; untuk memanfaatkannya, tempat pembangkit atau
bagaimana pengabelan jaringan listrik tidak perlu diketahui. Dalam
menyelesaikan masalah system monolitik dan sumberdaya yang terfragmentasi, grid computing bertujuan menciptakan
keseimbangan antara pengaturan suplai sumberdaya dan kontrol yang fleksibel.
Sumberdaya TI yang dikelola dalam grid mencakup sumber daya infrastruktur dan sumber daya aplikasi.
- 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.
- Sumberdaya Aplikasi
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.
- 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 bisa berbentuk terstruktur,
semi-terstruktur, atau tidak terstruktur, tersimpan di lokasi manapun, seperti
dalam database, sistem file local.
Sebagai sebuah sistem, grid computing memiliki dua
prinsip kerja utama yang membedakannya dari arsitektur komputasi yang lain,
semisal mainframe, klien-server, atau multi-tier. Prinsip tersebut adalah
virtualisasi dan provisioning.
- Virtualisasi
Setiap
sumberdaya (semisal komputer, disk, komponen aplikasi dan sumber informasi)
dikumpulkan bersama-sama menurut jenisnya, lalu disediakan bagi konsumen
(semisal orang atau program software). Virtualisasi berarti meniadakan koneksi
secara fisik antara penyedia dan konsumen sumberdaya, dan menyiapkan sumberdaya
untuk memenuhi kebutuhan tanpa konsumen mengetahui bagaimana permintaannya bisa
terlayani.
- Provisioning
Ketika
konsumen meminta sumberdaya melalui layer virtualisasi, sumberdaya tertentu di
belakang layer didefinisikan untuk memenuhi permintaan tersebut, dan kemudian
dialokasikan ke konsumen. Provisioning sebagai bagian dari grid computing
berarti bahwa system menentukan bagaimana cara memenuhi kebutuhan konsumen
seiring dengan mengoptimasi jalannya sistem secara keseluruhan.
Grid computing ini memiliki beberapa
jenis komponen yang menyusunnya. Komponen tersebut adalah GRAM, RFT/GridFP,
MDS, dan GSI.
- Gram (Grid Resources Allocation & Management)
Komponen
ini dibuat untuk mengatur seluruh sumberdaya komputasi yang tersedia dalam
sebuah sistem komputasi grid. Pengaturan ini termasuk eksekusi program pada
seluruh komputer yang tergabung dalam sistem komputasi grid, mulai dari
inisiasi, monitoring, sampai dengan penjadwalan dan koordinasi antar proses
yang terjadi dalam sistem tersebut. Juga dapat berkoordinasi dengan
sistem-sistem pengaturan sumber daya yang telah ada sebelumnya. Dengan
mekanisme ini program-program yang telah dibuat sebelumnya tidak perlu dibangun
ulang atau bila dimodifikasi, modifikasinya minimum.
- RFT/GridFTP (Reliable File Transfer/Grid File Transfer Protocol)
Komponen
ini dibuat agar pengguna dapat mengakses data yang berukuran besar dari semua
simpul komputasi yang telah tergabung dalam sebuah sistem komputasi secara
efisien. Hal ini tentu saja berpengaruh karena kinerja komputasi tidak hanya
bergantung pada kecepatan komputer yang tergabung dalam mengeksekusi program,
tapi juga seberapa cepat data yang dibutuhkan dapat diakses. Data yang diakses
juga tidak selalu ada pada komputer yang mengeksekusi.
- MDS (Monitoring and Discovery Service)
Komponen
ini dibuat untuk memonitoring proses komputasi yang sedang dijalankan agar
dapat mendeteksi masalah yang timbul dengan segera. Sedangkan fungsi disovery
dibuat agar pengguna mampu mengetahui keberadaan sumber daya komputasi beserta
karakteristiknya.
- GSI (Grid Security Infrastructure)
Komponen
ini dibuat untuk mengamankan sistem komputasi grid secara keseluruhan. Komponen
ini membedakan teknologi GT4 dengan teknologi-teknologi sebelumnya. Dengan
menerapkan mekanisme keamanan yang tergabung dengan komponen-komponen komputasi
grid lainnya, sistem ini dapat diakses secara luas tanpa sedikitpun mengurangi
tingkat keamanannya. Sistem keamanan ini dibangun dengan segala komponen yang
telah diuji, mencakup proteksi data, autentikasi, delegasi dan autorisasi.
SUMBER:
Santoso, Berkah I. Cloud
Computing dan Strategi TI Modern. 2012. E-Book diakses dari www.cloudindonesia.org
oada 16 Juni 2015
URL: http://www.businessnewsdaily.com/5791-virtualization-vs-cloud-computing.html,
diakses 16 Juni 2015
URL: https://www.excellent.co.id/product-services/vmware/keuntungan-teknologi-virtualisasi-cloud-computing/,
diakses 16 Juni 2015
Cloud Computing (Komputasi Awan)
URL: http://blog.indonesiancloud.com/?p=36#.VYA0vvmqqko, diakses 16
Juni 2015
Cloud Computing
URL: http://www.lingkarmerah.com/2013/08/cloud-computing-adalah.html,
diakses 16 Juni 2015
URL: http://www.ilmukomputer.com,
diakses 16 Juni 2015
URL: http://artha17.blogspot.com/2012/04/microsoft-sql-azure-si-database-untuk.html,
diakses 16 Juni 2015
URL: https://muhammadmahlani.wordpress.com/2015/06/09/komputasi-cloud-computing/,
diakses 16 Juni 2015