Sabtu, 31 Maret 2018

TUGAS 2 PENGANTAR KOMPUTASI MODERN (SOFTSKILL)


Komputasi Cloud
(https://en.wikipedia.org/wiki/Cloud_computing)
            Cloud computing adalah paradigma teknologi informasi (TI) yang memungkinkan akses ke berbagai sumber daya sistem yang dapat dikonfigurasi dan layanan tingkat tinggi yang dapat dengan cepat disediakan dengan upaya manajemen minimal, seringkali melalui Internet . Cloud computing bergantung pada pembagian sumber daya untuk mencapai koherensi dan skala ekonomi , mirip dengan utilitas publik .

            Awan pihak ketiga memungkinkan organisasi untuk fokus pada bisnis inti mereka daripada menghabiskan sumber daya pada infrastruktur dan pemeliharaan komputer. Para pendukung mencatat bahwa komputasi awan memungkinkan perusahaan untuk menghindari atau meminimalkan biaya infrastruktur TI di muka. Para pendukung juga mengklaim bahwa komputasi awan memungkinkan perusahaan untuk membuat aplikasi mereka berjalan lebih cepat, dengan pengelolaan yang lebih baik dan lebih sedikit pemeliharaan, dan memungkinkan tim TI untuk menyesuaikan sumber daya dengan lebih cepat untuk memenuhi permintaan yang fluktuatif dan tidak dapat diprediksi. Penyedia Cloud biasanya menggunakan model "pay-as-you-go", yang dapat menyebabkan pengeluaran operasional yang tidak terduga jika administrator tidak akrab dengan model penetapan harga cloud.
            Sejak peluncuran Amazon EC2 pada tahun 2006, ketersediaan jaringan berkapasitas tinggi, komputer dan perangkat penyimpanan berbiaya rendah serta adopsi virtualisasi perangkat keras, arsitektur berorientasi layanan , dan komputasi otonom dan utilitas yang terus meningkat telah mendorong pertumbuhan cloud komputasi.

Tujuan dari komputasi awan adalah untuk memungkinkan pengguna mengambil manfaat dari semua teknologi ini, tanpa perlu pengetahuan mendalam tentang atau keahlian dengan masing-masing dari mereka. Cloud bertujuan untuk memangkas biaya, dan membantu pengguna fokus pada bisnis inti mereka bukannya terhambat oleh kendala IT. Teknologi yang memungkinkan utama untuk komputasi awan adalah virtualisasi . Perangkat lunak virtualisasi memisahkan perangkat komputasi fisik ke dalam satu atau lebih perangkat "virtual", yang masing-masing dapat dengan mudah digunakan dan dikelola untuk melakukan tugas-tugas komputasi. Dengan virtualisasi tingkat sistem operasi yang pada dasarnya menciptakan sistem terukur dari berbagai perangkat komputasi independen, sumber daya komputasi tidak terpakai dapat dialokasikan dan digunakan dengan lebih efisien. Virtualisasi menyediakan kelincahan yang dibutuhkan untuk mempercepat operasi TI, dan mengurangi biaya dengan meningkatkan pemanfaatan infrastruktur. Komputasi otonom mengotomatiskan proses di mana pengguna dapat menyediakan sumber daya sesuai permintaan . Dengan meminimalkan keterlibatan pengguna, otomatisasi mempercepat proses, mengurangi biaya tenaga kerja dan mengurangi kemungkinan kesalahan manusia.
Pengguna secara rutin menghadapi masalah bisnis yang sulit. Cloud computing mengadopsi konsep dari Service-oriented Architecture(SOA) yang dapat membantu pengguna memecahkan masalah-masalah ini menjadi layanan yang dapat diintegrasikan untuk memberikan solusi. Cloud computing menyediakan semua sumber dayanya sebagai layanan, dan memanfaatkan standar yang telah ditetapkan dengan baik dan praktik terbaik yang diperoleh di domain SOA untuk memungkinkan akses global dan mudah ke layanan cloud dengan cara standar.
Komputasi awan juga memanfaatkan konsep dari komputasi utilitas untuk menyediakan metrik untuk layanan yang digunakan. Metrik tersebut merupakan inti dari model bayar per penggunaan publik. Selain itu, layanan terukur merupakan bagian penting dari loop umpan balik dalam komputasi otonom, yang memungkinkan layanan untuk skala on-demand dan untuk melakukan pemulihan kegagalan otomatis. Cloud computing adalah semacam komputasi grid ; itu telah berevolusi dengan mengatasi QoS (kualitas layanan) dan masalah keandalan . Cloud computing menyediakan alat dan teknologi untuk membangun data / menghitung aplikasi paralel intensif dengan harga yang jauh lebih terjangkau dibandingkan dengan teknik komputasi paralel tradisional.
Cloud computing berbagi karakteristik dengan:
·         Model klien-server - Komputasi klien-server merujuk secara luas ke aplikasi terdistribusi yang membedakan antara penyedia layanan (server) dan peminta layanan (klien). [36]
·         Komputer biro — biro layanan yang menyediakan layanan komputer, terutama dari tahun 1960 hingga 1980-an.
·         Komputasi grid - "Suatu bentuk komputasi terdistribusi dan paralel, di mana 'komputer super dan virtual' terdiri dari sekelompok jaringan, komputer yang digabungkan secara longgar yang bekerja bersama untuk melakukan tugas yang sangat besar."
·         Fog computing —Mendistribusikan paradigma komputasi yang menyediakan layanan data, komputasi, penyimpanan, dan aplikasi lebih dekat ke perangkat tepi klien atau dekat-pengguna, seperti router jaringan. Selain itu, komputasi kabut menangani data di tingkat jaringan, pada perangkat pintar dan di sisi pengguna pengguna akhir (misalnya perangkat seluler), daripada mengirim data ke lokasi terpencil untuk diproses.
·         Komputer mainframe —Powerful komputer yang digunakan terutama oleh organisasi besar untuk aplikasi penting, biasanya pemrosesan data massal seperti: sensus ; industri dan statistik konsumen; polisi dan dinas intelijen rahasia; perencanaan sumber daya perusahaan ; dan pemrosesan transaksi keuangan.
·         Komputasi utilitas - "Pengemasan sumber daya komputasi , seperti komputasi dan penyimpanan, sebagai layanan meteran yang mirip dengan utilitas publik tradisional, seperti listrik."
·         Peer-to-peer —Sebuah arsitektur terdistribusi tanpa perlu koordinasi pusat. Peserta adalah pemasok dan konsumen sumber daya (berbeda dengan model client-server tradisional).
·         Komputasi hijau
·         Cloud sandbox —Sebuah lingkungan komputer yang hidup dan terisolasi di mana program, kode, atau file dapat berjalan tanpa memengaruhi aplikasi yang menjalankannya.





GRID COMPUTING
Komputasi grid adalah kumpulan sumber daya komputer dari beberapa lokasi untuk mencapai tujuan bersama. Grid dapat dianggap sebagai sistem terdistribusi dengan beban kerja non-interaktif yang melibatkan sejumlah besar file. Komputasi grid dibedakan dari sistem komputasi berkinerja tinggi konvensional seperti komputasi klaster di grid komputer yang masing-masing node disetel untuk melakukan tugas / aplikasi yang berbeda. Grid komputer juga cenderung lebih heterogen dan tersebar secara geografis (sehingga tidak secara fisik digabungkan) daripada komputer cluster. Meskipun satu kotak dapat didedikasikan untuk aplikasi tertentu, biasanya grid digunakan untuk berbagai tujuan. Grid sering dibangun dengan perpustakaan perangkat lunak middleware grid tujuan umum. Ukuran kisi bisa sangat besar.
Grids adalah bentuk komputasi terdistribusi di mana " komputer virtual super " terdiri dari banyak jaringan komputer yang digabungkan secara longgar yang bekerja bersama untuk melakukan tugas-tugas besar. Untuk aplikasi tertentu, didistribusikan atau komputasi grid dapat dilihat sebagai jenis khusus komputasi paralel yang bergantung pada komputer lengkap (dengan CPU onboard, penyimpanan, catu daya, antarmuka jaringan, dll.) Yang terhubung ke jaringan komputer (pribadi atau publik) oleh antarmuka jaringan konvensional, seperti Ethernet . Hal ini berbeda dengan gagasan tradisional superkomputer , yang memiliki banyak prosesor yang dihubungkan oleh bus komputer berkecepatan tinggi lokal.

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 disponsorioleh pemerintah Contohnya terdapat di DEISA.
e)     E-Learning
Komputasi grid membantu membangun infrastruktur untuk memenuhi kebutuhan dalam pertukaran informasi dibidang pendidikan. Contohnya adalah AccessGrid.
f)     Visualization
Komputasi grid digunakan untuk membantu proses visualisasi perhitungan yang rumit.
g)     Microprocessor design
komputasi grid membantu untuk mengurangi microprocessor design cycle dan memudahkan design center untuk membagikan resource lebih efisien. Contohnya ada diMicroprocessor Design Group at IBM Austin.

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.

Kemudian hal yang tidak boleh dilupakan adalah mengenai keberadaan dari elemen-elemen dari grid computing, elemen ini tidak bisa dilepaskan dari grid computing. Elemen grid computing adalah berikut :
a.       Hardware
b.      Software
c.       Brainware




VIRTUALISASI

            Virtualisasi adalah sebuah teknik yang saat ini banyak diterapkan untuk memenuhi kebutuhan TI yang semakin tinggi namun diikuti dengan tuntutan untuk mengefisiensikan biaya yang digunakan semaksimal mungkin.  Virtualisasi adalah teknologi yang telah diterapkan secara luas saat ini dengan dampak peningkatan operasional dan finansial yang positif. Virtualisasi adalah konsep dimana akses ke sebuah hardware seperti server diatur sehingga beberapa operating system (guest operation system) dapat berbagi sebuah hardware.  Tujuan dari virtualisasi adalah kinerja tingkat tinggi, ketersediaan, keandalan, ketangkasan, atau untuk membuat dasar keamanan dan manajemen yang terpadu.
Virtualisasi memungkinkan kita untuk berbagi hardware untuk digunakan beberapa sistem operasi. Virtualisasi dapat membuat sebuah tempat penyimpanan tunggal yang besar terlihat menjadi beberapa tempat penyimpanan dengan ukuran yang lebih kecil.
Setiap perusahaan memiliki tujuan yang berbeda mengapa menerapkan virtualisasi, salah satu tujuan yang ingin dicapai perusahaan dapat merupakan salah satu dari hal berikut :
·         Memungkinkan semua device yang terhubung dengan jaringan untuk mengakses aplikasi melalui jaringan, bahkan jika aplikasi tidak pernah dirancangan untuk dapat bekerja di device tersebut.
·         Isolasi beban perkerjaan atau aplikasi yang satu dengan yang lainnya untuk meningkatkan keamanan dan kemudahan pengelolaan lingkungan.
·         Isolasi aplikasi dari sistem operasi, memungkinkan aplikas untuk tetap berfungsi meskipun dirancang untuk sistem operasi dengan tipe yang berbeda
·         Isolasi aplikasi dari sistem operasi, memungkinkan sebuah aplikasi untuk bekerja di sistem operasi yang asing
·         Meningkatkan jumlah orang yang dapat didukung oleh aplikasi, dengan mengijinkan untuk menjalan aplikasi dari mesin-mesin yang berbeda secara bersamaan
·         Mengurangi waktu yang diperkukan untuk menjalankan apliksi, dengan memisahkan data atau aplikasi itu sendiri dan menyebar pekerjaan di beberapa sistem
·         Mengoptimalkan penggunaan sistem tunggal
·         Meningkatkan keandalan atau ketersediaan dari aplikasi atau beban kerja dengan pengulangan

Beberapa peralatan komputer dapat divirtualisasikan. Contoh peralatan komputer yang dapat divirtualisasikan adalah
·         Server. Mulai dari perspektif akses dan manajemen, sebuah server fisik tunggal dapat menjadi beberapa server yang biasa disebut dengan virtual server atau virtual machine (VM)
·         Desktop. Mirip dengan virtualisasi server, virtualisasi desktop dapat berarti dua hal. Yang pertama, memungkinkan pengguna untuk menjalankan beberapa sistem operasi desktop (Apple Mac OS dan Microsoft Windows OS) di dalam komputer yang sama. Yang kedua virtualisasi memungkinkan data dan layanan yang dimiliki oleh pengguna diletakkan di komputer yang digunakan bersama dengan data dan layanan milik orang lain.
·         Storage. Satu tempat penyimpanan fisik dapat terlihat menjadi beberapa driver virtual. Dengan kata lain, dengan menggunakan windows yang terpisah di console manajemen yang umum, administrator IT dapat memperlakukan drive virtual seperti drive fisik.
·         Application. Saat memvirtualisasi, aplikasi yang ditulis untuk sebuah lingkungan sistem operasi dapat dijalankan di lingkungan operasi yang lain untuk meningkatkan kecocokan aplikasi dan kemudahan pengelolaan. Operasi akan diarahkan ke sistem operasi yang sesuai.
·         Network. Di dalan jaringan, sebuah router fisik dapat mendukung beberapa, alamat IP untuk membuat router virtual. Sama seperti sebuah switch Ethernet fisik dapat mendukung beberapa alamat MAC (media access control) untuk membuat switch virtual. Sebuah hardware fisik dapat dibagi menjadi beberapa router atau switch virtual untuk mengurangi biaya.


DISTRIBUTED COMPUTING 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 REDUSE & NO SQL (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 MongoDB, Cassandra, CouchDB, 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 DATABASE
            Nosql database tidak seperti sql database yang menggunakan tabel dalam penyusunan datanya, nosql database menggabungkan semua database tidak membedakan jenis2nya dan tanpa karakteristik umum. Tapi nosql database ini memiliki kecepatan yang super cepat dibanding dengan sql database, pencariannya lebih terfokus. Nosql sebetulnya tidak 100% menyimpan data dengan cara tidak terstruktur, terkadang ada miripnya dengan sql database dengan sedikit susunan pada saat-saat tertentu.
            Bedanya nosql database ini menyusun bagian didalam bagian lainnya (subset). Jadi setiap bagian akan memiliki beberapa bagian lagi didalamnya. Nosql ini cocok dan biasa digunakan untuk penyimpanan aplikasi atau data yang sangat besar. Karena dengan menggunakan nosql data dapat diakses dengan sangat fleksibel dan sangat sedikit kemungkinan error ketika mengakses banyak data dengan format yang berbeda-beda.
Pengelompokan database noSQL
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.