Tugas 2 : Cloud Computing, Grid Computing, Virtualisasi, Distributed Computing, Map Reduce, NO SQL

  • Cloud Computing

Cloud Computing(komputasi awan) adalah praktik menyimpan, mengelola, dan memproses sumber daya, perangkat lunak, aplikasi, dan data organisasi melalui jaringan melalui Internet, daripada di server lokal atau infrastruktur komputasi.Komputasi awan menawarkan manfaat bagi pebisnis maupun pengguna seacara umum, yaitu :
  1. Akses mudah ke informasi untuk layanan mandiri sesuai permintaan
  2. Akses jaringan luas melalui desktop, laptop atau perangkat seluler apa pun yang disetujui
  3. Ketersediaan layanan cepat melalui pengumpulan sumber daya
  4. Kemampuan untuk meningkatkan skala layanan dengan cepat seiring meningkatnya permintaan dan atau pertumbuhan perusahaan Anda
  5. Layanan terukur dalam penagihan (sehingga pengguna membayar berdasarkan tingkat penggunaannya)


Ada tiga kategori berbeda dari komputasi awan, yaitu :
Software as a Service (SaaS), Platform as a Service (PaaS) dan Infrastructure as a Service (IaaS).
  1. SaaS: Perangkat lunak yang digunakan melalui Internet, biasanya oleh satu penyedia yang melisensikan aplikasi kepada pelanggan berdasarkan permintaan dengan model pay-as-you-go atau berlangganan. Dalam beberapa kasus, ketika penyedia dapat menghasilkan pendapatan melalui cara lain (seperti iklan), mereka menawarkan aplikasi SaaS tanpa biaya kepada pengguna akhir.SaaS adalah jenis layanan cloud yang paling umum. Banyak dari kita menggunakannya setiap hari. Model SaaS membuat perangkat lunak dapat diakses melalui aplikasi atau browser web. Beberapa program SaaS gratis, tetapi banyak yang memerlukan berlangganan bulanan atau tahunan untuk mempertahankan layanan. Tidak memerlukan instalasi atau manajemen perangkat keras, solusi SaaS adalah hit besar di dunia bisnis. Contoh penting termasuk Salesforce, Dropbox,  Google ,Netflix, Office365 atau Quickbooks.
  2. Platform sebagai layanan (PaaS) adalah kategori layanan komputasi awan yang menyediakan platform yang memfasilitasi pelanggan untuk mengembangkan, mengelola, dan mengelola aplikasi tanpa rumit membangun dan memfasilitasi infrastruktur yang terkait dengan pengembangan dan pengembangan aplikasi.
    PaaS adalah lingkungan cloud yang mendukung pengembangan dan penyebaran aplikasi web. PaaS mendukung siklus hidup penuh aplikasi, membantu pengguna membangun, menguji, menyebarkan, mengelola, dan memperbarui semua dalam satu tempat. Layanan ini juga mencakup alat pengembangan, middleware, dan solusi intelijen bisnis. Contoh penting termasuk Windows Azure, AWS Elastic Beanstalk dan Google App Engine.
  3. IaaS: Istilah ini mengacu pada sarana untuk memberikan infrastruktur cloud (seperti server, jaringan, dan sistem operasi) berdasarkan permintaan. Alih-alih membeli server Anda sendiri dan memelihara peralatan dan perangkat lunak pusat data Anda, Anda dapat membeli sumber daya ini sesuai permintaan.|IaaS mengikuti model penetapan harga berbasis biaya variabel dan utilitas yang memungkinkan penskalaan dinamis, sehingga Anda dapat menambah atau mengurangi layanan berdasarkan permintaan saat ini. Anda tidak harus bersaing dengan keterbatasan fisik atau manajemen perangkat keras, dan dapat menyertakan beberapa pengguna pada satu perangkat keras. DigitalOcean, Amazon EC2 ,Google Compute Engine, Rackspace dan Amazon AWS adalah contoh penyedia layanan IaaS.

  • Grid Computing
Grid Computing dapat didefinisikan sebagai jaringan komputer yang bekerja bersama untuk melakukan tugas yang lebih sulit bagi satu mesin. Semua mesin di jaringan itu bekerja di bawah protokol yang sama untuk bertindak seperti superkomputer virtual. Tugas yang mereka kerjakan mungkin termasuk menganalisis kumpulan data besar atau mensimulasikan situasi yang membutuhkan daya komputasi tinggi. Komputer di jaringan berkontribusi sumber daya seperti kekuatan pemrosesan dan kapasitas penyimpanan ke jaringan.

Grid Computing adalah subset dari komputasi terdistribusi, di mana komputer super virtual terdiri dari mesin-mesin di jaringan yang terhubung oleh beberapa bus, kebanyakan Ethernet atau kadang-kadang Internet. Itu juga dapat dilihat sebagai bentuk Komputasi Paralel di mana alih-alih banyak core CPU pada mesin tunggal, ini berisi beberapa core yang tersebar di berbagai lokasi. Konsep komputasi grid bukanlah hal baru, tetapi belum disempurnakan karena tidak ada aturan dan protokol standar yang dibuat dan diterima oleh orang-orang. Beberapa Keuntungan dari Grid Computing adalah:

  1. Itu tidak terpusat, karena tidak ada server yang diperlukan, kecuali node kontrol yang hanya digunakan untuk mengendalikan dan bukan untuk memproses.
  2. Beberapa mesin heterogen yaitu mesin dengan Sistem Operasi yang berbeda dapat menggunakan jaringan komputasi grid tunggal.
  3. Tugas dapat dilakukan secara pararel di berbagai lokasi fisik dan pengguna tidak perlu membayar untuk itu (dengan uang).




  • Virtualisasi

Virtualisasi adalah suatu mekanisme menggunakan perangkat lunak untuk membuat lapisan abstraksi di atas perangkat keras komputer yang memungkinkan elemen perangkat keras dari satu komputer(prosesor, memori, penyimpanan, dan lainnya) untuk dibagi menjadi beberapa komputer virtual, yang biasa disebut mesin virtual (VM). Setiap VM menjalankan sistem operasinya sendiri (OS) dan berperilaku seperti komputer independen, meskipun itu berjalan hanya pada sebagian dari perangkat keras komputer yang sebenarnya mendasarinya. Virtualisasi memungkinkan pemanfaatan perangkat keras komputer fisik yang lebih efisien dan memungkinkan pengembalian yang lebih besar atas investasi perangkat keras organisasi.

Virtualisasi membawa beberapa manfaat bagi operator pusat data dan penyedia layanan, yakni :

  1. Efisiensi sumber daya: Sebelum virtualisasi, setiap server aplikasi memerlukan CPU fisik khususnya sendiri — staf TI akan membeli dan mengonfigurasi server terpisah untuk setiap aplikasi yang ingin mereka jalankan. (IT lebih suka satu aplikasi dan satu sistem operasi (OS) per komputer untuk alasan keandalan.) Selalu, setiap server fisik akan kurang dimanfaatkan. Sebaliknya, virtualisasi server memungkinkan Anda menjalankan beberapa aplikasi — masing-masing dengan VM sendiri dengan OSnya sendiri — pada satu komputer fisik (biasanya server x86) tanpa mengorbankan keandalan. Ini memungkinkan pemanfaatan maksimum kapasitas komputasi perangkat keras fisik.
  2. Manajemen yang lebih mudah: Mengganti komputer fisik dengan VM yang ditentukan perangkat lunak membuatnya lebih mudah untuk menggunakan dan mengelola kebijakan yang ditulis dalam perangkat lunak. Ini memungkinkan Anda untuk membuat alur kerja manajemen layanan TI otomatis. Misalnya, penyebaran otomatis dan alat konfigurasi memungkinkan administrator untuk mendefinisikan koleksi mesin virtual dan aplikasi sebagai layanan, dalam template perangkat lunak. Ini berarti bahwa mereka dapat menginstal layanan tersebut berulang kali dan secara konsisten tanpa merepotkan, memakan waktu. dan pengaturan manual rawan kesalahan. Admin dapat menggunakan kebijakan keamanan virtualisasi untuk mengamanatkan konfigurasi keamanan tertentu berdasarkan peran mesin virtual. Kebijakan bahkan dapat meningkatkan efisiensi sumber daya dengan menghentikan mesin virtual yang tidak digunakan untuk menghemat ruang dan daya komputasi.
  3. Downtime minimal: OS dan crash aplikasi dapat menyebabkan downtime dan mengganggu produktivitas pengguna. Admin dapat menjalankan beberapa mesin virtual berlebih satu sama lain dan failover di antara mereka ketika masalah muncul. Menjalankan beberapa server fisik yang berlebihan lebih mahal.
  4. Penyediaan lebih cepat: Membeli, menginstal, dan mengkonfigurasi perangkat keras untuk setiap aplikasi memakan waktu. Asalkan perangkat keras sudah ada, penyediaan mesin virtual untuk menjalankan semua aplikasi Anda secara signifikan lebih cepat. Anda bahkan dapat mengotomatiskannya menggunakan perangkat lunak manajemen dan membuatnya menjadi alur kerja yang ada.





  • Distributed Computing

Distributed Computing adalah ketika beberapa mesin otonom berkomunikasi melalui jaringan pusat untuk melakukan tujuan bersama.  Komputasi terdistribusi hanya dapat didefinisikan sebagai berbagi tugas oleh komputer yang berbeda yang mungkin ada di berbagai belahan dunia. Sistem terdistribusi yang digunakan di sini harus dalam komputer jaringan sehingga komunikasi dan koordinasi tugas-tugas ditangani dengan lancar. Tujuan utama dari komputasi terdistribusi adalah untuk menghubungkan pengguna dengan sumber daya sehingga memaksimalkan kinerja dengan cara yang hemat biaya. Ini juga terstruktur dengan cara yang memetikan salah satu komponen gagal, sistem berjalan dan hasil yang diinginkan tercapai. Beberapa manfaat distributed Computing 

  1. FleksibilitasSalah satu hal terbaik tentang komputasi terdistribusi adalah sangat fleksibel. Tugas dapat diselesaikan menggunakan komputer di wilayah geografis yang berbeda.
  2. KeandalanSebuah server tunggal dapat diguncang oleh gangguan yang dapat menyebabkan kerusakan sistem lengkap tetapi dengan komputasi terdistribusi, itu adalah sesuatu dari masa lalu. Dengan komputasi terdistribusi, satu kesalahan tidak dapat mengakibatkan kegagalan sistem lengkap.
  3. Peningkatan kinerja
    Komputer tunggal hanya dapat bekerja dengan kemampuan terbaiknya tetapi dengan komputasi terdistribusi, Anda mendapatkan yang terbaik dari seluruh sistem.



  • Map Reduce

MapReduce adalah model pemrograman sederhana untuk mengaktifkan komputasi terdistribusi, termasuk pemrosesan data pada dataset input yang sangat besar, dengan cara yang sangat skalabel dan toleran terhadap kesalahan. MapReduce adalah kerangka kerja perangkat lunak dan model pemrograman yang digunakan untuk memproses data dalam jumlah besar. Program MapReduce bekerja dalam dua fase, yaitu, Map dan Reduce. Tugas map berurusan dengan pemisahan dan pemetaan data sementara Reduce bertugas mengacak dan mengurangi data.

MapReduce adalah model atau pola pemrograman dalam kerangka kerja Hadoop yang digunakan untuk mengakses data besar yang disimpan dalam Sistem File Hadoop (HDFS). Ini adalah komponen inti, yang tidak terpisahkan dari berfungsinya kerangka kerja Hadoop. Hadoop mampu menjalankan program MapReduce yang ditulis dalam berbagai bahasa: Java, Ruby, Python, dan C ++. Program MapReduce bersifat paralel, sehingga sangat berguna untuk melakukan analisis data skala besar menggunakan beberapa mesin di cluster.



  • NoSQL

NoSQL mengacu pada non SQL atau non relasional adalah database yang menyediakan mekanisme untuk penyimpanan dan pengambilan data. Data ini dimodelkan dalam cara selain hubungan tabular yang digunakan dalam database relasional. Database semacam itu muncul pada akhir 1960-an, tetapi tidak mendapatkan moniker NoSQL sampai lonjakan popularitas pada awal abad kedua puluh satu. Basis data NoSQL digunakan dalam aplikasi web waktu nyata dan data besar dan penggunaannya meningkat dari waktu ke waktu. Sistem NoSQL juga kadang-kadang disebut Tidak hanya SQL untuk menekankan fakta bahwa mereka dapat mendukung bahasa query seperti SQL.

Keuntungan dari NoSQL:

  1. Skalabilitas tinggi
    Basis data NoSQL menggunakan sharding untuk penskalaan horizontal. Mempartisi data dan menempatkannya pada banyak mesin sedemikian rupa sehingga urutan data dipertahankan. Penskalaan vertikal berarti menambahkan lebih banyak sumber daya ke mesin yang ada sedangkan penskalaan horizontal berarti menambahkan lebih banyak mesin untuk menangani data. Penskalaan vertikal tidak mudah untuk diimplementasikan tetapi penskalaan horizontal mudah untuk diterapkan. Contoh dari database penskalaan horisontal adalah MongoDB, Cassandra dll. NoSQL dapat menangani sejumlah besar data karena skalabilitas, karena data menumbuhkan skala NoSQL itu sendiri untuk menangani data tersebut secara efisien.
  2. Ketersediaan tinggi
    Fitur replikasi otomatis dalam basis data NoSQL membuatnya sangat tersedia karena jika ada kegagalan data mereplikasi dirinya ke keadaan konsisten sebelumnya.
Kerugian dari NoSQL:

  1. Fokus sempitBasis data NoSQL memiliki fokus yang sangat sempit karena sebagian besar dirancang untuk penyimpanan tetapi menyediakan fungsionalitas yang sangat sedikit. Database relasional adalah pilihan yang lebih baik di bidang Manajemen Transaksi daripada NoSQL.
  2. Sumber terbukaNoSQL adalah basis data sumber terbuka. Belum ada standar yang dapat diandalkan untuk NoSQL. Dengan kata lain dua sistem basis data cenderung tidak sama.
  3. Tantangan manajemenTujuan dari alat big data adalah untuk membuat pengelolaan sejumlah besar data sesederhana mungkin. Tapi itu tidak mudah. Manajemen data dalam NoSQL jauh lebih kompleks daripada database relasional. NoSQL, khususnya, memiliki reputasi sebagai tantangan untuk menginstal dan bahkan lebih sibuk untuk mengelola setiap hari.
  4. GUI tidak tersediaAlat mode GUI untuk mengakses database tidak tersedia secara fleksibel di pasar.
  5. CadangkanCadangan adalah titik lemah yang bagus untuk beberapa database NoSQL seperti MongoDB. MongoDB tidak memiliki pendekatan untuk pencadangan data secara konsisten.
  6. Ukuran dokumen besar
    Beberapa sistem basis data seperti MongoDB dan CouchDB menyimpan data dalam format JSON. Yang berarti bahwa dokumen cukup besar (BigData, bandwidth jaringan, kecepatan), dan memiliki nama kunci deskriptif benar-benar menyakitkan, karena mereka meningkatkan ukuran dokumen.






Komentar

Postingan populer dari blog ini

Analisa Website gunadarma.ac.id

CGI... from IMAGI to REALITY

Tugas 1 : Konsep Dasar Komputasi dan Implementasinya