A. Pendahuluan (Dimas
Pujakesuma)
Apa
itu Cloud Computing?
Cloud
Computing sendiri terdiri dari 2 kata yaitu Cloud dan Computing. Cloud memiliki
arti awan. Awan (cloud) adalah persamaan lain dari internet, yang seperti
sering digambarkan awan di diagram jaringan komputer dan Computing adalah
proses komputasi. Computing yang berasal dari kata Compute yang memiliki arti
perhitungan.
Menurut
sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing" Cloud
Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di
server di internet dan tersimpan secara sementara di komputer pengguna (client)
termasuk di dalamnya adalah desktop, komputer tablet, notebook, dan
lain-lain." Berikut ini gambaran umum dari Cloud Computing:
Menurut NIST (National Institute of Standards and
Technology), terdapat 5 karakteristik sehingga sistem tersebut disebut Cloud
Computing, yaitu:
1. Resource Pooling
Penyedia layanan mengumpulkan
sumber daya komputasi untuk memenuhi permintaan kebutuhan pelanggan.
2.
Broad
Network Access
Cloud provider memiliki
cangkupan layanan yang tersedia melalui jaringan dan dapat diakses di perangkat
seperti smartphone, laptop, dan sebagainya.
3.
Measured
service
Tersedia layanan untuk
mengoptimasi dan memonitor layanan yang dipakai secara otomatis. Dengan
menggunakan sistem ini kita dapat melihat berapa resources komputasi yang
terlah diapakai
4.
Rapid
Elasticity
Kapabilitas dari layanan cloud
provider bisa dipakai oleh cloud consumer secara kebutuhan.
5.
Self
Service
Cloud
Consumer bisa mengkonfigurasikan secara mandiri layanan yang ingin dipakai
melalui sebuah sistem, tanpa perlu interaksi dari pihak cloud provider terlebih
dahulu.
Layanan Cloud
Computing
Berikutnya akan dibahas jenis-jenis layanan dari Cloud
Computing. NIST sendiri membagi jenis layanan cloud menjadi 3 :
·
Software as a
service (SAAS)
Layanan dimana pelanggan dapat
menggunakan software yang telah disiapkan oleh cloud provider. Contoh cloud
provider Saas yang sudah dipercaya oleh pelanggan diantaranya : Gmail,
YahooMail, Facebook, Office365, Skype dsb.
·
Platform as a Service (PaaS)
Platform
as a Service adalah layanan yang menyediakan computing platform. Biasanya sudah
terdapat sistem operasi, database, web server dan framework aplikasi agar dapat
menjalankan aplikasi yang telah dibuat. Contoh layanan Paas :
Amazon, GoogleApp Engine.
·
Infrastructure as a Service (IaaS)
Infrastructure
as a Service adalah layanan komputasi awan yang menyediakan infrastruktur IT
berupa CPU, RAM, storage, bandwith dan konfigurasi lain. Contoh
penyedia layanan IaaS : Amazon EC2, Rackspace Cloud, Windows Azure.
B. Pengantar Komputasi Grid (Grid
Computing) (Yunita
Aulia & Rian Malik)
Komputasi grid adalah teknologi komputasi
terdistribusi yang memanfaatkan sumber daya yang terhubung melalui jaringan
komputer secara bebas, tapi terkoordinasi dengan mekanisme tertentu. Dengan
menyediakan sumber daya yang dapat dipakai bersama dapat mempermudah akses dan
meningkatkan Quality of Service.
Di dalam buku yang
berjudul The Grid: Blue Print for a new computing infrastructure dijelaskan pula bahwa yang
dimaksud dengan 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.
"A computational grid
is a hardware and software infrastructure that provides dependable, consistent,
pervasive, and inexpensive access to high-end computational capabilities."
Konsep Dasar Komputasi Grid
Konsep
dasar dalam Grid Computing :
1. Sumber
daya dikelola dan dikendalikan secara lokal.
2. 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 dalam memilih sumber
daya yang berbeda pada sistem grid.
3. Sifat
alami dinamis: Sumber daya dan pengguna dapat sering berubah.
4. Lingkungan
kolaboratif bagi e-community (komunitas elektronik,di internet). Tiga hal yang
di-sharing dalam sebuah sistem grid,
antara lain : Resource, Network dan Proses. Kegunaan / layanan dari sistem grid
sendiri adalah untuk melakukan high throughput computing dibidang penelitian,
ataupun proses komputasi lain yang memerlukan banyak resource komputer
Arsitektur Umum Komputasi Grid
Pada
layer fabric menyediakan berbagai kebutuhan yang diperlukan sebagai sumber daya
dalam infrastruktur grid computing. Layer connectivity bertugas dalam
menyediakan protocol jaringan dan sarana komunikasi yang digunakan dalam
menghubungkan sistem. Layer resource bertugas untuk mengatur layanan yang di
pakai sumber daya yang tersebar. Fungsi layer collective sama dengan layer
resource, yang membedakan yaitu layer collective mengatur sumber daya yang
sifatnya berkelompok.
Prinsip Kerja Komputasi Grid
1. Virtualisasi
Setiap sumberdaya dikumpulkan
bersama-sama menurut jenisnya, lalu disediakan bagi user. Virtualisasi berarti
meniadakan koneksi secara fisik antara penyedia dan konsumen sumberdaya, dan
menyiapkan sumberdaya untuk memenuhi kebutuhan tanpa konsumen mengetahui
bagaimana permintaannya bisa terlayani.
2. Provisioning
Ketika user meminta sumberdaya
melalui layer virtualisasi, sumberdaya tertentu di belakang layer didefinisikan
untuk memenuhi permintaan tersebut, dan kemudian dialokasikan ke user.
Provisioning sebagai bagian dari grid computing berarti bahwa sistem menentukan
bagaimana cara memenuhi kebutuhan user seiring dengan mengoptimasi jalannya
sistem secara keseluruhan.
Elemen dari infrastruktur Grid
1. Hardware
/ Sumber daya
Hardware dalam komputasi grid mencakup perangkat
penyimpanan, prosesor, memori, jaringan, dan software yang di desain untuk
mengelola hardware ini, misalnya database, manajemen penyimpan, manajemen
sistem, server aplikasi, dan sistem operasi.
2. Software
: middleware
Software merupakan suatu perangkat yang menghubungkan
semua middleware-nya. Middleware itu sendiri adalah bagian dari software, yaitu
lapisan sofware yang terletak antara sistem operasi dan aplikasi yang berfungsi
sebagai penghubung komunikasi antar-objek dari sistem yang berbeda. Didalam
middleware juga terdapat elemen-elemen dasar, diantaranya :
·
Keamanan (Security)
·
Pengelolaan sumber daya (resource
management)
·
Pengelolaan data (data
management)
·
Layanan informasi (information
services)
Solusi bagi Middleware yang telah tersedia,
diantaranya adalah Globus Toolkit (Argonne+ISI), LCG/Glite (dari proyek Uni
Eropa), Gridbus (Melbourne, Australia), Unicore (Jerman).
3. Brainware
/ user
Brainware dalam komputasi grid hanya meliputi
pemelihara dan pemakai grid. Dahulu grid computing cenderung hanya di pakai
oleh para ilmuan untuk kepentingan ilmiah. Pada saat itu memang ekspose
terbesar lebih banyak pada proyek-proyek sains, seperti riset genetika, fisika
dan yang paling terkenal adalah proyek SETI ( Search for Extra Terrestrial
Intelligence ) atau riset pencari kehidupan di luar bumi, karena itu muncul
persepsi bahwa komputasi grid hanya dapat digunakan dikalangan ilmuan dan tidak
dapat diterima oleh non-ilmuan. Namun, baru-baru ini, teknologi grid computing
telah di kenalkan pada dunia enterpreneur dan mendapat banyak respon positif.
C. Virtualisasi (Hendri
Prasetyo)
Ada dua istilah yang 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 yang sama, padahal sebenarnya cloud computing itu lebih
dari sekedar virtualisasi.
Virtualisasi adalah sebuah
teknologi yang memungkinkan 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
atau Virtual Machine Monitor (VMM). Hypervisor inilah yang menjadi nyawanya
virtualisasi, karena dialah layer yang “berpura – pura” menjadi sebuah
infrastruktur untuk menjalankan beberapa virtual machine. Dengan virtualisasi,
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.
Type 1
berjalan pada fisik komputer yang ada secara langsung. Pada jenis ini
hypervisor/VMM benar-benar mengontrol perangkat keras dari komputer host-nya.
Termasuk mengontrol sistem operasi-sistem operasi guest-nya. Contoh
implementasi yang ada adalah KVM dan OpenVZ. Adapun contoh yang lain seperti
VMWare ESXi, Microsoft Hyper-V.
Type 2
berjalan pada sistem operasi diatasnya. Pada tipe ini sistem operasi guest
berada diatas sistem operasi host. Contoh tipe ini adalah VirtualBox.
Tujuan
dari virtualisasi :
1. Memungkinkan
semua device yang terhubung dengan jaringan untuk mengakses aplikasi melalui jaringan,
bahkan jika aplikasi tidak pernah dirancangan untuk dapat bekerja di device
tersebut.
2. Isolasi
beban pekerjaan atau aplikasi yang satu dengan yang lainnya untuk meningkatkan
keamanan dan kemudahan pengelolaan lingkungan.
3. Isolasi
aplikasi dari sistem operasi, memungkinkan aplikasi untuk tetap berfungsi
meskipun dirancang untuk sistem operasi dengan tipe yang berbeda.
4. Meningkatkan
jumlah orang yang dapat didukung oleh aplikasi, dengan mengijinkan untuk
menjalan aplikasi dari mesin-mesin yang berbeda secara bersamaan.
5. Mengoptimalkan
penggunaan sistem tunggal
Adapun beberapa peralatan yang digunakan
untuk virtualisasi,
yaitu :
1. Server.
Mulai dari perspektif akses dan manajemen, sebuah server fisik tunggal dapat
menjadi beberapa server yang biasa disebut dengan virtual server atau virtual
machine (VM).
2. Desktop.
Mirip dengan virtualisasi server, virtualisasi desktop dapat berarti dua hal.
Yang pertama, memungkinkan pengguna untuk menjalankan beberapa sistem operasi
desktop (Apple Mac OS dan Microsoft Windows OS) di dalam komputer yang sama.
Yang kedua virtualisasi memungkinkan data dan layanan yang dimiliki oleh
pengguna diletakkan di komputer yang digunakan bersama dengan data dan layanan
milik orang lain.
3. Storage.
Satu tempat penyimpanan fisik dapat terlihat menjadi beberapa driver virtual.
Dengan kata lain, dengan menggunakan windows yang terpisah di console manajemen
yang umum, administrator IT dapat memperlakukan drive virtual seperti drive
fisik.
4. Application.
Saat memvirtualisasi, aplikasi yang ditulis untuk sebuah lingkungan sistem
operasi dapat dijalankan di lingkungan operasi yang lain untuk meningkatkan
kecocokan aplikasi dan kemudahan pengelolaan. Operasi akan diarahkan ke sistem
operasi yang sesuai.
5. Network.
Di dalan jaringan, sebuah router fisik dapat mendukung beberapa, alamat IP
untuk membuat router virtual. Sama seperti sebuah switch Ethernet fisik dapat
mendukung beberapa alamat MAC (media access control) untuk membuat switch
virtual. Sebuah hardware fisik dapat dibagi menjadi beberapa router atau switch
virtual untuk mengurangi biaya.
D. Distributing Computation
dalam Computing (Mutia)
Distribusi dalam KBBI memiliki arti
penyaluran (pembagian, pengiriman) ke beberapa tempat. Sedangkan computation
adalah komputasi. Jika digabungkan maka distribusi komputasi adalah kegiatan kumpulan beberapa computer yang terhubung
untuk melakukan pendistribusian, seperti mengirim dan menerima data serta
melakukan interaksi lain antar computer yang dimana membutuhkan sebuah
jaringan.
Hal ini semua
dilakukan dengan cloud computing untuk 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 dan para pengguna juga bisa
memanfaatkannya secara bersamaan.
Pada distribusi komputasi mempelajari penggunaan
terkoordinasi dari komputer secara fisik baik terpisah atau terdistribusi. Pada
distribusi komputasi ini, program dipisah menjadi beberapa bagian yang
dijalankan secara bersamaan pada banyak komputer yang terhubung melalui
jaringan internet.
Dalam implementasi distribusi komputasi
could computing, terdapat 3 point utama yang diperlukan, yaitu :
a. Komputer
Front End
Sebuah media interface untuk
interaksi antar pengguna dengan computer. Front end biasanya berisi tampilan
design aplikasi untuk tatap muka antar user dan computer.
b. Komputer
Back End End
Sebuah tempat dimana berisi
dari kodingan fornt end agar front dapat berjalan, back end juga biasanya
terhubung dengan server agar bisa memenuhi permintaan client.
c. Penghubung
Antar Keduanya
Sebuah media untuk
menghubungan computer dengan server.
E. Map
Reduce dan NoSQL (Adhityo Dewandoro)
Map Reduce dan NoSQL
merupakan sebuah pemrograman framework yang digunakan untuk membantu seorang
user dalam mengembangkan sebuah data yang memiliki ukutan besar dan dapat
terdistribusi satu sama lainnya.
Map Reduce adalah sebuah konsep diman data yang
bersifat kontinyu dipecah menjadi bagian data / komponen data kecil dan
didistribusikan melalui mesin – mesin yang terhubung secara cluster. Map reduce
juga dapat dikatakan sebuah framework yang berguna untuk mempercepat proses
mengolah data pada konsep cloud computing.
Dalam
permrosesan data Map reduce terbagi menjadi dua proses utama (proses Map dan
Reduce). Proses map berfungsi dalam mengumpulkan informasi dari potongan
potongan data yang terdistribusi pada tiap komputer dalam cluster (Kelompok
komputer yang saling terhubung). Setelah itu hasil dari proses Map akan
diserahkan kepada proses Reduce untuk diproses lebih lanjut. Lalu hasil dari
proses Reduce (hasil akhir) akan dikirimkan ke pengguna.
Salah satu contoh
penerapan dari Map-Reduce dalam suatu produk adalah pada ranah open source.
Pada ranah open source terlihat percepatan perkembangan framework lainnya yang
bersifat terdistribusi dan menggunakan konsep sama, project tersebut bernama
Apache Hadoop yang dilakukan oleh Google.
Selanjutnya
kita masuk kedalam bahasan NoSQL. NoSQL
merupakan istilah yang dikenal pada teknologi komputasi yang merujuk kepada
kelas yang luas dari suatu sistem manajemen basis data yang di identifikasikan
dengan tidak mematuhi aturan pada model sistem manajemen basis data relasional
yang banyak digunakan.
Database NoSQL dapat disebut dengan
Not Only SQL yang merupakan pendekatan untuk pengelolaan data dan desain
database yang berguna pada set yang sangat besar data terdistribusi. Implementasi
Map Reduce dan NoSQL dalam Cloud Computing.
F.
NO SQL
Database (Bagas
Pratama)
NoSQL
Database merupakan
sistem manajemen basis data yang di identifikasikan dengan tidak mematuhi
aturan pada model sistem manajemen basis data. NoSQL adalah database
generasi terbaru yang mengarahkan kepada database yang tidak berelasi
(non-relational), tidak membutuhkan skema table dan umumnya NoSQL ini
menghindari operasi join dan berkembang secara horizontal (horizontal scale).
Jadi NoSQL Database itu sendiri sebenarnya adalah penyebutan untuk
database yang tidak memiliki relasi dan penyimpanan datanya tidak terstruktur.
Jika Database yang memiliki relasi dan penyimpanan datanya terstruktur biasanya menggunakan SQL, maka NoSQL ini
menggunakan berbagai cara untuk menyimpan datanya. adapun pengelompokan pada NoSQL Database, yaitu :
- 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.
- 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.
- Key
– Value, contoh database jenis ini adalah Apache Cassandra.
- Object
Database. Format database yang disimpan dalam object object, Object disini
sama dengan pengertian object di Pemrograman beroreintasi object , Contoh
databasenya adalah Db4o.
Beberapa contoh Aplikasi Database NoSQL
adalah Hbase, Hypertable, Clouddata,
MongoDB, CouchDB, Neo4j, FlockDB dll
Perbedaan NoSQL dan SQL
Penggunaan NoSQL
saat ini tidak ditujukan untuk menjadi pengganti dari Basis data Relational
atau lebih dikenal dengan SQL (Structured Query Languange). Karena NoSQL
dikembangkan untuk memecahkan masalah – masalah yang dihadapi oleh database
dengan skema relasional.
Perbedaan utama yang terlihat antara SQL dan NoSQL ada di dalam cara
penulisan database mereka. Jika SQL menggunakan relasional sebagai penyambung
antara data – data dalam tabel database mereka. Dan NoSQL tidak menggunakan
Relasional sebagai cara mereka untuk menyambungkan antar data mereka. NoSQL menggunakan 4 metode dalam cara
mereka untuk menstored data, yaitu :
1.
Key Values stores,
2.
Document oriented,
3.
Table Oriented,
4.
Graph Oriented
Perbedaan
yang kedua NoSQL tidak menggunakan Schema relational,
jika di dalam SQL kita harus mendefinisikan table yang akan digunakan.
Sementara pada NoSQL tidak perlu untuk mendefinisikan terlebih dahulu Table
yang akan digunakan.
Perbedaan
yang Ketiga NoSQL memiliki kemampuan Elastis yang lebih
baik dibandingkan SQL. Untuk menambah jumlah server basis data di dalam NoSQL,
lebih mudah karena kita tidak perlu mendapatkan downtime yang terjadi.
Perbedan
yang keempat ialah Integrated Caching, NoSQL memiliki
kemampuan untuk mentransformasikan data dengan lebih cepat hal ini dikarenakan
NoSQL menggunakan cache-nya di dalam sistem memori.
Dan
perbedaan terakhir pada Database SQL lebih ditekankan pada
sifat Atomicity, Consistency, Isolation and Durability (ACID) sifat. Sedangkan
pad NoSQL mengikuti teorema Consistency, Availability and Partition (CAP)
Brewers.
Aplikasi yg
menggunakan NoSQL
·
Facebook menggunakan Cassandra
·
Twitter menggunakan FlockDb
·
Linkedin menggunakan Voldemort
·
Google menggunakan Bigtable
·
Amazon menggunakan SimpleDB
Dll
Sampai saat ini
tercatat ada 150 Database yang menggunakan konsep NoSQL. Dengan begini sudah
mulai banyak varian – varian dari aplikasi database yang menggunakan konsep
NoSQL. Tetapi hal ini tidak menandakan bahwa penggunaan SQL akan digantikan
oleh NoSQL, karena dalam hal ini harus mempertimbangkan kebutuhan mana yang
harus digunakan, baik database yang menggunakan relational ataupun
non-relational (NoSQL) memiliki kelebihan masing – masing.
Sumber:
http://www.cloudindonesia.or.id/pengantar-cloud-computing.html
https://robicomp.com/manfaat-cloud-dalam-kehidupan-sehari-hari.html
http://dinus.ac.id/repository/docs/ajar/Sister10_-_Clustering_Grid_Computing.pdf
http://ropiudin95.blogspot.co.id/2017/04/pengantar-komputasi-cloud.html?
http://andikarag.blogspot.co.id/2016/03/distribusi-komputasi-dalam-cloud.html
https://developerzen.com/introduction-to-mapreduce-for-net-developers-1030e070698a
https://www.riobermano.com/pengertian-sql-nosql-database/
http://developer.erabelajar.com/perbedaan-mysql-dan-nosql/
Komentar
Posting Komentar