KOMPUTASI AWAN (CLOUD COMPUTING)
secara kata bila diterjemahkan kedalam Bahasa Indonesia dapat berbunyi “Komputasi Awan”, namun sampai saat sekarang ini “mungkin” belum memiliki definisi ilmiah ataupun pengartian pokok yang jelas kecuali sebuah konsep pemahaman dalam rangka pembuatan kerangka kerja komputasi secara online lokal (LAN) maupun global (internet) dimana terdapat beragam aplikasi maupun data dan media penyimpanan yang dapat diakses dan digunakan secara berbagi (shared service) dan bersamaan (simultaneous access) oleh para pengguna yang beragam – mulai dari perseorangan sampai kepada kelas pengguna korporasi atau perusahaan.
KELEBIHAN DAN KEKURANGAN CLOUD COMPUTING
- Penggunaan Grid Computing System untuk perusahaan-perusahaan akan banyak memberikan manfaat, baik manfaat secara langsung maupun tidak langsung. Beberapa manfaat tersebut antara lain :
- 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.
- Dan beberapa hambatan yang dialami oleh masyarakat Indonesia dalam mengaplikasikan teknologi grid computing adalah sebagai berikut :
- 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.
CARA KERJA CLOUD COMPUTING
Mekanisme akses ke cloud computing “mungkin” dapat dijalankan secara beraneka ragam – mulai dari akses standar LAN maupun intranet dengan sedikit aplikasi agen atau klien, sampai kepada akses extranet dan internet melalui browser yang terhubung ke sebuah portal aplikasi dari penyedia layanan cloud computing. Protokol aplikasi yang digunakan pun dapat beragam, tetapi hal ini tidaklah terlalu signifikan bila dilihat dari sisi pengguna akhir , dimana pengguna akhir cukup mengetahui bagaimana cara mengakses dan mempergunakan jasa layanan yang terdapat pada Cloud computing.
Cloud computing dapat berkembang disebabkan oleh segi “kemudahan” penggunaan dimana pengguna akhir dengan “cukup relatif” mudah menggunakan media LAN atau Internet melalui browser untuk mengakses dan berkolaborasi secara bersamaan tanpa melalui proses yang “cukup” rumit.
Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar. Grid computing merupakan cabang dari distributed computing.Grid komputer 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.
KONSEP GRID COMPUTING
Beberapa konsep dasar dari 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 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.
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 :
- 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. Hardware pada grid komputing di atur secara lokal, dan hardware yang berbeda memiliki kebijakan dan cara kerja yang berbeda. Hardware dan user grid komputing sering bersifat dinamis tergantung penerapan grid tersebut.
- 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. Unsur-unsur dasar suatu middleware adalah keamanan (security), pengaturan sumber daya (resource management), pengaturan data (data management), dan layanan informasi (information services). Contoh beberapa middleware adalah Globus Toolkit, Gridbus, Microsoft’s COM/DCOM, Unicore, dan masih banyak contoh-contoh middleware lainnya.
- 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. Hal ini memunculkan persepsi bahwa teknologi komputasi grid ini sulit di terima di kalangan non-ilmuan, terutama di kalangan bisnis. Namun, sekarang penerapan komputasi grid telah merambah penggunaanya bukan hanya pada proyek sains saja. Bahkan baru-baru ini, teknologi grid computing telah di kenalkan pada dunia enterpreneur dan mendapat banyak respon positif. Orang yang memelihara dan menggunakan teknologi grid computing ini, berdasarkan penelitian penggunaannya akan meluas pada:
§ jaringan penelitian publik bagi para peneliti dan ilmuan;
§ layanan (service), artinya grid computing tidak lagi hanya bersifat komputasional;
§ berbagai institusi keuangan, seperti perbankan;
§ Service Oriented Architecture (SOA), yaitu enkapsulasi sekumpulan aplikasi sebagai interface tunggal yang dapat di rekonfigurasi.
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 disponsori oleh 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.
VIRTUALISASI
Virtualisasi adalah Technologi yang mentransformasikan hardware menjadi software, dimana virtualisasi memungkinkan beberapa operating system bisa berjalan bersama pada sebuah computer sebagai virtual machine.
Virtualisasi merupakan sebuah teknik untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain, aplikasi atau pengguna berinteraksi dengan sumber daya tersebut. Hal ini termasuk membuat sebuah sumber daya tunggal (seperti server, sebuah sistem operasi, sebuah aplikasi, atau peralatan penyimpanan terlihat berfungsi sebagai beberapa sumber daya logikal; atau dapat juga termasuk definisi untuk membuat beberapa sumber daya fisik (seperti beberapa peralatan penyimpanan atau server) terlihat sebagai satu sumber daya logical.
Contoh sederhana Virtualisasi. Jika anda adalah pengguna komputer sering, anda sudah harus memiliki pengetahuan tentang partisi dari hard drive anda. Anda dapat membuat lebih dari satu partisi di komputer anda. Pada Windows, partisi diberi nama sebagai C: , D: , E: dll Kami sebut semua partisi sebagai drive terpisah. Kita juga tahu bahwa komputer kita hanya terdiri dari satu hard drive fisik. Drive ini adalah partisi logical dari hard drive tunggal fisik. Ini dapat disebut sebagai Virtualisasi sebagaimana menciptakan versi virtual dari perangkat keras tunggal.
Virtualisasi sendiri dibagi menjadi 3, yaitu:
· Full Virtualization. Menggunakan aplikasi khusus yang disebut Hypervisor untuk proses virtualisasi. Hypervisor berinteraksi langsung dengan semberdaya yang ada pada host server, Hypervisor juga menjadi jembatan antara komputer guest dengan komputer host. Hypervisor membagi sumberdaya server secara independen pada setiap komputer guest, sehingga setiap komputer guest memeliki sistem operasi yang berbeda-beda.
· Para Virtualization. Jenis ini menggunakan pendekatan yang sedikit berbeda. Berbeda dengan full virtualization, host dan guest pada para virtualizaiton dapat mengetahui keberadaan komputer virtual lain pada server yang sama. Hypervisor disini digunakan untuk mengelola komputer guest yang tidak memerlukan sumberdaya yang besar, karena setiap sistem operasi menerima informasi tentang kebutuhan sistem operasi lain yang ada pada satu komputer host.
· Virtualization at the OS level. Tidak menggunakan teknologi hypervisor melainkan menjalankan semua fungsi virtualisasi pada komputer host Yang menjadi pemasalahan besar pada implemenatasi jenis ini adalah semua komputer guest harus menggunakan sistem operasi yang sama dengan komputer host. Sehingga jenis ini disebut Homogen.
KEUNTUNGAN PENGGUNAAN 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
KERUGIAN PENGGUNAAN 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
Mempelajari tentang pengunaan terkoordinasi dari komputer secara fisik terpisah atau terdistribusi, untuk dalam komputasi cloud dimana media dapat berjalan bersamaan pada banyaknya komputer yang terhubung melalui media internet.
Komputasi Terdistribusi merupakan salah satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber daya secara paralel, para pengguna juga bisa memanfaatkannya secara bersamaan (tidak harus menunggu dalam antrian untuk mendapatkan pelayanan), terdiri dari banyak sistem sehingga jika salah satu sistem crash, sistem lain tidak akan terpengaruh dan juga dapat menghemat biaya operasional karena tidak membutuhkan sumber daya (resourches).
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.
NOSQL DATABASE
Nosql adalah sebuah memcache dari bagian database sederhana yang berisi key dan value. Database ini bersifat struktur storage dimana sistem databasenya yang berbeda dengan sistem database relasional. Nosql tidak membutuhkan skema table dan menghindari operasi join dan berkembang secara horizontal. 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 datadan 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