Search This Blog

University

Monday, March 12, 2018

Review Jurnal Analisis dan Pembangunan Infrastruktur Cloud Computing

Nama: Bobby Kho Ricardo
NPM: 52414207
Kelas: 4IA22

Analisis dan Pembangunan Infrastruktur Cloud Computing
Penulis: Teti Ernawati dan Agung Helmi Zulfiaji (Politeknik TEDC Bandung)

Abstrak

Efisiensi dalam penggunaan cloud computing menjadi alasan mendasar pengguna memanfaatkan teknologi cloud computing. Penelitian ini melakukan analisis dan membangun infrastruktur cloud computing pada studi kasus di sektor pendidikan. Infrastruktur yang dibangun adalah  layanan Server as a Service yang ditujukan untuk pemenuhan kebutuhan kegiatan praktikum  siswa. Infrastruktur dibangun berdasarkan kebutuhan pengguna (user requirements) yang diperoleh melalui metode wawancara. Metodologi penelitian yang digunakan yaitu metodologi eksperimen yang terdiri dari sembilan tahapan. Hasil pengujian menunjukkan prototype IaaS yang dibangun sudah berhasil memenuhi kebutuhan untuk kegiatan praktikum siswa dengan kinerja yang lebih baik dibandingkan sistem yang sedang berjalan. Kinerja tersebut ditunjukkan pada efisiensi dalam setup time, ability dan access area. Kekurangan prototype IaaS terdapat pada respon time dan package install. 

kata kunci: cloud computing, infrastructure as a service, server as a service.

Pendahuluan

Cloud computing adalah satu dari model komputasi yang dapat diakses dimana saja. Cloud computing merupakan akses layanan on-demand ke sekumpulan sumber daya komputasi seperti jaringan, server, penyimpanan, aplikasi dan layanan (Mell & Grance, 2011). Penelitian yang dilakukan oleh Enterprise Strategy Group tahun 2012, diperoleh data bahwa 30% dari perusahaan besar telah menggunakan layanan Infrastructure as a Service (IaaS), perkembangannya sangat signifikan apabila dibandingkan dengan jumlah 19% pada tahun 2011. Berdasarkan penelitian tersebut juga diperoleh data sebanyak 55% perusahaan telah mempertimbangkan atau berencana menggunakan IaaS dimasa mendatang, terdapat peningkatan jika dibandingkan pada tahun 2011 sebanyak 44%. Hal ini menunjukkan terdapatnya perkembangan yang signifikan pesat pada IaaS yang didasari oleh efisiensi biaya investasi untuk infrastruktur Teknologi Informasi (TI) (CDW, 2012). 

IaaS telah banyak digunakan di berbagai bidang, satu dari berbagai bidang tersebut yaitu pendidikan. Peranan teknologi sangat berkontribusi pada dunia pendidikan (Microsoft, 2010). Pemanfaatan cloud computing dalam dunia pendidikan memungkinkan dokumentasi kegiatan pembelajaran dapat didukung oleh kapasitas penyimpanan yang lebih besar, kegiatan  riset dengan dukungan sumber daya komputasi yang powerful, bagi penyelenggara pendidikan dapat mengurangi biaya investasi untuk infrastruktur dan memungkinkan pengurangan jumlah pegawai terutama di bagian TI (Sultan, 2010). Penggunaan  layanan cloud disekolah akan menciptakan kolaborasi antara siswa dan pengajar. Terdapatnya kemudahan aksesibilitas bagi siswa dalam mengakses bahan pelajaran karena tersimpan dalam format digital sementara para pengajar dapat lebih mudah memonitor pekerjaan siswa (Manas, 2013). 

Penelitian ini bertujuan untuk membangun infrastruktur cloud computing pada studi kasus di sektor pendidikan. Infrastruktur yang dibangun adalah  layanan Server as a Service yang ditujukan untuk pemenuhan kebutuhan kegiatan praktikum siswa khususnya mata pelajaran jaringan komputer siswa kelas XI (sebelas). Hasil dari penelitian ini yaitu prototype IaaS yang sudah diuji pada studi kasus di salah satu sekolah menengah kejuruan di kota Bandung. Prototype IaaS ini diharapkan memiliki kinerja yang lebih baik dibandingkan dengan sistem yang sedang berjalan (existing). Dalam penelitian ini Ubuntu Enterprise Cloud (UEC) digunakan sebagai tools untuk membangun IaaS. Tools ini digunakan dengan dengan pertimbangan UEC merupakan teknologi open source sehingga tidak memerlukan biaya untuk lisensi, proses update dan berlangganan.  

Metode Penelitian

Penelitian ini menggunakan metodologi eksperimen yang terdiri dari 9 (sembilan) tahapan,  ditunjukkan pada gambar. 

Hasil dan Pembahasan

Hasil pengujian diawali dengan proses pengumpulan data yang diperoleh berdasarkan hasil uji yang telah dilakukan oleh para penguji. Data diklasifikasikan menjadi dua kelompok yaitu 
  • Data hasil pengujian berdasarkan kesesuaian sistem yang dibangun dengan user requirements.
  • Data hasil pengujian berdasarkan kinerja sistem, diperoleh melalui perbandingan sistem yang berjalan dengan sistem yang dibangun.

Data hasil uji terhadap kebutuhan pengguna terhadap sistem 
Tabel 5. Hasil pengujian kesesuaian kebutuhan pengguna 

Data hasil uji terhadap kinerja sistem
1. Setup time
Untuk pengujian setup time dihitung rata-rata waktu setup yang diperlukan untuk instalasi Operating System (OS) Linux pada sistem cloud dan non-cloud.



2. Response time
Pengujian untuk parameter respon time dilakukan dengan mengambil rata-rata waktu respon terhadap satu kali eksekusi masing-masing perintah pada sistem cloud dan non-cloud. 
Perintah yang diujicobakan dalam pengujian ini terdiri dari vim, ifconfig, apt-get install, iptables, ssh x.x.x.x.


3. Access Area
Jarak maksimum antara pengguna dengan server untuk mengakses   sistem cloud dan non-cloud.

4. Package Install
Kemampuan sistem untuk menginstal paket melalui CD/DVD installer atau melalui repository internet pada sistem cloud dan non-cloud

5. Ability
Jumlah server virtual yang dihasilkan oleh sistem cloud dan non-cloud diperoleh melalui simulasi praktikum dengan cara memaksimalkan kemampuan perangkat keras untuk mendapatkan server virtual.


Analisa Hasil Pengujian

Analisis dilakukan berdasarkan hasil pengujian prototype IaaS yang dibangun. Hasil pengujian fungsionalitas pada Tabel 5 adalah berhasil, tersedianya server dan terdapatnya efisiensi proses evaluasi pembelajaran. Efisiensi ditunjukkan pada berkurangnya waktu yang diperlukan pengajar untuk mengevaluasi hasil praktikum siswa. Hasil uji pada Tabel 5 menunjukkan bahwa prototype IaaS yang dibangun telah memenuhi kebutuhan yang diperlukan untuk kegiatan praktikum.

Pada pengujian setup time, sistem cloud memiliki rata-rata waktu yang lebih singkat dalam melakukan setup satu server virtual yaitu 23.33 menit lebih cepat dibandingkan dengan sistem non-cloud.

Untuk pengujian response time, sistem cloud memiliki rata-rata response time 2.33 detik lebih lama dibanding sistem cloud.

Pengujian akses area menunjukkan sistem cloud memungkinkan pengguna mengakses sistem melalui interface sistem, LAN, WAN dan bahkan internet. Pada sistem noncloud hasil uji menunjukkan bahwa  akses hanya dapat dilakukan melalui interface sistem dan LAN saja. 

Pengujian package install, sistem cloud instalasi paket-paket pendukung server hanya dapat dilakukan melalui repository internet. Pada sistem non-cloud paket-paket pendukung server dapat diinstal melalui CD/DVD installer dan repository internet. 

Untuk pengujian ability, server virtual yang dihasilkan dapat mencapai 4 server virtual, sedangkan pada sistem non-cloud hanya dapat mencapai rata-rata 2-3 server

Kelebihan, Kekurangan dan Kesimpulan

Pada penelitian ini telah dijelaskan bagaimana pembangunan IaaS dengan menggunakan UEC. Terdapat empat tahapan, yaitu: pengecekan ketersediaan sumber daya node controller, pengecekan ketersediaan image untuk server, running instance dan terminate instance. Hasil uji diperoleh data hasil uji terhadap fungsionalitas sistem menunjukkan bahwa IaaS yang dibangun telah sesuai dengan kebutuhan pengguna; untuk uji kinerja sistem, efisiensi diperoleh pada paramenter setup time yaitu 23.33 menit lebih cepat dibandingkan sistem non cloud; untuk  ability dapat menyediakan 4 server virtual  sementara sistem non cloud hanya 2 server; dan access area yang lebih luas. IaaS yang dibangun memiliki kekurangan pada respon time yaitu 2.33 detik lebih lambat dibandingkan sistem non cloud dan package install yang kurang fleksibel karena harus selalu terkoneksi repository internet. 

Untuk penelitian selanjutnya, perlu dikembangkan layanan IaaS untuk web hosting, storage service, disaster recovery and backup service, serta networking service; fleksibilitas akses dengan  menggunakan Wireless LAN (WLAN); penambahan fitur akses Virtual Private Network (VPN) untuk mengelola hak akses. Eksperimen selanjutnya sangat dimungkinkan untuk dilakukan pada sektor yang lain seperti di sektor industri atau di lembaga pemerintahan.


Analisis dan Pembangunan Infrastruktur Cloud Computing
Penulis: Teti Ernawati dan Agung Helmi Zulfiaji (Politeknik TEDC Bandung)

Komputasi Grid

Image result for 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 erat kaitannya dengan metode komputasi paralel. Metode ini dapat membagi kerja komputer menjadi beberapa bagian sehingga, tidak memberatkan kerja komputer itu sendiri dan mempercepat kerja komputer.

Sebagai contoh, bila ada suatu perintah untuk mencari satu angka dari 100 angka, komputer tersebut memiliki 10 processor. Dengan adanya komputasi paralel, komputer tersebut dapat memecah kerja menjadi 10 bagian untuk mencari angka tersebut. hal ini tentu saja dapat mempercepat dan memperingan kerja komputer. Tentu saja masalah pembagian kerja komputer tersebut dalam skala kecil. Tapi dari sinilah grid computing dikembangkan. Grid computing semakin dikembangkan dengan adanya jaringan dan internet. Dengan jaringan, kerja komputer terbagi-bagi di satu tempat dan tempat lain, namun pekerjaannya tetap satu atau terhubung.

Grid Computing memanfaatkan kekuatan pengolahan berbagai unit komputer, dan menggunakan kekuatan proses untuk menghitung satu pekerjaan. Pekerjaan itu sendiri dikontrol oleh satu komputer utama, dan dipecah menjadi beberapa tugas yang dapat dilaksanakan secara bersamaan pada komputer yang berbeda. Tugas-tugas ini tidak perlu saling eksklusif, meskipun itu adalah skenario yang ideal. Sebagai tugas lengkap pada berbagai unit komputasi, hasil dikirim kembali ke unit pengendali, yang kemudian collates itu membentuk keluaran kohesif. Satu masalah akan kurangnya sumber daya untuk komputasi tinggi sudah terpenuhi dengan kehadiran grid computing. Namun masalah tidak berhenti di situ saja. Salah satu komponen yang terpenting juga dalam grid computing adalah konektifitas atau jaringan. Tidak akan membentuk sebuah grid computing kalau tidak ada jaringan. Didalam sebuah jaringan, tidak asing lagi dengan penggunaan IP Address. Lebih dari 20 tahun manusia menggunakan IPv4 sebagai protokol jaringan. Namun, jumlah IPv4 yang mencapai 4,3 milyar sudah habis tanggal 15 April 2011. Tentu saja hal ini menjadi kendala bagi pengguna internet, khususnya grid computing ini yang juga membutuhkan IP Address valid untuk konektifitasnya. Muncullah protokol jaringan baru yang merupakan pengganti dari IPv4 yang sudah habis yaitu IPv6. Dengan protokol ini, pengguna internet tidak perlu khawatir lagi akan kebutuhan penggunaan IP Address. Atas dasar itulah pada proyek akhir ini, penulis mengimplementasikan grid computing dengan menggunakan pengalamatan IPv6.

Prinsip Kerja Grid Computing

Dua prinsip kerja utama grid computing yang membedakannya dari arsitektur komputasi yang lain, semisal mainframe, klien-server, atau multi-tier: virtualisasi dan provisioning.
  • Virtualisasi
Setiap sumberdaya (semisal komputer, disk, komponen aplikasi dan sumber informasi) dikumpulkan bersama-sama menurut jenisnya, lalu disediakan bagi konsumen (semisal orang atau program software). Virtualisasi berarti meniadakan koneksi secara fisik antara penyedia dan konsumen sumberdaya, dan menyiapkan sumberdaya untuk memenuhi kebutuhan tanpa konsumen mengetahui bagaimana permintaannya bisa terlayani. 
  • Provisioning
Ketika konsumen meminta sumberdaya melalui layer virtualisasi, sumberdaya tertentu di belakang layer didefinisikan untuk memenuhi permintaan tersebut, dan kemudian dialokasikan ke konsumen. Provisioning sebagai bagian dari grid computing berarti bahwa system menentukan bagaimana cara memenuhi kebutuhan konsumen seiring dengan mengoptimasi jalannya sistem secara keseluruhan.

Image result for virtualisasi adalah

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) :
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

CLOUD COMPUTING

Cloud Computing adalah sistem komputerisasi berbasis jaringan/internet, dimana suatu sumber daya, software, informasi dan aplikasi disediakan untuk digunakan oleh komputer lain yang membutuhkan. Mengapa konsep ini bernama komputasi awan atau cloud computing? Ini karena internet sendiri bisa dianggap sebagai sebuah awan besar (biasanya dalam skema network, internet dilambangkan sebagai awan) yang berisi sekumpulan besar komputer yang saling terhubung, jadi cloud computing bisa diartikan sebagai komputerisasi berbasis sekumpulan komputer yang saling terhubung.

Cloud computing bisa dianggap sebagai perluasan dari virtualisasi. Perusahaan bisa menempatkan aplikasi atau sistem yang digunakan di internet, tidak mengelolanya secara internal. Contoh cloud computing untuk versi public adalah layanan-layanan milik Google seperti Google Docs dan Google Spreadsheet. Adanya kedua layanan tersebut meniadakan kebutuhan suatu aplikasi office untuk pengolah kata dan aplikasi spreadsheet di internal perusahaan. Contoh cloud computing untuk keperluan non public adalah Amazon EC2 ( Amazon Elastic Compute Cloud ). Amazon menyediakan komputer induk, kita bisa mengirim dan menggunakan sistem virtual dan menggunakannya dalam jangka waktu dan biaya sewa tertentu.

Cloud computing sangat berguna pada saat ini yang berfungsi untuk menyimpan data pada internet. Di dalam cloud computing terdapat distributed computation, dimana interaksi yang dilakukan antar computer seperti mengirim dan menerima data menggunakan jaringan computer hingga pengaksesan sumberdaya bisa dilakukan secara paralel dan bisa dimanfaatkan dalam waktu yang bersamaan.




Distribusi komputasi ini memiliki definisi mempelajari penggunaan terkoordinasi dari computer secara fisik terpisah atau terdistribusi. Pada distributed computing ini, program dipisah menjadi beberapa bagian yang dijalankan secara bersamaan pada banyak computer yang terhubung melalui jaringan internet.

Komputasi terdistribusi mentransformasikan banyak komputer dalam satu jaringan yang dapat digunakan secara efektif seperti halnya sebuah komputer saja, sehingga memaksimalkan penggunaan sumber daya komputasi. Hal ini berarti bahwa setiap klien dalam jaringan dapat mengakses setiap file data yang terdapat dalam jaringan, menjalankan program komputer yang ada dalam jaringan (baik yang ada dalam server maupun yang ada dalam klien).
Ada 2 buah komponen penting dalam komputasi terdistribusi yaitu server atau komputer pusat yang secara konstan menyediakan dan menjalankan program komputer dan database yang dibutuhkan oleh komputer lain di dalam jaringan tersebut. Serta workstation atau client yang berisi program yang ditempatkan pada server jaringan.
Tujuan dari komputasi terdistribusi adalah menyatukan kemampuan dari sumber daya (sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya.

Tujuan lain yang ingin dicapai dalam komputasi terdistribusi adalah transparansi. Kenyataan bahwa sumber daya yang dipakai oleh pengguna sistem terdistribusi berada pada lokasi fisik yang terpisah, tidak perlu diketahui oleh pengguna tersebut. Transparansi ini memungkinkan pengguna sistem terdistribusi untuk melihat sumber daya yang terpisah tersebut seolah-olah sebagai satu sistem komputer tunggal, seperti yang biasa digunakannya.

MapReduce dan NoSQL

MapReduce adalah model pemrograman rilisan Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan paralel dalam cluster yang terdiri atas ribuan komputer. Dalam memproses data, secara garis besar MapReduce dapat dibagi dalam dua proses yaitu proses Map dan proses Reduce. Kedua jenis proses ini didistribusikan atau dibagi-bagikan ke setiap komputer dalam suatu cluster (kelompok komputer yang salih terhubung) dan berjalan secara paralel tanpa saling bergantung satu dengan yang lainnya. Proses Map bertugas untuk mengumpulkan informasi dari potongan-potongan data yang terdistribusi dalam tiap komputer dalam cluster. Hasilnya diserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.

NoSQL Database
Berbeda dengan SQL Database, dari namanya saja sudah bisa ditebak bahwa nosql database adalah kebalikan dari sql database. Tidak relational / tanpa relation. Database nosql atau yang biasa disebut NoSQL database / cloud database merupakan penyimpanan data / database yang tidak terstruktur.

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

salah satu contoh NoSQL adalah MyOODB, sebuah aplikasi dan database framework yang membawa object oriented design ke web development


sumber: