welcome to my blog, please read this post, thank you...

Labels

Rabu, 22 Mei 2013

Komputasi Cloud


Pendahuluan

Cloud Computing (Komputasi Awan) adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dengan menggabungkan pemanfaatan teknologi komputer dan disajikan dalam bentuk suatu layanan. Yang dimaksud dengan Saas dan Web 2.0 adalah sebuah software as a service atau perangkat lunak yang berbentuk layanan, digunakan untuk mengembangkan suatu aplikasi yang berbasis web (Internet). Misalnya Facebook, didalam social networking ini memiliki berbagai aplikasi seperti game, acara undangan, tautan dan sebagainya. Dengan SaaS dan Web 2.0, pencipta Facebook menggunakannya untuk aplikasi tersebut dengan syarat harus melalui internet atau system online.

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.        
                                                                                                     
Tanpa kita sadari sebenarnya kita sudah sering menggunakan aplikasi dengan sistem berbasis cloud computing. Contoh lainnya seperti Hotmail, Yahoo!Mail atau Gmail. Untuk melihat email, kita bisa melakukannya di mana saja, yang penting ada internet dan browser. Software dan data kita tidak tersimpan di komputer yang kita pakai melainkan terletak di cloud server. 


Pengantar Komputasi GRID

Menurut definisi Grid Computing atau Komputasi Grid merupakan salah satu dari tipe Komputasi Paralel, adalah penggunaan sumber daya yang melibatkan banyak komputer terpisah secara geografis namun tersambung via jalur komunikasi (termasuk Internet) untuk memecahkan persoalan komputasi skala besar. Semakin cepat jalur komunikasi terbuka, maka peluang untuk menggabungkan kinerja komputasi dari sumber-sumber komputasi yang terpisah menjadi semakin meningkat. Dengan demikian, skala komputasi terdistribusi dapat ditingkatkan secara geografis lebih jauh lagi, melintasi batas-batas domain administrasi yang ada.


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.

Beberapa konsep dasar dari Komputasi Grid, yaitu :
  • 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)



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. Virtualisasi bisa diimplementasikan kedalam berbagai bentuk, antara lain :
  • Network Virtualization : VLAN, Virtual IP (untclustering), 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
Keuntungan Penggunaan Virtualisasi :
  • Pengurangan Biaya Investasi Hardware.
  • Kemudahan Backup & Recovery.
  • Kemudahan Deployment. Server virtual dapat dikloning sebanyak mungkin dan dapat dijalankan pada mesin lain dengan mengubah sedikit konfigurasi.
  • Mengurangi Panas ruang server/data center.
  • Mengurangi Biaya Space.
  • Kemudahan Maintenance & Pengelolaan.
  • Standarisasi Hardware.
  • Kemudahan Replacement.

Kerugian Penggunaan Virtualisasi :
  • Satu Pusat Masalah, jika server induk bermasalah, semua sistem virtual machine didalamnya tidak bisa digunakan.
  • Virtualisasi membutuhkan spesifikasi server yang lebih tinggi untuk menjalankan server induk dan mesin virtual didalamnya.
  • Satu Pusat Serangan. Penempatan semua server dalam satu komputer akan menjadikannya sebagai target serangan.


Distributed Computation Dalam Cloud Computing

Seperti yang telah di jelaskan sebelumnya, cloud computing adalah teknologi yang memberikan berbagai jenis sumber daya sebagai layanan, terutama melalui internet. Sedangkan komputasi terdistribusi adalah konsep menggunakan sistem terdistribusi terdiri dari banyak node diatur sendiri untuk memecahkan masalah yang sangat besar (yang biasanya sulit untuk diselesaikan dengan satu komputer). Cloud computing pada dasarnya adalah penjualan dan model distribusi untuk berbagai jenis sumber daya melalui internet, sedangkan komputasi terdistribusi dapat diidentifikasi sebagai jenis komputasi, yang menggunakan sekelompok mesin untuk bekerja sebagai satu kesatuan untuk memecahkan masalah skala besar. Komputasi terdistribusi mencapai hal ini dengan memecah masalah ke tugas sederhana, dan menugaskan tugas-tugas ke node individu.


Map Reduce dan NoSQL (Not Only SQL)

Map reduce adalah sebuah framework pemrograman untuk memproses data yang berukuran besar, biasanya digunakan untuk komputasi terdistribusi pada kumpulan komputer.

NoSQL adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS(Relational Database Management System) ataupun ODBMS(Objecy Oriented Database Management System). Perbedaan utamanya karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Kalau biasanya dapatmenggunakan query 'Join’ di sini tidak bisa menggunakannya karena setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya alias independen.

Selain itu di dalam konsep DBMS biasanya sebelum insert data diharuskan untuk mendefinisikan terlebih dahulu struktur tabel seperti tipe data dan ukurannya, di konsep NoSQL ini bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang.  Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya.


NoSQL Database

NoSQL adalah yang cepat, portabel, sistem manajemen database relasional tanpa batas sewenang-wenang, (selain memori dan kecepatan prosesor) yang berjalan di bawah, dan berinteraksi dengan, NoSQL ini kompatibel dengan "Relational Model".

NoSQL merupakan turunan dari sistem database RDB. Yang terakhir dikembangkan di RAND Organisasi oleh Walter W. Hobbs. Beberapa Perl script termasuk dengan NoSQL masih sangat dekat dengan RDB yang asli, sehingga pangsa kredit yang baik bagi mereka pergi ke penulis asli. Seperti namanya, NoSQL bukan merupakan database SQL melainkan tingkat alat shell, seperti yang dijelaskan dalam Filsafat NoSQL. Bentuk setiap file data adalah suatu relasi, atau tabel, dengan baris dan kolom informasi.

NoSQL cenderung menjadi bias mendukung Linux . Ini berarti bahwa, di mana pun itu penting, NoSQL yang menggunakan versi GNU dari berbagai perintah UNIX, seperti yang adalah orang-orang biasanya ditemukan di Linux. NoSQL adalah Free Software , dirilis di bawah GNU General Public License . Karena itu, sepenuhnya memenuhi syarat juga sebagai Open Source Software. NoSQL telah ada selama lebih dari satu dekade sekarang dan tidak ada hubungannya dengan bayi yang baru lahir Gerakan NoSQL , yang telah menerima hype akhir-akhir ini. Sementara mantan adalah paket perangkat lunak didefinisikan-baik, adalah sebuah database relasional untuk semua efek dan hanya tidak sengaja tidak menggunakan SQL sebagai bahasa query, pendatang baru ini kebanyakan konsep (dan tidak berarti novel yang baik), yang berangkat dari model relasional sama sekali dan karena itu seharusnya lebih tepat disebut "NoREL", atau sesuatu seperti itu.

Beban kerja database modern biasanya termasuk scaling untuk data set (misalnya 3 TB Digg untuk lencana hijau, 50 TB Facebook untuk pencarian kotak masuk atau's 2 eBay PB data keseluruhan), per-server kinerja, dan skema kaku. Sistem NoSQL sering memberikan jaminan konsistensi lemah seperti konsistensi akhirnya dan transaksi terbatas pada item data tunggal, walaupun seseorang dapat memaksakan penuh ASAM jaminan dengan menambahkan lapisan middleware tambahan. Tidak menyediakan kemampuan relasional membuatnya lebih mudah untuk penyimpanan data skala tidak harus membayar biaya yang berkaitan dengan jaminan relasional yang mungkin tidak diperlukan oleh proyek yang menggunakan database.

Beberapa sistem NoSQL mempekerjakan arsitektur terdistribusi , dengan data yang dimiliki secara berlebihan di beberapa server, sering menggunakan tabel hash didistribusikan . Dengan cara ini, sistem dapat ditingkatkan dengan mudah dengan menambahkan lebih banyak server, dan kegagalan server dapat ditolerir. Mempromosikan antarmuka yang sangat sederhana seperti array asosiatif atau-nilai pasangan kunci. Sistem lain, seperti native XML database , mempromosikan dukungan dari XQuery standar.




Referensi 

Tidak ada komentar:

Posting Komentar