Jumat, 20 April 2018

Cloud Computing dan Grid Computing

Cloud Computing
Image result for kelebihan dan kekurangan grid computing 
Istilah cloud computing atau komputasi awan mungkin terdengar asing bagi sebagian orang. Tetapi, teknologi ini sebenarnya sudah ada sejak tahun 2000, ketika internet dijadikan sebagai pusat data seperti sekarang dan sudah digunakan dalam kehidupan sehari-hari.
Contoh penggunaan cloud computing dalam kehidupan sehari-hari adalah ketika e-mail tersimpan di Gmail atau dokumen tersimpan di Google Drive. Bahkan, media sosial seperti Facebook dan Twitter sebenarnya adalah layanan cloud yang menyimpan torehan status kita.
Mengapa konsep ini disebut cloud computing? Dalam menjalankan proses komputasi, komputer menggunakan RAM, CPU, storage, dan sistem operasi. Kemudian, istilah “cloud” dalam cloud computing mewakili konsep internet yang digunakan untuk mengaksesnya. Jadi, cloud computing adalah penggabungan dari teknologi komputer (komputasi) dalam suatu jaringan yang menggunakan cloud (awan) sebagai perantaranya.
Dengan kata lain, Anda menggunakan jalur internet untuk mengakses sebuah mesin komputasi yang disediakan penyedia layanan cloud. Anda tidak perlu mengetahui server apa yang digunakan, bagaimana server itu dijalankan, atau berapa besar konsumsi listrik yang dibutuhkan mesin komputasi milik penyedia layanan cloud itu. Yang penting, Anda mendapatkan kemampuan komputasi yang dibutuhkan.
Mengapa cloud computing kini semakin dilirik? Salah satunya karena faktor fleksibilitas. Contohnya, saat ini Anda menyewa sebuah komputer dari cloud provider dengan spesifikasi RAM 1 GB, satu buah virtual CPU (vCPU), serta storage 20 GB. Di mesin itu, Anda memasang aplikasi apa saja sesuai dengan keinginan.
Beberapa bulan kemudian, penggunaan RAM ternyata penuh karena aplikasi menggunakan resource RAM yang banyak. Anda pun membutuhkan tambahan RAM. Dalam skenario non-cloud, Anda harus membeli dulu RAM (yang mungkin membutuhkan waktu lama). Namun, pada skenario cloud, Anda hanya perlu meminta cloud provider menambahkan spesifikasi RAM di mesin cloud Anda. Waktu yang dibutuhkan jauh lebih singkat dan Anda pun cukup membayar sesuai kebutuhan.
Beberapa kelebihan lain cloud computing adalah:
  1. Data terpusat.
    Salah satu yang bisa dianggap keunggulan teknologi ini adalah data terpusat berada di server. Kelebihan ini memungkinkan Anda mengakses mesin cloud Anda dari mana pun selama ada sambungan internet. Misalnya, jika Anda memiliki data di Google Drive yang sinkron antara komputer di rumah dan di smartphone, Anda bisa mengakses data tersebut di waktu yang sama karena data Anda sudah menggunakan server dari Google Drive.
  2. Fleksibel.
    Teknologi ini memiliki fleksibilitas dengan memudahkan dalam mengakses data Anda di mana pun dan kapan pun jika terhubung dengan jaringan layanan/internet. Misalkan, jika Anda dapat mengakses data yang tersimpan di Google Drive dari komputer rumah, Anda juga dapat mengakses data tersebut dari smartphone atau perangkat lain yang terhubung dengan internet.
  3. Memiliki skalabilitas yang tinggi
    Keuntungan lainnya, Anda dapat menambah atau mengurangi spesifikasi/sumber daya dari kapasitas server yang digunakan. Misal, jika RAM Anda penuh karena banyaknya yang mengakses aplikasi Anda, Anda tidak perlu membeli RAM baru, tetapi cukup meminta kepada cloud provider untuk menambah/upgrade beberapa GB saja. Selain itu Anda juga dapat mengurangi/downgrade RAM ke spesifikasi semula.
  4. Investasi.
    Dengan teknologi cloud computing, Anda dapat menghemat biaya investasi untuk membeli sebuah server/komputer fisik. Misal, jika Anda memiliki perusahaan dan membutuhkan sumber daya yang besar dalam menjalankan aplikasi, Anda tidak perlu membeli hard drive baru dan tidak perlu juga memikirkan biaya-biaya lainnya seperti maintenance, listrik, lisensi, dan lain-lain. Walhasil, Anda dapat berorientasi pada profit dan perkembanga bisnis.
Akan tetapi, cloud computing pun memiliki beberapa kekurangan yang harus diantisipasi. Kekurangan itu antara lain:
  1. Kerahasiaan data tidak terjamin. 
    Selalu ada risiko data user dapat diakses oleh orang lain yang tidak berkepentingan.
  2. Sangat bergantung pada koneksi internet. 
    Internet merupakan satu-satunya jalan menuju cloud computing. Ketika tidak ada koneksi internet di tempat Anda, atau jalur internet menuju cloud provider sedang bermasalah, secara otomatis akses ke mesin cloud computing Anda akan terputus.
  3. Tingkat keamanan yang belum terjamin. 
    Dengan menggunakan sistem komputasi awan berarti Anda mempercayakan sepenuhnya atas keamanan dan kerahasiaan data-data kepada cloud provider. Saat mengalami gangguan, Anda tidak dapat menuntut pihak server karena kesalahan data-data tersebut.

Jenis-jenis cloud computing

Berdasarkan jenis layanan-nya, Cloud Computing dibagi menjadi berikut ini:

1. Software as a Service (SaaS)

 

Adalah salah satu layanan dari Cloud Computing dimana kita tinggal memakai software (perangkat lunak) yang telah disediakan. User hanya tahu bahwa perangkat lunak bisa berjalan dan bisa digunakan dengan baik.
Contoh, layanan email publik (Gmail, YahooMail, Hotmail), social network (Facebook, Twitter, LinkedIn) instant messaging (Yahoo Messenger, Skype, Line, WhatsApp) dan masih banyak lagi yang lain.
Dalam perkembangan-nya, banyak perangkat lunak yang dulu hanya kita bisa nikmati dengan menginstall aplikasi tersebut di komputer kita (on-premise) mulai sekarang bisa kita nikmati lewat Cloud Computing. 
Keuntungan-nya, kita tidak perlu membeli lisensi dan tinggal terkoneksi ke internet untuk memakai-nya. Contoh, Microsoft Office yang sekarang kita bisa nikmati lewat Office 365, Adobe Suite yang bisa kita nikmati lewat Adobe Creative Cloud.

2. Platform as a Service (PaaS)


Adalah layanan dari Cloud Computing kalau kita analogikan dimana kita menyewa “rumah” berikut lingkungan-nya (sistem operasi, network, database engine, framework aplikasi, dll), untuk menjalankan aplikasi yang kita buat.
Kita tidak perlu pusing untuk menyiapkan “rumah” dan memelihara “rumah” tersebut. Yang penting aplikasi yang kita buat bisa berjalan dengan baik di “rumah” tersebut. Untuk pemeliharaan “rumah” ini menjadi tanggung jawab dari penyedia layanan.
Sebagai analogi, misal-nya kita sewa kamar hotel, kita tinggal tidur di kamar yang sudah kita sewa, tanpa peduli bagaimana “perawatan” dari kamar dan lingkungan-nya. Yang penting, kita bisa nyaman tinggal di kamar itu, jika suatu saat kita dibuat tidak nyaman, tinggal cabut dan pindah ke hotel lain yang lebih bagus layanan-nya.
Contoh penyedia layanan PaaS ini adalah: Amazon Web ServiceWindows Azure,  bahkan tradisional hosting-pun merupakan contoh dari PaaS.
Keuntungan dari PaaS adalah kita sebagai pengembang bisa fokus pada aplikasi yang kita buat, tidak perlu memikirkan operasional dari “rumah” untuk aplikasi yang kita buat.

3. Infrastructure as a Service (IaaS)


Adalah layanan dari Cloud Computing dimana kita bisa “menyewa” infrastruktur IT (komputasi, storage, memory, network). Kita bisa definisikan berapa besar-nya unit komputasi (CPU), penyimpanan data (storage), memory (RAM), bandwith, dan konfigurasi lain-nya yang akan kita sewa.
Mudah-nya, IaaS ini adalah menyewa komputer virtual yang masih kosong, dimana setelah komputer ini disewa kita bisa menggunakan-nya terserah dari kebutuhan kita. Kita bisa install sistem operasi dan aplikasi apapun diatas-nya.
Contoh penyedia layanan IaaS ini adalah: Amazon EC2, Windows Azure (soon), TelkomCloudBizNetCloud, dan sebagainya.
Keuntungan dari IaaS ini adalah kita tidak perlu membeli komputer fisik, dan konfigurasi komputer virtual tersebut bisa kita rubah (scale up/scale down) dengan mudah. Sebagai contoh, saat komputer virtual tersebut sudah kelebihan beban, kita bisa tambahkan CPU, RAM, Storage dan lainnya dengan segera


Setelah kita bahas apa itu Cloud Computing dan jenis layanan-nya, sekarang kita bahas tentang berberapa terminologi yang sering dipakai dalam Cloud Computing. Kita mulai dari 3 terminologi berikut: Public CloudPrivate Cloud dan Hybrid Cloud.

1. Public Cloud


Adalah layanan Cloud Computing yang disediakan untuk masyarakat umum. Kita sebagai user tinggal mendaftar ataupun bisa langsung memakai layanan yang ada. Banyak layanan Public Cloud yang gratis, dan ada juga yang perlu membayar untuk bisa menikmati layanan-nya.
Contoh Public Cloud yang gratis: Windows Live MailGoogleMailFacebookTwitter dan sebagainya.
Contoh Public Cloud yang berbayar: SalesForceOffice 365Adobe Creative CloudWindows AzureAmazon EC2, dan sebagainya.
Keuntungan: Kita tidak perlu investasi dan merawat infrastruktur, platform ataupun aplikasi. Tinggal pakai secara gratis (untuk layanan yang gratis) atau bayar sejauh pemakaian kita (pay as you go).
Kerugian:
Sangat tergantung dengan kualitas layanan internet yang kita pakai, jika koneksi internet mati, kita tidak bisa memakai layanan-nya. Untuk itu kita perlu pikirkan secara matang infrastruktur internet-nya.
Tidak semua penyedia layanan, menjamin keamanan data kita. Untuk itu kita perlu hati-hati untuk memilih provider Public Cloud ini. Pelajari dengan seksama profil dan Service Level Agreement dari penyedia layanan.

2. Private Cloud


Adalah layanan Cloud Computing, yang disediakan untuk memenuhi kebutuhan internal dari organisasi/perusahaan. Biasa-nya departemen IT akan berperan sebagai Service Provider (penyedia layanan) dan departemen lain menjadi user (pemakai).
Sebagai Service Provider tentu saja Departemen IT harus bertanggung jawab agar layanan bisa berjalan dengan baik sesuai dengan standar kualitas layanan yang telah ditentukan oleh perusahaan, baik infrastruktur, platform maupun aplikasi yang ada.
Contoh layanannya:
SaaS: Web Application internal, Sharepoint, Mail Server internal, Database Server untuk keperluan internal.
PaaS: Sistem Operasi + Web Server + Framework + Database yang disediakan untuk internal
IaaS: Virtual Machine yang bisa di-request sesuai dengan kebutuhan internal
Keuntungan:
Keamanan data terjamin, karena dikelola sendiri.
Menghemat bandwith internet ketika layanan itu hanya diakses dari jaringan internal.
Proses bisnis tidak tergantung dengan koneksi internet, tapi tetap saja tergantung dengan koneksi internet lokal (intranet).
Kerugian:
Investasi besar, karena kita sendiri yang harus menyiapkan infrastruktur-nya.
Butuh tenaga kerja untuk merawat dan menjamin layanan berjalan dengan baik.

3. Hybrid Cloud


Adalah gabungan dari layanan Public Cloud dan Private Cloud yang di-implementasikan oleh suatu organisasi/perusahaan. Dalam Hybrid Cloud ini, kita bisa memilih proses bisnis mana yang bisa dipindahkan ke Public Cloud dan proses bisnis mana yang harus tetap berjalan di Private Cloud.
Contohnya:
Perusahaan A, menyewa layanan dari Windows Azure (Public Cloud) sebagai “rumah” yang dipakai untuk aplikasi yang mereka buat, tapi karena aturan undang-udang yang berlaku, data nasabah dari perusahaan A tidak boleh ditaruh di pihak ketiga, karena perusahaan A taat pada aturan yang ada, maka data dari nasabah tetap disimpan di database mereka sendiri (Private Cloud), dan aplikasi akan melakukan koneksi ke database internal tersebut.
Perusahaan B, menyewa layanan dari Office 365 (Public Cloud), karena perusahaan B tersebut sudah punya Active Directory yang berjalan diatas Windows Server mereka (Private Cloud) maka kita bisa konfigurasikan Active Directory tersebut sebagai identity untuk login di Office 365.
Keuntungan:
Keamanan data terjamin, karena data bisa dikelola sendiri (hal ini TIDAK berarti bahwa menyimpan data di public cloud tidak aman ya).
Lebih leluasa untuk memilih mana proses bisnis yang harus tetap berjalan di private cloud dan mana proses bisnis yang bisa dipindahkan ke public cloud dengan tetap menjamin integrasi dari kedua-nya.
Kerugian:
Untuk aplikasi yang membutuhkan integrasi antara public cloud dan private cloud, maka infrastruktur internet harus dipikirkan secara matang.

Grid Computing

   Komputasi grid adalah  penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar. atau bisa di bilang suatu bentuk jaringan. Tidak seperti jaringan konvensional yang berfokus pada komunikasi antar perangkat, memanfaatkan komputasi grid siklus pengolahan yang tidak terpakai dari semua komputer dalam jaringan untuk memecahkan masalah juga intensif untuk setiap mesin yang berdiri sendiri.
Sebuah proyek komputasi grid terkenal adalah SETI (Search for Extraterrestrial Intelligence) proyekHome, di mana pengguna PC di seluruh dunia menyumbangkan siklus prosesor yang tidak terpakai untuk membantu pencarian tanda-tanda kehidupan di luar bumi dengan menganalisis sinyal yang datang dari luar angkasa. Proyek ini bergantung pada pengguna individu secara sukarela untuk memungkinkan proyek untuk memanfaatkan kekuatan pemrosesan yang tidak terpakai dari komputer pengguna. Metode ini menghemat proyek baik uang dan sumber daya.
Komputasi grid tidak memerlukan software khusus yang unik untuk proyek komputasi yang grid sedang digunakan.

Latar Belakangnya adalah  perkembangan kecepatan prosesor berkembang sesuai dengan Hukum Moore, meskipun demikian bandwith jaringan komputer berkembang jauh lebih pesat. Semakin cepatnya jalur komunikasi ini membuka peluang untuk menggabungkan kekuatan komputasi dari sumber-sumber komputasi yang terpisah. Perkembangan ini memungkinkan skala komputasi terdistribusi ditingkatkan lebih jauh lagi secara geografis, melintasi batas-batas domain administrasi yang sudah ada.
Pesatnya perkembangan teknologi komputer di negara-negara maju, membuat para penelitinya semakin haus akan tenaga komputasi yang dapat menjawab tantangan dan permasalahan yang mereka hadapi. Walaupun sudah memiliki supercomputer dengan kapasitas yang sangat tinggi , apa yang sudah ada ini pun dirasa tetap kurang, karena mereka berusaha memecahkan permasalahan yang lebih besar lagi. Setelah semua komputer yg dimiliki seorang "peneliti haus tenaga komputasi" dipergunakan habis-habisan untuk memecahkan masalahnya, setelah berbagai cara untuk memecahkan masalah dicoba, dan dipilih yang paling efisien, tapi tetap masalahnya belum bisa dipecahkan juga, apa yang harus dia lakukan? Komputasi grid adalah salah satu jawaban dari pertanyaan ini.


Sebuah sistem komputasi grid menggunakan konsep yang sama: membagi beban di beberapa komputer untuk menyelesaikan tugas lebih efisien dan cepat. Sebelum pergi terlalu jauh lagi, mari kita cepat melihat sumber komputer:
1. Central processing unit (CPU): Sebuah CPU adalah mikroprosesor yang melakukan operasi matematika dan mengarahkan data ke lokasi memori yang berbeda. Komputer dapat memiliki lebih dari satu CPU.
2. Memory: Secara umum, memori komputer adalah jenis penyimpanan elektronik sementara. Memori terus dekat data yang relevan di tangan untuk mikroprosesor. Tanpa memori, mikroprosesor harus mencari dan mengambil data dari perangkat penyimpanan yang lebih permanen seperti hard disk drive.
3. Penyimpanan: Dalam jaringan istilah komputasi, penyimpanan mengacu pada perangkat penyimpanan data permanen seperti drive hard disk atau database.
Biasanya, komputer hanya dapat beroperasi dalam keterbatasan sumber daya sendiri. Ada batas atas untuk cara cepat dapat menyelesaikan operasi atau berapa banyak informasi yang dapat menyimpan. Sebagian besar komputer yang upgradeable, yang berarti itu mungkin untuk menambah daya lebih atau kapasitas untuk satu komputer, tapi itu masih hanya peningkatan inkremental dalam kinerja.
Sistem komputasi grid menghubungkan sumber daya komputer bersama-sama dengan cara yang memungkinkan seseorang menggunakan satu komputer untuk mengakses dan memanfaatkan kekuatan yang dikumpulkan dari semua komputer dalam sistem. Untuk pengguna individu, seolah-olah komputer pengguna telah berubah menjadi superkomputer.

Contoh Grid Computing:

a) Scientific Simulation
Komputasi grid diimplementasikan di bidang fisika, kimia, dan biologi untuk melakukan simulasi terhadap proses yang kompleks.

b) Medical Images
Penggunaan data grid dan komputasi grid untuk menyimpan medical-image. Contohnya adalah eDiaMoND project.

c) Computer-Aided Drug Discovery (CADD)
Komputasi grid digunakan untuk membantu penemuan obat. Salah satu contohnya adalah: Molecular Modeling Laboratory (MML) di University of North Carolina (UNC).

d) Big Science
Data grid dan komputasi grid digunakan untuk membantu proyek laboratorium yang disponsorioleh pemerintah Contohnya terdapat di DEISA.

e) E-Learning
Komputasi grid membantu membangun infrastruktur untuk memenuhi kebutuhan dalam pertukaran informasi dibidang pendidikan. Contohnya adalah AccessGrid.

f) Visualization
Komputasi grid digunakan untuk membantu proses visualisasi perhitungan yang rumit.

g) Microprocessor design
komputasi grid membantu untuk mengurangi microprocessor design cycle dan memudahkan design center untuk membagikan resource lebih efisien. Contohnya ada diMicroprocessor Design Group at IBM Austin.
Beberapa konsep dasar dari grid computing :
  • Sumber daya dikelola dan dikendalikan secara lokal.
  • 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.
  • Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah
  • 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.
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 :
  • 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.
  • 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.
  • Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.
Kemudian hal yang tidak boleh dilupakan adalah mengenai keberadaan dari elemen-elemen dari grid computing, elemen ini tidak bisa dilepaskan dari grid computing. Elemen grid computing adalah berikut :

  • Hardware
  • Software
  • Brainware
Dibalik kemudahan setiap komputasi yang sudah ada selama ini, maka ada kekurangan/kelemahan yang dimilikinya. Dibawah ini saya akan memberikan info mengenai kelebihan dan kekurangan apa saja yang dimiliki oleh grid computing ini :


KELEBIHAN :
  • Grid computing menjanjikan peningkatan utilitas, dan fleksibilitas yang lebih besar untuk sumberdaya infrastruktur, aplikasi dan informasi. Dan juga menjanjikan peningkatan produktivitas kerja perusahaan.
  • Grid computing bisa memberi penghematan uang, baik dari sisi investasi modal maupun operating cost–nya.
KEKURANGAN :
  • 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.
  • 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.

Sumber :
https://infokomputer.grid.id/2015/12/fitur/mengenal-cloud-computing-kelebihan-kekurangan/
https://www.progresstech.co.id/blog/jenis-cloud/
http://muhamadreggi.blogspot.co.id/2015/06/penjelasan-kekurangan-dan-kelebihan.html