Senin, 12 Oktober 2015

NoSQL DataBase

Secara umum, database noSQL dibagi menurut format penyimpanan dokmentnya . Berikut ini adalah pengelompokan database noSQL berdasarkan model (penyimpanan) datanya
  1. 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.
  2. 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.
  3. Key – Value,  contoh database jenis ini adalah Apache Cassandra.
  4. Object Database. Format database yang disimpan dalam object object, Object disini sama dengan pengertian object di Pemrograman beroreintasi object , Contoh databasenya adalah Db4o.
  5. Tipe lainnya adalah tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.
Kelebihan NoSQL di banding Relasional Database
  1. NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
  2. Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
  3. NoSQL tidak mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL sangat cocok untuk data yang tidak terstruktur, istilah singkat untuk fitur ini adalah Dynamic Schema.
  4. Autosharding, istilah sederhananya, jika database noSQL di jalankandi cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server.
Kekurangan dari database NoSQL sendiri , minimal bagi saya adalah Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL. Selain itu, saya belum pernah menemukan hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.
Selain itu, karena bervariasinya produk dan format penyimpanan, berpindah antar satu produk database ke produk noSQL lainnya perlu waktu untuk belajar. Contohnya ketika anda pindah dari MongoDB ke Cassandra, maka anda harus belajar lagi dari awal, berbeda dengan database RDMS.

Map Reduce dan NoSQL (Not Only SQL)

Map Reduce dan NoSQL (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 MongoDBCassandraCouchDB, 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
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

Kesimpulan
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.

Distributed Computation Dalam Cloud Computing

Kegiatan ini merupakan kumpulan beberapa computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data serta melakukan interaksi lain antar computer yang dimana membutuhkan sebuah jaringan agar computer 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.
Komputasi Terdistribusi 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 (resourches). 
Distribusi komputasi ini memiliki definisi mempelajari penggunaan terkoordinasi dari computer secara fisik terpisah atau terdistribusi. Pada distributed computing ini, program dipisah menjadi beberapa bagian yang dijalankan secara bersamaan pada banyak computer yang terhubung melalui jaringan internet.

Virtualilasi Cloud computing


Istilah virtualization atau virtualisasi sebenarnya memiliki banyak pengertian. Dalam kamus bahasa Indonesia sendiri belum ditemukan definisi yang jelas tentang virtualisasi. Jika merujuk pada kamus Oxford istilah virtualization merupakan turunan dari kata virtualize yang memiliki makna:
“convert (something) to a computer-generated simulation of reality”
Kalau terjemahan bebasnya:
“mengubah sesuatu (mengkonversi) ke bentuk simulasi dari bentuk nyata yang ada”

Dalam hardware virtualization, perangkat lunak bekerja membentuk sebuah virtual machine yang bertindak seolah-olah seperti sebuah komputer asli dengan sebuah sistem operasi terinstall di dalamnya. Salah contoh yang mudah misalkan terdapat satu buah komputer yang telah terinstall GNU/Linux Ubuntu. Kemudian dengan menggunakan perangkat lunak virtualization semisal Virtualbox kita dapat menginstall dua buah sistem operasi lain sebagai contoh Windows XP dan FreeBSD.
Sistem operasi yang terinstall di komputer secara fisik dalam hal ini GNU/Linux Lubuntudisebut sebagai host machine sedangkan sistem operasi yang diinstall diatasnya dinamakan guest machine. Istilah host dan guest dikenalkan untuk memudahkan dalam membedakan antara sistem operasi fisik yang terinstall di komputer dengan sistem operasi yang diinstall diatasnya atau virtualnya.
Perangkat lunak yang digunakan untuk menciptakan virtual machine pada host machine biasa disebut sebagai hypervisor atau Virtual Machine Monitor (VMM). Menurut Robert P. Goldberg pada tesisnya yang berjudul “Architectural Principles For Virtual Computer Systems” pada hal 23 menyebutkan bahwa tipe-tipe dari VMM ada 2 yaitu :

• 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 dan sudah saya coba secara langsung ialah VMWare ESXi. Adapun contoh yang lain yang ada seperti Microsoft Hyper-V
• Type 2 berjalan pada sistem operasi diatasnya. Pada tipe ini tentunya guest sistem operasi nya berada di layer diatasnya lagi.

Jenis Virtualisasi

Perangkat-Keras


Istilah virtualisasi perangkat-keras mengacu kepada upaya menciptakan mesin virtualyang bekerja layaknya sebuah komputer lengkap dengan sistem operasi. Istilah mesin tuan-rumah(host) mengacu kepada mesin tempat virtualisasi bersemayam sementara istilah mesin tamu(guest) mengacu kepada virtual mesin itu sendiri. Istilah hypervisormengacu kepada perangkat-lunak atau firmware yang membuat mesin virtual.
Jenis virtualisasi perangkat-keras meliputi:

  • Para-virtualisasi: Perangkat keras tidak disimulasikan tetapi perangkat-lunak tamu berjalan dalam domainnya sendiri seolah-olah dalam sistem yang berbeda. Dalam hal ini perangkat-lunak tamu perlu disesuaikan untuk dapat berjalan.
  • Virtualisasi sebagian: Tidak semua aspek lingkungan disimulasikan tidak semua perangkat-lunak dapat langsung berjalan, beberapa perlu disesuaikan untuk dapat berjalan dalam lingkungan virtual ini.
  • Virtualisasi penuh: Hampir menyerupai mesin asli dan mampu menjalankan perangkat lunak tanpa perlu diubah.
Vitualisasi perangkat-keras harus dibedakan dengan emulasi perangkat-keras. Pada emulasi perangkat-keras sebuah perangkat-keras meniru kerja perangkat-keras lain, sementara pada virtualisasi perangkat-keras sebuah hypervisor (sebuah software) meniru kerja perangkat keras tertentu atau bahkan keseluruhan komputer. Lebih lanjuthypervisor jangan dirancu dengan emulator. Keduanya mempunyai definisi yang sama tapi domain pembicaraannya berbeda.

Virtualisasi desktop
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Virtualisasi Desktop merupakan hasil teknologi dengan konsep Virtual Desktop Infrastructure (VDI) yang sedang berkembang. Dimana desktop adalah komputer kerja juga bisa disebut komputer meja yang dipakai untuk kerja sehari–hari dalam satu lokasi bisa di rumah maupun di kantor. Dan lebih diperuntukkan kepada perusahaan dengan karyawan yang menggunakan komputer, sehingga desktop (komputer kerja) tidak lagi harus wujud fisik komputer yang besar tetapi sudah dalam bentuk virtual yang akan dapat diakses dengan model klien-server.

Keunggulan dan kekurangan

Dengan penerapan teknologi virtualisasi desktop di lingkungan perusahaan ataupun penyedia komputasi awan tentu ada pertimbangan–pertimbangan yang harus diperhatikan. Berikut adalah keuntungan–keuntungan penerapan virtualisasi desktop:
  1. Membangun atau provisioning desktop baru secara sistem operasi lebih mudah
  2. Penyerdehanaan sistem operasi dan aplikasi
  3. Mengurangi downtime apabila:
    1. kegagalan hardware
    2. proses migrasi data
  4. Mobile akses dengan data terpusat
  5. Dari pengguna bisa menggunakan platform apapun karena yang dibutuhkan adalah fungsi remote saja.
Sedangkan kekurangannya adalah:
  1. Potensi risiko keamanan jaringan tidak dikelola dengan baik
  2. Kesulitan aplikasi kompleks (seperti multimedia)
  3. Downtime jaringan akan berakibat fatal dan berdampak ke semua user atau pengguna
  4. Ketergantungan konektivitas jaringan publik

Komponen IT untuk VDI

Komponen–komponen yang diperlukan perusahaan untuk membuat virtualisasi desktop adalah memahami persyaratan Teknologi Informasi. Teknologi informasi untuk virtualisasi yang diperlukan adalah perangkat keras, perangkat lunak, dan jaringan biasanya menyediakan ukuran pedoman dan referensi arsitektur, bersama dengan total biaya kepemilikan dan kalkulator alat-alat lain untuk membantu memutuskan apa implikasi biaya akan untuk menyebarkan infrastruktur virtual desktop. Saat ini perkembangan teknologi dari perangkat keras sudah sangat mendukung untuk masuk ke dalam virtualisasi desktop. Kemampuan mengadopsi pengenalan hardware yang jumlah besar dan besar pipa jaringan untuk akses dan perubahan yang terjadi di infrastruktur. Berikut yang dibutuhkan dari implementasi virtualisasi desktop:
  1. Server untuk kebutuhan VDI (Virtual Desktop Infrastructure)
Server – server dengan sistem CPU atau Unit Pemroses Sentral dan Memory dengan arsitektur Virtualisasi perangkat keras. Dengan speksifikasi yang besar bisa mengalokasikan menjadi 30 sampai dengan 40 virtual desktop dalam 1 server tentu dengan perhitungan kebutuhan perusahaan. Umumnya dalam 1 virtual desktop dialokasikan 1 GB Virtual Memory yang khusus untuk pengguna yang tidak menggunakan banyak aplikasi bersamaan. Pengalokasian virtual memory tergantung kepada pengguna dan aplikasi yang berjalan di virtual desktop, tentunya berbeda bagi pengguna kantor lingkungan marketing dengan pengguna desain grafis yang lebih membutuhkan kinerja perangkat keras lebih besar.
  1. Network untuk kebutuhan VDI [[Berkas: |350px|right]]
Dibutuhkan jaringan antara server–server, storage, sistem infra, dan klien. Komunikasi jaringan untuk VDI ini menggunakan jaringan LAN (Local Area Network) yang memanfaatkan 1 atau 10GB/s ethernet dan 8GB/s untuk koneksi storage. Sedangkan dari sisi klien bisa dalam LAN (Local Area Network), WAN (Wide Area Network), dan Publik (Internet). Biasanya akses virtual desktop dari luar menggunakan internet minimal dibutuhkan 20-30 kbps dan ini juga tergantung dari pemakaian, seperti bila digunakan untuk menjalankan multimedia dibutuhkanbandwidth yang lebih besar.
  1. Storage untuk kebutuhan VDI
Fokus utama kepada arsitektur dalam penyebaran dan penyimpanan virtual desktop dan data. Bagaimana menghitung kapasitas dan perkembangan data sehari–hari per user/pengguna. Dan tentu perhitungan kecepatan disk untuk menopang kebutuhan virtual desktop yang banyak. Dibutuhkan jumlah kapasitas yang besar untuk membangun virtual desktop yang banyak termasuk dengan aplikasi yang berjalan di virtual desktop tersebut.
  1. Hypervisor dan Perangkat lunak Virtualisasi
Saat ini ada beberapa pemain besar yang fokus dalam dunia bisnis virtualisasi desktop dan berperan dalam kemajuan teknologi virtualisasi desktop. Mereka memiliki teknologi yang hampir sama hanya membedakan adalah kemampuan–kemampuan tambahan yang membuat pengolahan perangkat keras lebih hemat dan mengurangi kompleksitas perangkat keras itu sendiri. Cara pandang dan hasil yang baik adalah mengurangi kompleksitas dari sisi desktop dan user juga tentunya dari kebutuhan perangkat keras itu sendiri. Sebagai contoh adalah Citrix Systems yang memiliki produk XenDesktop dan XenApp, yang saat ini menjadimarket leader dalam virtualisasi desktop. Citrix Systems menyempurnakan komputasi awan sampai lever virtualisasi desktop dan aplikasi. Dan yang lain adalah VMware dengan produk View dan Workstation

Pengantar Komputasi GRID

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.
 
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 :
1.         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.
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 sumberdaya, 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


Elemen-Elemen dalam Komputasi Grid
Penerapan teknologi grid computing atau komputasi grid pada kalangan yang membutuhkan, wajib memiliki elemen-elemen tertentu. Secara garis besar, 3 elemen pokok dari infrastuktur grid adalah:
1.         hardware/sumber daya;
2.         software; dan
3.         brainware (orang yang memelihara dan memakai komputasi grid).
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.
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.
Dan 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.

Pengantar Komputasi cloud

1. pendahuluan

Diagram konsepsual dari Komputasi awan
Komputasi awan (bahasa Inggriscloud computing) adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud)dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya.[1] Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), [2] sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan") [3] tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya.[4] 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, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain."[5]
Komputasi awan adalah suatu konsep umum yang mencakup SaaSWeb 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatu penjelajah webdengan perangkat lunak dan data yang tersimpan di server. Komputasi awan saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud [6]

Sejarah Komputasi Awan

Pada tahun 50-an, Cloud Computing memiliki konsep yang mendasar. Ketika komputer mainframe yang tersedia dalam skala yang besar dalam dunia pendidikan dan perusahaan dapat diakses melalui komputer terminal disebut dengan Terminal Statis. Terminal tersebut hanya dapat digunakan untuk melakukan komunikasi tetapi tidak memiliki kapasitas pemrosesan internal. Agar penggunaan mainframe yang relatif mahal menjadi efisien maka mengembangkan akses fisik komputer dari pembagian kinerja CPU. Hal ini dapat menghilangkan periode tidak aktif pada mainframae, memungkinkan untuk kembali pada investasi. Hinga pertengahan tahun 70-an dikenal dengan RJE remote proses Entry Home Job yang berkaitan besar dengan IBM dan DEC Mainframe.
Tahun 60-an, John McCarthy berpendapat bahwa “Perhitungan suatu hari nanti dapat diatur sebagai utilitas publik.” Di buku Douglas Parkhill, The Challenge of the Computer Utility menunjukkan perbandingan idustri listrik dan penggunaan pada listrik di masyarakat umum dan pemerintahan dalam penyediaan cloud computing. Ketika Ilmuan Herb Grosch mendalilkan bahwa seluruh dunia akan beroperasi pada terminal bodah didukung oleh sekitar 15 pusat data yang besar. Karena komputer ini sangat canggih, banyak perusahaan dan entitas lain menyediakan sendiri kemampuan komputasi melalui berbagai waktu danbeberapa organisasi, seperti GE GEISCO, Anak perusahaan IBM Biro Corporation, Tymshare, CSS Nasional, Data Dial, Bolt, dan Beranek and Newman.
Tahun 90-an, perusahaan telekomunikasi mulai menawarkan VPN layanan jaringan pribadi dengan kualitas sebanding pelayanannya, tapi dengan biaya yang lebih rendah. Karena merasa cocok dengan hal tersebut untuk menyeimbangkan penggunaan server, mereka dapat menggunakan bandwidth jaringan secara keseluruhan. Lalu menggunakan simbol awan sebagai penunjuk titik demarkasi antara penyedia dan pengguna yang saling bertanggung jawab. Cloud computing memperluas batas iniuntuk menutup server serta infrastruktur jaringan.
Sejak Tahun 2000, Amazon sebagai peran penting dalam semua pengembangan cloud computing dengan memodernisasi pusat data, seperti jaringan komputer yang menggunakan sesedikit 10% dari kapasitas mereka pada satu waktu. Setelah menemukan asitektur awan baru, mengalami peningkatan efisiensi internal sedikit bergerak capat “Tim Dua-Pizza”(Tim kecil untuk memberi makan dengan dua pizza) dapat menambahkan fitur baru dengan cepat dan lebih mudah. Kemudian Amazon mulai mengembangkan produk baru sebagai penyedia cloud computing untuk pelanggan eksternalm dan meluncurkan Amzaon Web Service (AWS) tahun 2006.
Awal tahun 2008, Eucalypus menjadi yang pertama open source, AWS API Platform yang kompatibel menyebarkan awan swasta. Open Nebula ditingkatkan dalam proyek Eropa Reservoir Komisi yang sudah didanai. Pada tahun yang sama, agar difokuskan pada penyediaan jaminan kualitas layanan (seperti yang dipersyaratkan oleh aplikasi interaktif real-time) untuk infrastruktur berbasis cloud dalam rangka IRMOS Eropa Proyek yang didanai Komisi. Pertengahan 2008, Gartner melihat kesempatan untuk membentuk hubungan antara konsumen layanan TI, mereka menggunakan layanan TI dan menjualnya. Dan mengamati bahwa “Organisasi layanan TI yang beralih dari perangkat keras milik perusahaan dan aset perangkat lunak untuk digunakan layanan berbasis model sehingga pergeseran diproyeksikan untuk komputasi.....akan menghasilkan pertumbuhan dramatis dalam produk IT di beberapadaerahdan pengurangan yang signifikan di daerah lain.”.
Tanggal 1 Maret 2011,IBM mengumumkan SmartCloud kerangka IBM Smarter Planet untuk mendukung. Di antara berbagai komponen dasar Smarter Computing, cloud computing adalah bagian yang paling penting.

Tahun 1960

John McCarthy, Pakar Komputasi dan kecerdasan buatan dari MIT. “Suatu hari nanti, komputasi akan menjadi Infrastruktur publik seperti halnya listrik dan telepon.”[7] Ini adalah sebuah ide yang mengawali suatu bentuk komputasi yang kita kenal dengan istilah Komputasi awan.

Tahun 1995

Larry Ellison, pendiri perusahaan Oracle. “Network Computing” Ide ini sebenarnya cukup unik dan sedikit menyindir perusahaan Microsoft pada saat itu. Intinya, kita tidak harus "menanam" berbagai perangkat lunak kedalam PC pengguna, mulai dari sistem operasi hingga perangkat lunak lainya. Cukup dengan koneksi dengan server dimana akan disediakan sebuah environment yang mencakup berbagai kebutuhan PC pengguna.
Pada era ini juga wacana “Network Computing” cukup populer. Banyak perusahaan yang menggalang sistem ini contohnya Sun Mycrosystem dan Novell Netware. Disayangkan kualitas jaringan komputer saat itu masih belum memadai, penggunapun cenderung memilih PC karena cenderung lebih cepat.

Akhir Era -90

Lahir konsep ASP (Application Service Provider) yang ditandai dengan kemunculan perusahaan pusat pengolahan data. Ini merupakan sebuah perkembangan pada kualitas jaringan komputer. Akses untuk pengguna menjadi lebih cepat.

Tahun 2000

Marc Benioff, mantan wakil presiden perusahaan Oracle. “salesforce.com” ini merupakan sebuah perangkat lunak CRM dengan basis SaaS (Software as a Service). Tak disangka gebrakan ini mendapat tanggapan hebat. Sebagai suksesor dari visi Larry Ellison, boss-nya. Dia memiliki sebuah misi yaitu “The End of Software”.

2005 - Sekarang

Cloud Computing sudah semakin meningkat popularitasnya, dari mulai penerapan sistem, pengunaan nama, dll. Amazon.com dengan EC2 (Elastic Computer Cloud); Google dengan Google App. Engine; IBM dengan Blue Cord Initiative; dsb. Perhelatan cloud computing meroket sebagaimana berjalanya waktu. Sekarang, sudah banyak sekali pemakaian sistem komputasi itu, ditambah lagi dengan sudah meningkatnya kualitas jaringan komputer dan beragamnya gadget yang ada. Contoh dari pengaplikasianya adalah Evernote, Dropbox, Google Drive, Sky Drive, Youtube, Scribd, dll.

Manfaat Komputasi Awan

Dari penjelasan tentang cloud computing diatas, ada banyak manfaat yang bisa kita ambil dari cloud computing, yaitu :
  • Skalabilitas, yaitu dengan cloud computing kita bisa menambah kapasitas penyimpanan data kita tanpa harus membeli peralatan tambahan, misalnya hardisk dll. Kita cukup menambah kapasitas yang disediakan oleh penyedia layanan cloud computing.
  • Aksesibilitas, yaitu kita bisa mengakses data kapanpun dan dimanapun kita berada, asal kita terkoneksi dengan internet, sehingga memudahkan kita mengakses data disaat yang penting.
  • Keamanan, yaitu data kita bisa terjamin keamanan nya oleh penyedia layanan cloud computing, sehingga bagi perusahaan yang berbasis IT, data bisa disimpan secara aman di penyedia cloud computing. Itu juga mengurangi biaya yang diperlukan untuk mengamankan data perusahaan.
  • Kreasi, yaitu para user bisa melakukan/mengembangkan kreasi atau project mereka tanpa harus mengirimkan project mereka secara langsung ke perusahaan, tapi user bisa mengirimkan nya lewat penyedia layanan cloud computing.
  • Kecemasan, ketika terjadi bencana alam data milik kita tersimpan aman di cloud meskipun hardisk atau gadget kita rusak

Layanan Komputasi Awan

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.

Metoda dan Implementasi Komputasi Awan

Metoda atau Cara Kerja Komputasi Awan

Berikut merupakan cara kerja penyimpanan data dan replikasi data pada pemanfaatan teknologi cloud computing. Dengan Cloud Computing komputer lokal tidak lagi harus menjalankan pekerjaan komputasi berat untuk menjalankan aplikasi yang dibutuhkan, tidak perlu menginstal sebuah paket perangkat lunak untuk setiap komputer, kita hanya melakukan installasi operating system pada satu aplikasi[8]. Jaringan komputer yang membentuk awan (internet) menangani mereka sebagai gantinya. Server ini yang akan menjalankan semuanya aplikasi mulai dari e-mail, pengolah kata, sampai program analisis data yang kompleks. Ketika pengguna mengakses awan (internet) untuk sebuah website populer, banyak hal yang bisa terjadi. Pengguna Internet Protokol (IP) misalnya dapat digunakan untuk menetapkan dimana pengguna berada (geolocation). Domain Name System (DNS) jasa kemudian dapat mengarahkan pengguna ke sebuah cluster server yang dekat dengan pengguna sehingga situs bisa diakses dengan cepat dan dalam bahasa lokal mereka. Pengguna tidak login ke server, tetapi mereka login ke layanan mereka menggunakan id sesi atau cookie yang telah didapatkan yang disimpan dalam browser mereka. Apa yang user lihat pada browser biasanya datang dari web server. Webservers menjalankan perangkat lunak dan menyajikan pengguna dengan carainterface yang digunakan untuk mengumpulkan perintah atau instruksi dari pengguna (klik, mengetik, upload dan lain-lain) Perintah-perintah ini kemudian diinterpretasikan oleh webservers atau diproses oleh server aplikasi. Informasi kemudian disimpan pada atau diambil dari database server atau file server dan pengguna kemudian disajikan dengan halaman yang telah diperbarui. Data di beberapa server disinkronisasikan di seluruh dunia untuk akses global cepat dan juga untuk mencegah kehilangan data.[butuh rujukan]
Web service telah memberikan mekanisme umum untuk pengiriman layanan, hal ini membuat service-oriented architecture (SOA) ideal untuk diterapkan. Tujuan dari SOA adalah untuk mengatasi persyaratan yang bebas digabungkan, berbasis standar, dan protocol-independent distributed computing. Dalam SOA, sumber daya perangkat lunak yang dikemas sebagai "layanan," yang terdefinisi dengan baik, modul mandiri yang menyediakan fungsionalitas bisnis standar dan konteks jasa lainnya. Kematangan web service telah memungkinkan penciptaan layanan yang kuat yang dapat diakses berdasarkan permintaan, dengan cara yang seragam.

Implementasi Komputasi Awan

Ada tiga poin utama yang diperlukan dalam implementasi cloud computing, yaitu :
  • Computer front end
Biasanya merupakan computer desktop biasa.
  • Computer back end
Computer back end dalam skala besar biasanya berupa server computer yang dilengkapi dengan data center dalam rak-rak besar. Pada umumnya computer back end harus mempunyai kinerja yang tinggi, karena harus melayani mungkin hinggga ribuan permintaan data.
  • Penghubung antara keduanya
Penghubung keduanya bisa berupa jaringan LAN atau internet.

Implementasi Cloud Computing dalam pemerintahan (E-Goverment)

Cloud Computing dalam pemerintahan (E-Goverment) dapat mendongkrak kinerja khususnya dalam bidang pemerintahan. E-Goverment dapat membantu para staff di bidang pemerintahan untuk memberikan pelayanan yang lebih baik ke masyarakat. Pemerintah dalam negara Indonesia telah menggunakan cloud computing. Contoh pertama yaitu sebagai penyediaan sumber informasi. Badan Pengkajian Dan Penerapan Teknologi (BPPT) telah menyediakan layanan Cloud Computing sebagai layanan jasa alih daya pengelolaan TIK untuk instansi pemerintah. Layanan ini bertujuan untuk dapat mewujudkan percepatan e-government, karena memungkinkan pengguna pemerintah berkonsentrasi dalam memberikan layanan dan tidak dipusingkan dengan konfigurasi maupun pemeliharan perangkat teknologi informasi.[butuh rujukan]

Masalah yang dihadapi

Dunia komputasi awan merupakan dunia baru karena tidak semua orang mengetahui teknologi baru tersebut. Karena masih baru tersebut muncul beberapa masalah dalam pengenalannya ke dunia luar. Contohnya komputasi awan merupakan sarana penyimpanan data melalui jaringan internet maka internet wajib bagi pemakai komputasi awan apabila terjadi masalah dalam internet maka akan menyebabkan komputer tersebut menjadi lambat karena proses yang terlalu lama. Masalah lain adalah jika suatu perusahaan menggunakan komputasi awan dalam penyimpanan datanya maka akan sangat tergantung pada vendor (penyedia layanan komputasi awan) karena perusahaan tersebut tidak mempunyai server langsung dalam komputasi awan dan juga apabila vendor mempunyai layanan backup yang buruk atau server pada vendor rusak akan menyebabka kerugian besar pada perusahaan tersebut karena semua data yang tersimpan pada vendor akan mengalami masalah. Jika ingin menggunakan komputasi awan juga harus tersedia bandwidth yang besar karena data yang keluar masuk dalam sebuah akun tidak sedikit, maka dari itu dibutuhkan bandwidth yang berukuran besar agar mampu menampung data yang ditransfer. Masalah keamanan dan privasi menjadi masalah baru karena jika kita sudah meletakkan suatu data dalam internet maka itu bisa dilihat oleh masyarakat luas apabila data tersebut sangat rahasia maka bisa menyebabkan kefatalan dalam mengelola sesuatu. Selain itu belum banyak dukungan dari berbagai pihak karena beberapa masalah dalam komputasi awan. Beberapa masalah yang timbul disebabkan karena masih barunya teknologi komputasi awan dalam penyimpanan sebuah data dalam internet. Masalah lain yang dapat timbul selain diatas adalah dengan banyak para peretas yang muncul dari berbagai dunia dalam meretas internet membuat vendor harus berhati-hati dalam mengelola sumber daya yang dipakai dalam komputasi awan.

Contoh Komputasi Awan

Google Drive

Google Drive adalah layanan penyimpanan Online yang dimiliki Google. Google Drive diluncurkan pada tanggal 24 April 2012. Sebenarnya Google Drive merupakan pengembangan dari Google Docs. Google Drive memberikan kapasitas penyimpanan sebesar 5GB kepada setiap penggunanya. Kapasitas tersebut dapat ditambahkan dengan melakukan pembayaran atau pembelian Storage. Penyimpanan file di Google Drive dapat memudahkan pemilik file dapat mengakses file tersebut kapanpun dan dimanapun dengan menggunakan komputer desktoplaptopkomputer tablet ataupun smartphone. File tersebut juga dapat dengan mudah dibagikan dengan orang lain untuk berbagi pakai ataupun melakukan kolaborasi dalam pengeditan.
Fitur-fitur Google Drive
  • Penyimpanan gratis sebesar 5GB
Google Drive memberikan fasilitas penyimpanan sebesar 5GB kepada penggunanya dengan cuma-cuma untuk menyimpan dokumen, baik berupa gambar, video, musik, ataupun file-file lain.
  • Memungkinkan membuat dokumen
Pada fitur ini Google Drive memungkinkan para penggunanya untuk membuat dokumen, seperti mengolah data, mengolah angka, membuat presentasi, form dan dokumen lainnya.
  • Berbagi file
Google Drive memudahkan untuk berbagi file dengan orang lain, dan juga memudahkan orang lain untuk melakukan pengeditan terhadap file yang kita buat.
  • Terintegrasi dengan layanan Google lainnya
Para pengguna layanan Google lainnya akan merasakan kemudahan dalam memanagement file dari Google Drive. Karena Google Drive secara otomatis terintegrasi dengan layanan google lainnya.
  • Fasilitas pencarian
Google Drive memberikan layanan pencarian yang lebih baik dan lebih cepat untuk para penggunanya dengan menggunakan kata kunci tertentu. Google Drive juga dapat mengenali gambar atau teks dari dokumen hasil scan.
  • Menampilkan berbagai file
Lebih dari 30 type file yang dapat dibuka dan ditampilkan oleh Google Drive, termasuk file video, file image, dan lain-lain tanpa mengharuskan pengguna untuk mengunduh dan menginstal software yang sesuai dengan tipe atau ekstensi file tersebut.
  • Menjalankan aplikasi
Google Drive juga mempunyai kemampuan untuk membuat, menjalankan dan membagi file aplikasi favorit yang dimiliki oleh pengguna.

Windows Azure

Windows Azure adalah sistem operasi yang berbasis komputasi awan, dibuat oleh Microsoft untuk mengembangkan dan mengatur aplikasi serta melayani sebuah jaringan global dari Microsoft Data Centers. Windows Azure yang mendukung berbagai macam bahasa dan alat pemograman. Sistem operasi ini dirilis pada 1 Februari 2010.

Fitur-fitur Windows Azure

  • Layanan Infrastruktur
Windows Azure menyediakan infrastruktur dengan skala yang sesuai dengan kebutuhan. Baik dalam membuat aplikasi baru atau menjalankan aplikasi yang telah disediakan.
  • Kembangkan dan Lakukan Percobaan
Windows Azure memungkinkan pengguna untuk melakukan pengembangan aplikasi dan langsung melakukan percobaan pada aplikasi tersebut secara cepat.
  • Big Data
Windows Azure menyediakan kapasitas data yang besar. Kapasitas ini didukung oleh Apache Hadoop.
  • Aplikasi Mobile
Windows Azure memberikan kemudahan dalam pembuatan aplikasi mobile. Aplikasi yang telah dibuat dan dapat langsung dimasukan ke penyimpanan komputasi awan.
  • Media
Layanan Media Windows Azure memperbolehkan untuk mengembangkan solusi penyebaran media, yang mana bisa menampilkan media dari Adobe Flash, Android, iOS, Windows, dan platform lainnya
  • Aplikasi Web
Windows Azure menawarkan keamanan dan fleksibilitas pengembangan, penyebaran, dan pilihan skala untuk berbagai macam ukuran aplikasi web.
  • Penyimpanan, Pencadangan, dan Pemulihan
Windows Azure menyediakan penyimpanan, pencadangan, dan solusi pemulihan data apapun.
  • Identitas dan Manajemen Akses
Windows Azure Active Directory memberikan layanan pengamanan pada identitas perusahaan. Serta melakukan manajemen pada banyak pengguna di sebuah perusahaan.
  • Integrasi
Windows Azure memperbolehkan pengguna untuk membawa seluruh aplikasi, data, perangkat, mitra ke perangkat lokal dan ke awan.
  • Manajemen Data
Windows Azure menyediakan solusi yang tepat untuk kebutuhan data pengguna.