Kamis, 26 Maret 2015

Cloud Computing

Cloud Computing diterjemahkan dalam bahasa Indonesia yang artinya komputasi awan, adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Cloud computing atau komputasi awan merupakan definisi untuk teknologi komputasi grid (grid computing) yang digunakan pada pertengahan hingga akhir tahun 1990-an. Jargon cloud computing atau komputasi awan mulai muncul pada akhir tahun 2007, digunakan untuk memindahkan layanan yang digunakan sehari-hari ke Internet, bukan disimpan di komputer lokal lagi. Pada saat itu, layanan lain termasuk pengolahan kata, spreadsheet, dan presentasi telah dipindahkan ke dalam komputasi awan. Google menyediakan pengolah kata, spreadsheet dan aplikasi presentasi di lingkungan komputasi awan dan terintegrasi dengan Gmail dan Google Calendar, menyediakan lingkungan kantor di web (atau di awan). Microsoft dan perusahaan lain juga bereksperimen dengan mengalihkan program-program ke awan untuk membuatnya lebih terjangkau dan lebih mudah diakses oleh pengguna komputer dan Internet. 

Cloud computing saat ini sangat populer, selain dari pemain besar software seperti Microsoft dan Google, perusahaan lain bermunculan hanya untuk menyediakan layanan berbasis awan sebagai pengganti atau penyempurnaan aplikasi pada PC hari ini. Beberapa dari perusahaan tersebut adalah Zoho.com, sebuah office suite online, Evernote.com, merupakan sebuah situs yang ditujukan untuk catatan online , dan RememberTheMilk.com, manajemen tugas online. Email yang tersedia dalam bentuk web mail merupakan contoh yang sangat kecil dari teknologi cloud computing. Dengan menggunakan layanan email seperti Gmail dan Yahoo Mail, orang tidak perlu lagi menggunakan Outlook atau aplikasi desktop lainnya untuk email mereka. Membaca email dengan browser memungkinkan dilakukan di mana saja sepanjang ada koneksi internet. 

Layanan Cloud Computing

- 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. Komponen-komponen tersebut digunakan untuk membangun komputer virtual. Komputer virtual dapat diinstal sistem operasi dan aplikasi sesuai kebutuhan. Keuntungan layanan IaaS ini adalah tidak perlu membeli komputer fisik sehingga lebih menghemat biaya. Konfigurasi komputer virtual juga bisa diubah sesuai kebutuhan. Misalkan saat storage hampir penuh, storage bisa ditambah dengan segera. Perusahaan yang menyediakan IaaS adalah Amazon EC2, TelkomCloud dan BizNetCloud.

- 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. Perusahaan yang menyediakan layanan tersebutlah yang bertanggung jawab dalam pemeliharaan computing platform ini. Keuntungan layanan PaaS ini bagi pengembang adalah mereka bisa fokus pada aplikasi yang mereka buat tanpa memikirkan tentang pemeliharaan dari computing platform. Contoh penyedia layanan PaaS adalah Amazon Web Service dan Windows Azure.

- Software as a Service (SaaS)

Software as a Service adalah layanan komputasi awan dimana kita bisa langsung menggunakan aplikasi yang telah disediakan. Penyedia layanan mengelola infrastruktur dan platform yang menjalankan aplikasi tersebut. Contoh layanan aplikasi email yaitu gmail, yahoo dan outlook sedangkan contoh aplikasi media sosial adalah twitter, facebook dan google+. Keuntungan dari layanan ini adalah pengguna tidak perlu membeli lisensi untuk mengakses aplikasi tersebut. Pengguna hanya membutuhkan perangkat klien komputasi awan yang terhubung ke internet. Ada juga aplikasi yang mengharuskan pengguna untuk berlangganan agar bisa mengakses aplikasi yaitu Office 365 dan Adobe Creative Cloud.

Grid Computing

Pengertian dari Grid Computing itu sendiri adalah sebuah sistem komputasi terdistribusi, yang memungkinkan seluruh sumber daya (resource) dalam jaringan, seperti pemrosesan, bandwidth jaringan, dan kapasitas media penyimpan, membentuk sebuah sistem tunggal secara vitual. Seperti halnya pengguna internet yang mengakses berbagai situs web dan menggunakan berbagai protokol seakan-akan dalam sebuah sistem yang berdiri sendiri, maka pengguna aplikasi Grid computing seolah-olah akan menggunakan sebuah virtual komputer dengan kapasitas pemrosesan data yang sangat besar. 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. Grid computing menawarkan solusi komputasi yang murah, yaitu dengan memanfaatkan sumber daya yang tersebar dan heterogen serta pengaksesan yang mudah dari mana saja. Globus Toolkit adalah sekumpulan perangkat lunak dan pustaka pembuatan lingkungan komputasi grid yang bersifat open-source. Dengan adanya lingkungan komputasi grid ini diharapkan mempermudah dan mengoptimalkan eksekusi program-program yang menggunakan pustaka paralel. Dan Indonesia sudah menggunakan sistem Grid dan diberi nama InGrid (Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret 2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan beberapa perguruan tinggi negeri dan swasta yang tersebar di seluruh Indonesia dan beberapa instansi pemerintahan seperti Badan Meteorologi dan Geofisika.

Virtualisasi

Virtualisasi bisa diartikan sebagai pembuatan suatu bentuk atau versi virtual dari sesuatu yang bersifat fisik, misalnya sistem operasi,  perangkat storage /penyimpanan data atau sumber daya jaringan.
Inti dari virtualisasi adalah membuat sebuah simulasi dari perangkat keras, sistem operasi, jaringan maupun yang lainnya. Di bidang teknologi informasi, virtualisasi digunakan sebagai sarana untuk improvisasi skalabilitas dari perangkat keras yang ada.

Virtualisasi bisa diimplementasikan kedalam berbagai bentuk, antara lain :

Network Virtualization : VLAN, Virtual IP, Multilink
Memory Virtualization : pooling memory dari node-node di cluster
Grid Computing : banyak komputer = satu
Application Virtualization : Dosemu, Wine
Storage Virtualization : RAID, LVM
Platform Virtualization : virtual computer

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.

Distributed Computation dalam Cloud Computing

Distributed Computation adalah ilmu yang memecahkan masalah besar dengan memberikan bagian kecil dari masalah untuk banyak komputer untuk memecahkan dan kemudian menggabungkan solusi untuk bagian-bagian menjadi solusi untuk masalah tersebut. Distributed computing terkait dengan system perangkat keras dan perangkat lunak yang memiliki lebih dari satu elemen pemrosesan atau storage element.

Pada cloud computing, penyimpanan data hanya dilakukan pada server utama, sehingga pengguna hanya dapat mengaksesnya tanpa harus mengetahui infrastruktur pembuatan aplikasinya. Hanya perlu interface software saja untuk mengakses server. Interface ini pada umumnya merupakan web browser yang tersedia dengan banyak pilihan dan tidak berbayar.

Distributed computation merupakan salah satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber daya secara parallel, 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, dapat menghemat biaya operasional karena tidak membutuhkan sumber daya (resources).

MapReduce dan NoSQL (Not Only SQL)

MapReduce adalah model pemrograman rilisan Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan paralel dalam cluster yang terdiri atas ribuan komputer. Dalam memproses data, secara garis besar MapReduce dapat dibagi dalam dua proses yaitu proses Map dan proses Reduce. Kedua jenis proses ini didistribusikan atau dibagi-bagikan ke setiap komputer dalam suatu cluster (kelompok komputer yang salih terhubung) dan berjalan secara paralel tanpa saling bergantung satu dengan yang lainnya. Proses Map bertugas untuk mengumpulkan informasi dari potongan-potongan data yang terdistribusi dalam tiap komputer dalam cluster. Hasilnya diserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna. 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.

NoSQL merupakan suatu bahasan yang jauh dari arti kata yang dibaca. Tidak berarti tanpa sql. Melainkan bagaimana suatu query sql 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.

Berikut adalah contoh penerapan cloud computing untuk bidang pendidikan

Referensi : 
 http://www.cloud-lounge.org/why-use-clouds.htm
http://www.webopedia.com
ttp://gorbyrashid.blogspot.com/2010/05/perbedaan-grid-dan-cloud-computing.html
http://www.excellent.co.id/product-services/vmware/keuntungan-teknologi-virtualisasi-cloud-computing/
 http://bimbimboy.blogspot.com/2014/05/distributed-computation-dalam-cloud.html
 http://seto.citravision.com/berita-39-pengantar-komputasi-cloud--map-reduce-dan-nosql-not-only-sql.html
http://www.vmware.com/virtualization/
http://www.cse.unr.edu
http://computer.howstuffworks.com/cloud-computing/cloud-computing.htm
https://www.youtube.com/watch?v=88ysB-EKA9U