Senin, 12 Maret 2018

Review Jurnal Cloud Computing Untuk SPI Framework

Judul Jurnal : Cloud Computing- SPI Framework, Deployment Models, Challenges
Nama  : Mutiara Tifana

NPM   : 57414692


Pengertian Cloud Computing
Komputasi awan (bahasa Inggris: cloud 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. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service),  sehingga pengguna dapat mengaksesnya lewat Internet (“di dalam awan”) tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya.
Cloud pada dasarnya adalah kumpulan sumber daya yang terhubung melalui internet (WAN). Ini terdiri dari pusat data. Untuk Cloud Computing, belum ada definisi yang pasti, yang menggambarkan dampaknya pada lanskap teknologi dan bisnis. Cloud Computing didasarkan pada 5 atribut; multitenancy (shared resources), massive scalability, elasticity, pay as you go, and self-provisioning of resources.

Cloud Computing Untuk SPI Framework

Kerangka kerja yang disepakati bersama untuk mendeskripsikan layanan cloud computing mengikuti akronim -SPI. Akronim ini mewakili tiga layanan utama yang diberikan melalui cloud: software-as-a-service (SaaS), platform-as-a-service ( PaaS), dan infrastruktur-as-a-service.

1.      Software as a Service
Dalam model SaaS, pelanggan tidak membeli perangkat lunak, namun menyewakannya untuk digunakan pada model berlangganan atau bayar per penggunaan. Layanan yang disediakan oleh lapisan ini dapat diakses oleh pengguna akhir melalui portal Web. Oleh karena itu, konsumen semakin beralih dari program komputer lokal ke layanan perangkat lunak on-line yang menawarkan fungsionalitas yang sama. Model ini menghilangkan beban pemeliharaan perangkat lunak untuk pelanggan dan menyederhanakan pengembangan dan pengujian untuk penyedia layanan. Contoh Salesforce.com, yang mengandalkan model SaaS, menawarkan aplikasi produktivitas bisnis (CRM) yang berada sepenuhnya di server mereka, yang memungkinkan pelanggan untuk menyesuaikan dan mengakses aplikasi sesuai permintaan.
Keuntungan:
·         Penskalaan lingkungan bukanlah masalah pelanggan.
·         Update / konfigurasi / keamanan semuanya dikelola oleh CSP.
Kerugian:
·         Sangat sedikit kustomisasi aplikasi.
·         Tidak ada kontrol komponen.
·         Tidak ada kendali atas keamanan.

2.      Platform as a Service
Dalam model platform-as-a-service (PaaS), penyedia layanan menawarkan lingkungan pengembangan kepada pengembang aplikasi, yang mengembangkan aplikasi dan menawarkan layanan tersebut melalui platform penyedia.
Cloud platform menawarkan lingkungan tempat pengembang membuat dan menerapkan aplikasi dan tidak perlu mengetahui berapa banyak prosesor atau berapa banyak memori yang akan digunakan aplikasi. Contoh Google App Engine, contoh Platform sebagai Layanan, menawarkan lingkungan yang terukur untuk pengembangan dan penginangan aplikasi Web, yang harus ditulis dalam bahasa pemrograman tertentu seperti Python atau Java, dan menggunakan objek terstruktur milik sendiri dari layanan. penyimpanan data.
Keuntungan:
·         Menyebarkan aplikasi buatan konsumen menggunakan bahasa pemrograman dan alat yang didukung oleh penyedia layanan awan.
·         Kurangi kompleksitas karena Cloud Service Provider (CSP) menjaga lingkungan.
·         Penyedia layanan awan sering menggunakan API itu (bermanfaat bagi pengembang)
Kerugian:
·         Masih bertanggung jawab untuk terus memperbarui perangkat lunak.
·         Terkunci ke dalam penyedia API.
·         Multi-tenancy pada layer platform.

3.      Infrastructure as a Service
Model IaaS menyediakan infrastruktur yang dibutuhkan untuk menjalankan aplikasi. Infrastruktur awan memungkinkan penyediaan server berdasarkan permintaan yang menjalankan beberapa jenis sistem operasi dan tumpukan perangkat lunak yang disesuaikan. Penyedianya berada dalam kendali penuh atas infrastruktur. Layanan infrastruktur dianggap sebagai lapisan bawah sistem komputasi awan. Contoh Layanan Web Amazon, terutama menawarkan IaaS, yang dalam hal layanan EC2 berarti menawarkan VMs dengan tumpukan perangkat lunak yang dapat disesuaikan serupa dengan bagaimana server fisik biasa disesuaikan.
Keuntungan:
·         Kontrol yang luar biasa untuk menggunakan konten apa pun masuk akal.
·         Fleksibilitas untuk mengamankan data sampai tingkat apapun yang diperlukan
·         Kemandirian Fisik dari infrastruktur (Anda tidak perlu memastikan bahwa pendinginan yang tepat ada di sana)
Kerugian:
·         Integrasi semua aspek aplikasi (database, program aplikasi, plugin dll)
·         Bertanggung jawab atas semua konfigurasi yang diimplementasikan pada server (dan dalam aplikasi)
·         Bertanggung jawab untuk menjaga perangkat lunak tetap up to date.
·         Multi-tenancy pada tingkat hypervisor.

Kesimpulan
Cloud Computing terdengar membingungkan. Kedengarannya seperti istilah yang sangat kabur namun memiliki kelebihan dan kekurangan dalam migrasi ke awan. Ada dua atribut utama komputasi awan: skalabilitas dan penggunaan kembali kode. Dapat diprediksi komputasi awan akan tumbuh, jadi pengembang harus memperhitungkannya.
Terlepas dari apakah penyedia cloud menjual layanan pada tingkat abstraksi yang rendah seperti EC2 atau tingkat yang lebih tinggi seperti AppEngine, dapat diyakini bahwa komputasi, penyimpanan, dan jaringan harus berfokus pada skalabilitas horizontal sumber daya virtual daripada pada kinerja node tunggal.


Share:

Sabtu, 10 Maret 2018

Pengantar Komputasi Modern

Nama  : Mutiara Tifana
NPM   : 57414692

Kelas   : 4IA22


1.    Pengantar Komputasi GRID

A.    Pengertian Grid Computing
Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.
Grid computing merupakan cabang dari distributed computing.Grid komputer memiliki perbedaan yang lebih menonjol dan di terapakan pada sisi infrastruktur dari penyelesaian suatu proses. Grid computing adalah suatu bentuk cluster (gabungan) komputer-komputer yang cenderung tak terikat batasan geografi. Di sisi lain, cluster selalu diimplementasikan dalam satu tempat dengan menggabungkan banyak komputer lewat jaringan.

B.    Konsep Grid Computing
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. 

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

D.    Kelebihan dan Kekurangan Grid Computing
·         Grid computing menjanjikan peningkatan utilitas, dan fleksibilitas yang lebih besar untuk sumberdaya infrastruktur, aplikasi dan informasi. Dan juga menjanjikan peningkatan produktivitas kerja perusahaan.
·         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
·         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.
·         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.

E.    Contoh Grid Computing
a)      Scientific Simulation
Komputasi grid diimplementasikan di bidang fisika, kimia, dan biologi untuk melakukan simulasi terhadap proses yang kompleks.
b)     Medical Images
Penggunaan data grid dan komputasi grid untuk menyimpan medical-image. Contohnya adalah eDiaMoND project.
c)      Computer-Aided Drug Discovery (CADD)
Komputasi grid digunakan untuk membantu penemuan obat. Salah satu contohnya adalah: Molecular Modeling Laboratory (MML) di University of North Carolina (UNC).
d)     Big Science
Data grid dan komputasi grid digunakan untuk membantu proyek laboratorium yang disponsori oleh pemerintah Contohnya terdapat di DEISA.
e)       E-Learning
Komputasi grid membantu membangun infrastruktur untuk memenuhi kebutuhan dalam pertukaran informasi dibidang pendidikan. Contohnya adalah AccessGrid.

Referensi:
http://fadliiman.blogspot.co.id/2016/03/pengantar-komputasi-grid.html

2.    Virtualisasi
A.     Apa Itu 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, 2009) :
  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.
B.    Keuntungan Penggunaan 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
C.    Kerugian Penggunaan 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.
Referensi:
https://www.excellent.co.id/product-services/vmware/keuntungan-teknologi-virtualisasi-cloud-computing/

3.    Distribusi Computation dalam Cloud

Distributed Computing 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.

Cloud computing dipecah ke dalam beberapa kategori yang berbeda berdasarkan jenis layanan yang disediakan. SaaS (Software as a Service) adalah kategori komputasi awan di mana sumber daya utama yang tersedia sebagai layanan perangkat lunak aplikasi. PaaS (Platform as a Service) adalah kategori / penerapan komputasi awan di mana penyedia layanan memberikan platform komputasi atau solusi tumpukan untuk pelanggan mereka melalui internet. IaaS (Infrastructure as a Service) adalah kategori komputasi awan di mana sumber daya utama yang tersedia sebagai layanan yang infrastruktur perangkat keras. DaaS (Desktop sebagai Layanan), yang merupakan layanan muncul-Aas berkaitan dengan memberikan pengalaman seluruh desktop melalui internet. Ini kadang-kadang disebut sebagai virtualisasi desktop / virtual desktop atau desktop host.

Referensi:
https://rizki08.wordpress.com/2014/05/09/distributed-computation-dalam-cloud-computing/


4.    Computing, Map Reduce dan NoSQL
Pengertian Computing

Computing adalah sistem pengolah informasi yang berbasiskan sistem komputer (Computer bases Information System) berupa jaringan sistem informasi (computer network) organisasional yang efisien, efektif, dan legal. Dalam hal ini, suatu sistem informasi merupakan perwujudan penerapan perkembangan teknologi informasi ke dalam suatu bentuk organisasional / organisasi perusahaan (bisnis)

Pengertian MapReduce
MapReduce merupakan sebuah konsep dimana data yang kontinue dipecah menjadi bagian data / komponen data kecil dan didistribusikan melalui mesin-mesin yang terhubung secara cluster. Bisa dibilang map reduce merupakan sebuah framework yang digunakan untuk mempercepat proses pengolahan data pada konsep cloud computing. Dalam memproses data, MapReduce dibagi menjadi 2 proses utama, yaitu Map dan Reduce. Proses Map bertugas utnuk mengumpulkan informasi dari potongan-potongan data yang terditribusi dalam tiap komputer dalam cluster (kelompok komputer yang saling terhubung). Hasilnya deserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.
Desain dan Struktur MapReduce
 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.
Program yang memuat kalkulasi yang akan dilakukan dalam proses Map disebut Fungsi Map, dan yang memuat kalkulasi yang akan dikerjakan oleh proses Reduce disebut Fungsi Reduce. Jadi, seorang programmer yang akan menjalankan MapReduce harus membuat program Fungsi Map dan Fungsi Reduce.
Fungsi Map bertugas untuk membaca input dalam bentuk pasangan Key/Value, lalu menghasilkan output berupa pasangan Key/Value juga. Pasangan Key/Value hasil fungsi Map ini disebut pasangan Key/Value intermediate. Kemudian, fungsi Reduce akan membaca pasangan Key/Value intermediate hasil fungsi Map, dan menggabungkan atau mengelompokkannya berdasarkan Key tersebut. Lain katanya, tiap Value yang memiliki Key yang sama akan digabungkan dalam satu kelompok. Fungsi Reduce juga menghasilkan output berupa pasangan Key/Value.
Pengertian NoSQL
NoSQL singkatan dari Not Only SQL. NoSQL adalah sebuah konsep mengenai penyimpanan data non-relasional. Berbeda dengan model basis data relasional yang selama ini digunakan, NoSQL menggunakan beberapa metode yang berbeda-beda.


NoSQL sangat berguna pada data-data yang terus-menerus berkembang, dimana  data tersebut sangat kompleks sehingga sebuah database relational tidak lagi bisa mengakomodir. Salah satu bentuknya adalah ketika suatu data saling berhubungan satu sama lain, maka akan muncul proses duplikasi data. Dimana data saling memanggil ke beberapa permintaan, tambahan data baru, perubahan data, dan lain-lain dengan key yang sama. Karena faktor hubungan antar data yang sama terjadi terus-menerus, mendorong faktor redudansi data, data menjadi berlipat-lipat, dan pada akhirnya akan menyebabkan crash pada database berkonsep RDBMS.

Referensi:
https://putrinurani94.wordpress.com/2016/03/25/mapreduce-dan-nosql/
http://kartikanovia.blogspot.co.id/2011/05/apa-itu-computingcloud-computing-dan.html

5.   Keterkaitan NoSQL Database 
Secara umum, database noSQL dibagi menurut format penyimpanan dokmentnya . Berikut ini adalah pengelompokan database noSQL berdasarkan model (penyimpanan) datanya
  • 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.
  • 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.
  • Key – Value,  contoh database jenis ini adalah Apache Cassandra.
  • Object Database. Format database yang disimpan dalam object-object, Object disini sama dengan pengertian object di Pemrograman beroreintasi object, Contoh databasenya adalah Db4o.
  • Tipe lainnya adalah tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.
Kelebihan NoSQL
  • NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
  • Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
  • 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.
  • Autosharding, istilah sederhananya, jika database noSQL di jalankandi cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server.
Kekurangan NoSQL
  • Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL.
  • Sulitnya mencari hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.
  • 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.
Beberapa software NoSQL
  • MongoDB
MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++.
  • Cassandra Apache
Cassandra Dikembangkan oleh APACHE. Aplikasi Inilah yang digunakan facebook untuk penyimpanan miliayaran data hingga saat ini.
  • CouchDB
CouchDB juga dikembangkan oleh APACHE. CouchDB adalah database yang benar-benar merangkul web. Menyimpan data Anda dengan dokumen JSON.  

Referensi:
http://dinardc.blogspot.co.id/2016/03/nosql-database.html








Share: