PENGANTAR KOMPUTASI MODERN KOMPUTASI CLOUD
PENGANTAR KOMPUTASI MODERN
KOMPUTASI CLOUD

Ryenfild Naufal Nafaro http://renvilnafaro.blogspot.com
Reinhard Christopher S http://pkreinhard.blogspot.com
Bayu Nanda A.S https://bayeksaputra.blogspot.com
Dimas Mulia https://dimasgaben.blogspot.com
4IA21
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS GUNADARMA
2019
1. PENDAHULUAN
Cloud computing atau komputasi awan merupakan salah satu
contoh perkembangan teknologi informasi. Cloud computing adalah transformasi
teknologi informasi dan komunikasi dari komputer berbasis klien atau server.
Cloud computing memungkinkan pengguna untuk menggunakan layanan software, media
penyimpanan (storage), platform
infrastruktur dan aplikasi layanan teknologi melalui jaringan internet.
Teknologi cloud computing menguntungkan pengguna karena tidak perlu lagi
mengeluarkan investasi besar- besaran untuk software dan aplikasi data serta
perawatan hardware.
Cloud computing adalah penggunaaan
oleh user pada sebuah komputer dan menjalankan sebuah aplikasi dimana file-file
tersebut tidak terdapat di komputer yang digunakannya, namun berada di komputer
lain yang dihubungkan oleh jaringan. Dalam Cloud computing terdapat istilah front-end (Desktop-PC) dan back-end (Server). Keduanya harus saling
terhubung oleh sebuah jaringan yang dapat berupa internet atau untuk skala yang
lebih kecil. Front-end yang mengambil
data dan menjalankan aplikasi, sedangkan back-end
merupakan resource yang diistilahkan dengan awan.
2. PENGANTAR KOMPUTASI GRID
2.1
Pengertian Komputasi Grid
Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer
yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan
komputasi dalam skala besar.
Komputasi grid merupakan cabang dari distributed
computing. Komputasi grid
memiliki perbedaan yang lebih menonjol dan di terapakan pada sisi infrastruktur
dari penyelesaian suatu proses. Grid
computing adalah suatu bentuk cluster
(gabungan) komputer-komputer yang cenderung tak terikat batasan geografi. Di
sisi lain, cluster selalu
diimplementasikan dalam satu tempat dengan menggabungkan banyak komputer lewat
jaringan.
Ide awal komputasi grid dimulai dengan adanya distributed computing, yaitu mempelajari
penggunaan komputer terkoordinasi yang secara fisik terpisah atau
terdistribusi. Sistem terdistribusi membutuhkan aplikasi yang berbeda dengan
sistem terpusat. Kemudian berkembang lagi menjadi parallel computing yang
merupakan teknik komputasi secara bersamaan dengan memanfaatkan beberapa
komputer secara bersamaan.
2.2
Konsep Komputasi Grid
Beberapa
konsep dasar dari komputasi grid:
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 yang sama
pada sumber daya berbeda pada Grid.
3) Sifat alami dinamis: Sumber daya dan
pengguna dapat sering berubah
4) Lingkungan kolaboratif bagi e-community (komunitas elektronik, di
internet)
5) 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.
2.3
Cara
Kerja Komputasi Grid
Menurut
tulisan singkat oleh Ian Foster ada checklist
yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan
komputasi grid yaitu :
1) Sistem tersebut melakukan koordinasi
terhadap sumber daya 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 sumber daya, 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.

Gambar
1 Cara kerja komputasi grid
2.4
Kelebihan dan Kekurangan Grid
Computing
Penggunaan Grid Computing System untuk
perusahaan-perusahaan akan banyak memberikan manfaat, baik manfaat secara
langsung maupun tidak langsung. Beberapa manfaat tersebut antara lain :
1) Grid computing menjanjikan peningkatan utilitas, dan fleksibilitas yang
lebih besar untuk sumberdaya infrastruktur, aplikasi dan informasi. Dan juga
menjanjikan peningkatan produktivitas kerja perusahaan.
2) Grid computing bisa memberi penghematan uang, baik dari sisi investasi
modal maupun operating cost–nya.
Ada pula beberapa
hambatan yang dialami oleh masyarakat Indonesia dalam mengaplikasikan teknologi
grid computing adalah sebagai berikut
:
1) Manajemen institusi yang terlalu
birokratis menyebabkan mereka enggan untuk merelakan fasilitas yang dimiliki
untuk digunakan secara bersama agar mendapatkan manfaat yan lebih besar bagi
masyarakat luas.
2) Masih sedikitnya Sumber Daya Manusia
yang kompeten dalam mengelola grid
computing. Contonhya kurangnya pengetahuan yang mencukupi bagi teknisi IT
maupun user non teknisi mengenai manfaat dari grid computing itu sendiri.
1. VIRTUALISASI
3.1
Pengertian
Virtualisasi
Virtualisasi
bisa diartikan sebagai pembuatan suatu bentuk atau versi virtual dari sesuatu
yang bersifat fisik, misalnya sistem operasi,
perangkat storage dan sumber
daya jaringan. Virtualisasi bisa diimplementasikan kedalam berbagai bentuk,
antara lain:
1) Network Virtualization :
VLAN, Virtual IP (Unclustering), Multilink
2) Memory Virtualization :
Memory pooling
3) Application Virtualization : Emulator
4) Storage Virtualization :
RAID, LVM
5) Platform Virtualization :
Virtual computer
3.2
Keuntungan
Virtualisasi
Penggunaan
virtualisai pada infrastruktur IT kita dapat memberikan keuntungan-keuntungan
yang dapat mempermudah segala jenis kegiatan. Berikut keuntungan dari
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, me-restore 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.
3.3
Kerugian
Virtualisasi
Tidak hanya
keuntungan, virtualisasi juga memiliki beberapa kerugian yang harus
dipertimbangkan seperti:
1) Satu Pusat Masalah. Virtualisasi
bisa dianalogikan dengan menempatkan semua telur di dalam 1 keranjang. Ini
artinya jika server induk bermasalah,
semua sistem virtual machine di dalamnya
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.
2. 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.
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.
Kegiatan ini merupakan kumpulan beberapa komputer yang
terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data
serta melakukan interaksi lain antar computer yang dimana membutuhkan sebuah
jaringan agar komputer satu dan lainnya bisa saling berhubung dan melakukan
interaksi. Hal ini semua dilakukan dengan cloud
computing yang seperti kita ketahui memberikan layanan dimana informasinya
disimpan di server secara permanen dan disimpan di computer client secara temporary.
3. MAP
REDUCE
5.1
Pengertian MapReduce
MapReduce merupakan sebuah konsep dimana data yang kontinyu dipecah
menjadi bagian data / komponen data kecil dan didistribusikan melalui mesin-mesin
yang terhubung secara cluster. Bisa
dibilang map reduce merupakan sebuah framework yang digunakan untuk
mempercepat proses pengolahan data pada konsep cloud computing. Dalam memproses data, MapReduce dibagi menjadi 2 proses utama,
yaitu Map dan Reduce. Proses Map
bertugas untuk mengumpulkan informasi dari potongan-potongan data yang
terditribusi dalam tiap komputer dalam cluster
(kelompok komputer yang saling terhubung). Hasilnya deserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil
proses Reduce merupakan hasil akhir
yang dikirim ke pengguna.
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 yaitu Google Big
Table.
5.2
Desain dan Struktur MapReduce
Untuk memproses sebuah data raksasa, data itu harus
dipotong-potong kemudian dibagi-bagikan ke tiap komputer dalam suatu cluster. Lalu proses Map dan proses Reduce pun harus dibagi-bagikan ke tiap komputer dan dijalankan
secara paralel. Kemudian hasil akhirnya juga disimpan secara terdistribusi.
MapReduce
telah didesain sangat sederhana alias simple.
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.

Gambar
2 Struktur MapReduce
Program yang
memuat kalkulasi yang akan dilakukan dalam proses Map disebut Fungsi Map,
dan yang memuat kalkulasi yang akan dikerjakan oleh proses Reduce disebut Fungsi Reduce.
Jadi, seorang programmer yang akan menjalankan MapReduce harus membuat program Fungsi Map dan Fungsi Reduce.
Fungsi Map bertugas untuk membaca input dalam
bentuk pasangan Key/Value, lalu
menghasilkan output berupa pasangan Key/Value
juga. Pasangan Key/Value hasil fungsi
Map ini disebut pasangan Key/Value intermediate. Kemudian, fungsi
Reduce akan membaca pasangan Key/Value intermediate hasil fungsi Map, dan menggabungkan atau
mengelompokkannya berdasarkan Key tersebut. Lain katanya, tiap Value yang memiliki Key yang sama akan digabungkan dalam satu kelompok. Fungsi Reduce juga menghasilkan output berupa
pasangan Key/Value.
4. NoSQL
DATABASE
6.1
Pengertian NoSQL Database
NoSQL adalah sebuah memcache dari bagian database
sederhana yang berisi key dan value. Database ini bersifat struktur storage dimana sistem database-nya yang berbeda dengan sistem
database relasional. NoSQL tidak membutuhkan skema table dan menghindari operasi join
dan berkembang secara horisontal. 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.
Database NoSQL,
juga disebut NotOnly SQL adalah sebuah pendekatan
untuk pengelolaan data dan desain database yang
berguna untuk set yang sangat besar data terdistribusi. NoSQL
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 melarang bahasa
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.
6.2
Jenis-jenis dan Contoh Database
NoSQL
NoSQL
memiliki berbagai jenis dan tipe database
yang dapat dipergunakan sesuai dengan kebutuhan, ada pun jenis-jenis database
tersebut adalah sebagai berikut:
1)
Nilai-kunci
Database nilai kunci dapat dipartisi dan memungkinkan pengembangan
horizontal pada skala yang tidak dapat dicapai oleh jenis database lain. Kasus
penggunaan seperti gaming, teknologi
iklan, dan IoT cukup baik dalam menggunakan model data nilai-kunci. Amazon
DynamoDB didesain untuk menyediakan latensi satu-digit milidetik untuk setiap
skala beban kerja. Kinerja yang konsisten ini merupakan alasan besar fitur
Snapchat Stories, yang mencakup beban kerja penulisan ke penyimpanan terbesar
dari Snapchat, dipindahkan ke DynamoDB.
2)
Dokumen
Dalam kode aplikasi, data sering diwakilkan sebagai sebuah objek atau
dokumen seperti JSON karena ini merupakan model data yang efisien dan intuitif
untuk pengembang. Database dokumen memudahkan pengembang untuk menyimpan dan
membuat kueri data dalam database dengan menggunakan format model dokumen yang
sama yang mereka gunakan dalam kode aplikasi. Sifat dokumen dan database
dokumen yang fleksibel, semi terstruktur, dan hierarkis memungkinkan dokumen
dan database dokumen berevolusi sesuai kebutuhan aplikasi. Model dokumen
berfungsi baik dengan katalog, profil pengguna, dan sistem manajemen konten di
mana setiap dokumen bersifat unik dan berevolusi seiring waktu. Amazon
DocumentDB (dengan kompatibilitas MongoDB) dan MongoDB merupakan database
dokumen populer yang menyediakan API yang mumpuni dan intuitif untuk
pengembangan yang fleksibel dan berulang.
3)
Grafik
Database grafik bertujuan agar membuat dan menjalankan aplikasi yang
berjalan dengan dataset yang selalu terhubung menjadi lebih mudah. Kasus
penggunaan umum untuk database grafik antara lain jaringan media sosial, mesin
rekomendasi, pendeteksian penipuan, dan grafik pengetahuan. Amazon Neptune
merupakan layanan database grafik yang dikelola sepenuhnya. Neptune mendukung
model Property Graph dan Resource Description Framework (RDF), memberi pilihan
dua API grafik: TinkerPop dan RDF/SPARQL. Database grafik populer termasuk
Neo4j dan Giraph.
4)
Dalam memori
Aplikasi gaming dan teknologi
iklan memiliki kasus penggunaan seperti leaderboard,
penyimpanan sesi, dan analisis real-time
yang memerlukan waktu respons milidetik dan dapat setiap saat memiliki puncak
lalu lintas yang besar. Amazon ElastiCache menawarkan Memcached dan Redis,
untuk menyediakan beban kerja dengan latensi rendah dan throughput tinggi,
seperti McDonald’s, yang tidak dapat dilayani dengan penyimpanan data berbasis
disk. Amazon DynamoDB Accelerator (DAX) merupakan contoh lain dari penyimpanan
data yang dibuat secara khusus. DAX membuat DynamoDB membaca dan mengurutkan
magnitude dengan lebih cepat.
5)
Pencarian
Beberapa output aplikasi
dicatat untuk membantu pengembang untuk memecahkan masalah. Amazon
Elasticsearch Service (Amazon ES) dibuat secara khusus untuk memberi
visualisasi hampir secara real-time
dan analisis data yang dihasilkan mesin dengan membuat indeks, mengumpulkan,
dan mencari log dan metrik yang semi
terstruktur. Amazon ES juga merupakan mesin pencari yang mumpuni dan berkinerja
tinggi untuk kasus penggunaan pencarian teks lengkap. Expedia menggunakan lebih
dari 150 domain Amazon ES, 30 TB data, dan 30 miliar dokumen untuk berbagai
kasus penggunakan penting, mulai dari pemantauan operasional dan pemecahan
masalah hingga pelacakan stack
aplikasi terdistribusi dan pengoptimalan harga.
DAFTAR
PUSTAKA
Komentar
Posting Komentar