Sabtu, 31 Maret 2018

Jenis-jenis Komputasi

Cloud Computing

Cloud computing merupakan sistem komputasi kolaboratif yang berbasis internet. Melalui sistem ini, para pengguna komputer dapat berbagi semua sumber dayanya. Mulai dari software, hardware, termasuk pusat data (server). Sehingga para pengguna komputer dapat menggunakan source tanpa perlu membeli, memiliki, atau menginstall program di dalam komputer yang membuat berkurangnya memori penyimpanan dalam komputer serta mempengaruhi kinerja komputer. Namun cukup dengan menyewa sumber daya (lunak atau peranti keras) dari server inti yang dipilih sesuai dengan kebutuhan (pay per use).

·         Keuntungan Cloud Computing:
1.      Keuntungan bagi para pelaku bisnis adalah minimalisasi biaya investasi infrastruktur publik sehingga bisnis bisa lebih terfokus pada aspek fungsionalitasnya.
2.      Bagi application developer, layanan PaaS memungkinkan pengembangan dan implementasi aplikasi dengan cepat sehingga meningkatkan produktivitas.
3.      Bagi para praktisi yang bergerak di industri TI, hal ini berarti terbukanya pasar baru bagi industri jasa pengembangan teknologi informasi.
4.      Bagi pebisnis di bidang infrastruktur, hal ini merupakan peluang yang besar karena dengan meningkatnya penggunaan layanan SaaS ini akan meningkatkan penggunaaan bandwidth internet.
5.      Integrasi aplikasi dengan berbagai perangkat.

·         Kekurangan Cloud Computing :
1.      Service level, artinya kemungkinan service performance yang kurang konsisten dari provider. Inkonsistensi cloud provider ini meliputi, data protection dan data recovery.
2.      Privacy, yang berarti adanya resiko data user akan diakses oleh orang lain karena hosting dilakukan secara bersama-sama.
3.      compliance, yang mengacu pada resiko adanya penyimpangan level compliance dari provider terhadap regulasi yang diterapkan oleh user.
4.      data ownership mengacu pada resiko kehilangan kepemilikan data begitu data disimpan dalam cloud.
5.      data mobility, yang mengacu pada kemungkinan share data antar cloud service dan cara memperoleh kembali data jika suatu saat user melakukan proses terminasi terhadap layanan cloud Computing.

·         Contoh Implementasi Cloud Computing :
1.      Salesforce.com
Salesforce.com adalah aplikasi Customer Relationship Management (CRM) berbasis software as services, dimana kita bisa mengakses aplikasi bisnis: kontak, produk, sales tracking, dashboard, dll.
2.      Yahoo dan Gmail


Grid Computing



Grid Computing adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar. Kemampuan komputasi grid adalah setara dengan mainframe karena semua komponennya (grid) di-cluster. Namun tidak seperti mainframe dan server SMP (symmetric multiprocessing) yang besar, grid bersifat terbuka (open system technologies) yang bisa mencakup system kecil-kecil dengan processor Intel dan OS Linux sehingga biaya jadi jauh lebih murah.

·         Keuntungan Grid Computing :
1.      Teknologi  grid computing mampu menjadi solusi bagi perusahaan-perusahaan untuk memiliki suatu sistem informasi yang berteknologi canggih, yang mampu mendukung kinerja perusahaan, dengan biaya yang lebih murah.
2.      Kemampuan teknologi tersebut untuk mendukung kinerja perusahaan tidak diragukan lagi. Teknologi  grid computing membuka peluang bagi adanya kerjasama lintas organisasi, lintas benua, dan lintas bangsa.
3.      Selain itu, terbuka pula peluang untuk melakukan komputasi yang rumit dengan menggunakan super komputer yang canggih, tanpa harus melakukan investasi besar-besaran dalam bidang teknologi informasi.
4.      Lebih hemat biaya dalam  penggunaan sejumlah tertentu sumber daya komputer,
5.      Sebagai cara untuk memecahkan masalah yang mungkin tidak dapat dipecahkan tanpa sejumlah besar daya komputasi, dan 
6.      Karena menunjukkan bahwa sumberdaya dari banyak komputer dapat kooperatif dan
7.      Dimanfaatkan secara sinergis, serta dikelola sebagai sebuah kolaborasi mencapai tujuan Bersama.

·         Kekurangan Grid Computing :
1.       Manajemen institusi  yang terlalu birokratis menyebabkan mereka enggan untuk fasilitas yang dimiliki untuk digunakan secara bersama agar mendapatkan manfaat yang lebih besar bagi masyarakat luas.
2.       Masih sedikitnya sumber daya manusia yang  kompeten dalam mengelola grid computing.
3.       Kurangnya pengetahuan yang mencukupi bagi teknisi IT maupun user non teknisi mengenai manfaat dari grid computing itu sendiri.


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 (Harry Sufehmi, Pengenalan Virtualisasi, 20090607) :
  1. Network Virtualization : VLAN, Virtual IP (untclustering), Multilink
  2. Memory Virtualization : pooling memory dari node-node di cluster
  3. Grid Computing : banyak komputer = satu
  4. Application Virtualization : Dosemu, Wine
  5. Storage Virtualization : RAID, LVM
  6. Platform Virtualization : virtual computer
Pembahasan kali ini akan menitikberatkan pada materi platform virtualization alias virtualisasi komputer dan sistem operasi.
·         Keuntungan 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.
6.      Kemudahan Maintenance & Pengelolaan. Jumlah server yang lebih sedikit otomatis akan mengurangi waktu dan biaya untuk mengelola. Jumlah server yang lebih sedikit juga berarti lebih sedikit jumlah server yang harus ditangani.
7.      Standarisasi Hardware. Virtualisasi melakukan emulasi dan enkapsulasi hardware sehingga proses pengenalan dan pemindahan suatu spesifikasi hardware tertentu tidak menjadi masalah. Sistem tidak perlu melakukan deteksi ulang hardware sebagaimana instalasi pada sistem/komputer fisik.
8.      Kemudahan Replacement. Proses penggantian dan upgrade spesifikasi server lebih mudah dilakukan. Jika server induk sudah overload dan spesifikasinya tidak mencukupi lagi, kita bisa dengan mudah melakukan upgrade spesifikasi atau memindahkan virtual machine ke server lain yang lebih powerful.

·         Kekurangan 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
                Secara sederhana, distributed computing dapat diartikan sebagai suatu teknologi yang dapat memecahkan suatu masalah besar ke dalam proses-proses kecil ke banyak komputer untuk kemudian proses kecil itu dipecahkan secara simultan dan apabila sudah didapatkan solusi-solusi kecil maka disatukan kembali dalam satu solusi yang besar dan terintegrasi. Dari tujuannya, distributed computing menghubungkan banyak user dan resource yang bekerjasama memecahkan permasalahan dalam sistem yang terbuka, transparan dan memiliki skalabilitas yang tinggi. Distributed computing mengacu pada penggunaan sistem terdistribusi untuk memecahkan masalah komputasi. Dalam distributed computing, masalah dibagi menjadi banyak tugas, masing-masing yang diselesaikan oleh satu komputer. Komputer yang saling berinteraksi untuk mencapai tujuan bersama. Sebuah sistem terdistribusi terdiri dari beberapa komputer otonom yang berkomunikasi melalui jaringan komputer.


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 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.
NO SQL
NoSQL bukan lah berarti “No SQL” akan tetapi arti dari NoSQL adalah “Not Only SQL”. Berikut merupakan beberapa pengertian mengenai NoSQL : 
NoSQL merupakan suatu database sederhana yang berisikan key dan value seperti Memoache, ataupun yang lebih canggih yaitu non-database relasional seperti MongoDB, Cassandra, CouchDB, dan yang lainnya.
NoSQL merupakan database yang berbeda dengan sistem manajemen database relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema tabel dan umumnya menghindari join dan berkembang secara horizontal.
NoSQL merupakan konsep penyimpanan data secara non-relasional.

·         Kelebihan NoSQL :
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  NoSQL :
1.      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.
2.      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.

Sumber :