BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB I PENDAHULUAN 1.1. Latar Belakang

S-1 TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO JAWA TENGAH

BAB I PENDAHULUAN. Cloud computing dalam pengertian bahasa Indonesia yang diterjemahkan

Analisis dan Desain Sistem Jaringan

2012 Pengantar Cloud Computing

MEMBANGUN SISTEM CLOUD COMPUTING DENGAN IMPLEMENTASI LOAD BALANCING DAN PENGUJIAN ALGORITMA PENJADWALAN LINUX VIRTUAL SERVER PADA FTP SERVER

Cloud Computing Windows Azure

2012 Pengantar Cloud Computing

CLOUD COMPUTING TECHNOLOGY

Pengantar Cloud Computing Berbasis Linux & FOSS

Definisi Cloud Computing

Gambar 1.1 Contoh laporan billing di Windows Azure

LOAD BALANCING PADA CLOUD COMPUTING MENGGUNAKAN ALGORITMA WEIGHTED LEAST CONNECTION JARINGAN KOMPUTER SKRIPSI

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Tabel 2.1 Tinjauan Pustaka

BAB II DASAR TEORI 2.1. Komputasi Awan Berdasarkan Layanan Infrastructure as a Services (IaaS) Platform as a Service (PaaS)

IMPLEMENTASI EYE OS MENGGUNAKAN METODE LOAD BALANCING DAN FAILOVER PADA JARINGAN PRIVATE CLOUD COMPUTING DENGAN LAYANAN IAAS DAN SAAS

IMPLEMENTASI CLOUD COMPUTING BERBASIS WEB EYEOS DI UNIVERSITAS MUSI RAWAS

Desain Open University Menggunakan Arsitektur Cloud

Layanan Cloud Computing Setelah dijabarkan mengenai lima karakteristik yang terdapat di dalam sistem layanan Cloud

BAB I PENDAHULUAN 1.1 Latar Belakang dan Permasalahan

CLOUD COMPUTING PENGANTAR KOMPUTER & TI 1A :

OPTIMALISASI CLUSTER SERVER LMS DAN IPTV DENGAN VARIASI ALGORITMA PENJADWALAN

Proposal Tugas Akhir

BAB I PENDAHULUAN 1.1 Latar Belakang

CLOUD-BASED INFORMATION COMMUNICATION TECHNOLOGY - LEARNING MANAGEMENT SYSTEM SOLUTIONS

Analisis Load Balancing Pada Web Server Menggunakan Algoritme Weighted Least Connection

KOMPUTASI AWAN ( CLOUD COMPUTING ) Disusun Oleh Arbiyan Tezar Kumbara ( )

PENGENALAN CLOUD COMPUTING

APA ITU CLOUD COMPUTING? Aulia Farah Diba. Abstrak.

Rancang Bangun Server Learning Management System (LMS) Berbasis Metode Load Balancing

INTRO TO CLOUD COMPUTING

BAB I PENDAHULUAN. 1.1 Virtualisasi

Komputasi Awan (Cloud Computing)

ABSTRAK. Kata Kunci : algoritma penjadwalan, linux virtual server, network address translation, network load balancing.

PERCOBAAN 10 CLOUD COMPUTING (Network Attached Storage)

ANALISIS AVAILABILITAS LOAD BALANCING PADA WEB SERVER LOKAL

TOPIK. Standards and Controls Cloud Forensics Solid State Drives Speed of Change

BAB 1 PENDAHULUAN UKDW

Analisis Overhead Server Cloud Infrastructure pada Proxmox VE Hypervisor

IMPLEMENTASI CLOUD COMPUTING DENGAN KEAMANAN SSL (SECURE SOCKET LAYER)

Bab 1 Prolog. A. Tentang Cloud Computing

ANALISIS PEMANFAATAN LAYANAN BERBASIS CLOUD MENGGUNAKAN MICROSOFT AZURE

IMPLEMENTASI METODE LOAD BALANCING DALAM MENDUKUNG SISTEM KLUSTER SERVER

Adiharsa Winahyu Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta

BAB 4 IMPLEMENTASI DAN EVALUASI. Perancangan yang dilakukan pada penelitian ini bersifat simulasi, karena jaringan Cloud

Implementasi Cloud Computing Menggunakan Metode Pengembangan Sistem Agile

TEKNOLOGI APLIKASI WEB BERBASIS SERVER

perkembangan teknologi informasi dan komunikasi. Firewall : Suatu sistem perangkat lunak yang mengizinkan lalu lintas jaringan yang dianggap aman

BAB 1 PENDAHULUAN. Kemajuan perkembangan teknologi informasi telah membuat proses dan startegi bisnis

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. tentang load balancing terus dilakukan dan metode load balancing terus

BAB I PENDAHULUAN Latar Belakang

UJI AVAILABILITAS LOAD BALANCING WEB SERVER MENGGUNAKAN LINUX VIRTUAL SERVER

BAB III LANDASAN TEORI. 3.1 Sekolah. Sekolah adalah tempat dimana pendidikan diberikan. Juga dapat diartikan

BAB I PENDAHULUAN 1.1. Tujuan 1.2. Latar Belakang

sebagai Virtual machine Monitor (VMM) atau hypervisor, menyediakan resource virtual untuk mesin-mesin virtual (virtual machines) sehingga setiap mesin

Konferensi Nasional Sistem Informasi 2013, STMIK Bumigora Mataram Pebruari 2013

BAB II DASAR TEORI 2.1. Pengenalan Sistem Operasi Linux 2.2. Dasar Sistem Cluster

PENGGUNAAN CLOUD COMPUTING DI DUNIA PENDIDIKAN MENENGAH DALAM PENDEKATAN TEORITIS. Maria Christina

IMPLEMENTASI TEKNOLOGI LOAD BALANCER DENGAN WEB SERVER NGINX UNTUK MENGATASI BEBAN SERVER

MAKALAH. Virtualisasi Cloud Computing Dan Teknologi Open Source

BAB III LANDASAN TEORI. layanan (service) tertentu dalam sebuah jaringan komputer. Server. sebagai sistem operasi jaringan (network operating system).

PEMANFAATAN DAN PELUANG KOMPUTASI AWAN PADA SEKTOR BISNIS DAN PERDAGANGAN


MODEL KNOWLEDGE MANAGEMENT SYSTEM DENGAN TEKNOLOGI CLOUD COMPUTING

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Linux with CloudComputing UbuntuOne. Kelompok Studi Linux UNG 2013

BAB 2 LANDASAN TEORI

Analisis Performa Load Balancing DNS Round Robin dengan Linux Virtual Server pada Webserver Lokal

Bab 4 Hasil dan Pembahasan

CLOUD COMPUTING. Yenita Juandy. Sekolah Tinggi Manajemen Informatika dan Komputer LIKMI Jl. Ir. H. Juanda 96 Bandung 40132

Ahmad Fauzi

BAB 1 PENDAHULUAN. perubahan kultur kita sehari-hari. Dalam era yang disebut information age ini, media

Manajemen Kunci Pada Mekanisme Akses Kontrol Sistem Ujian Online Program Penerimaan Mahasiswa Baru Menggunakan Untrusted Public Cloud

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Virtualisasi, Cloud Computing & Teknologi Open Source Dosen Pembina: Imam Suharjo, ST, M.Eng Ditulis Oleh:

OPTIMALISASI CLUSTER SERVER LMS DAN IPTV DENGAN VARIASI ALGORITMA PENJADWALAN

Perancangan Dan Implementasi Load Balancing Dan Failover Clustering Pada Linux Virtual Server (LVS) Untuk High Availability

Waktu yang lebih efisien. Lebih Aman. Memahami dan Memilih Tool Manajemen Network

BAB 1 PENDAHULUAN. Pengukuran overhead..., Ida Nurhaida, FT UI, 2009

BAB 1 PENDAHULUAN Latar Belakang

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI. Virtual Desktop Infrastructure (VDI) adalah sebuah solusi virtual desktop yang terpusat

BAB 2 LANDASAN TEORI. istilah Cloud Computing pada mulanya berasal dari penggunaan gambar awan untuk

Implementasi Load Balancing Dan Virtual Machine Dengan Algoritma Round Robin Pada Sistem Informasi Penerimaan Pegawai Bppt. Annisa Andarrachmi, S.

DESIGN AND IMPLEMENTATION OF GRID COMPUTING MANAGEMENT RESOURCE SYSTEM ON INFRASTRUCTURE AS A SERVICE (IAAS) USING NATIVE HYPERVISOR

CLUSTER. Kategori Cluster Computing

BAB III METODOLOGI PENELITIAN

Security Issues in Cloud Computing : The Potentials of Homomorphic Encryption

BAB III PERANCANGAN SISTEM

BAB II TEORI DASAR. Resource Reservation Protocol (RSVP) merupakan protokol pada layer

Sistem Terdistribusi. S1 Sistem Komputer Musayyanah, S.ST, M.T

BAB 2 LANDASAN TEORI

ANALISIS PERFORMANSI LOAD BALANCING DENGAN ALGORITMA ROUND ROBIN DAN LEAST CONNECTION PADA SEBUAH WEB SERVER ABSTRAK

Cloud Computing Perangkat Lunak Cloud Computing

BAB I PENDAHULUAN. 1.1 Latar Belakang

RANCANG BANGUN PRIVATE CLOUD COMPUTING PADA SEKRETARIAT DPRD PROVINSI SUMSEL. Iwan Agusti Jurusan Teknik Informatika STMIK PalComTech Palembang

BAB 1 PENDAHULUAN. sehari-hari seiring dengan perkembangan teknologi aksesnya pada perangkat

Bab 3 Metode Perancangan 3.1 Tahapan Penelitian

Bab 2 Tinjauan Pustaka

Bab 2 Tinjauan Pustaka 2.1 Penelitian Sebelumnya

Transkripsi:

BAB II TINJAUAN PUSTAKA 2.1. Tinjauan Studi Pada tinjauan studi akan dijelaskan mengenai beberapa jurnal penelitian yang membahasi penelitian terdahulu tentang implementasi Cloud Computing. Berikut ini adalah daftar jurnal penelitian tersebut : Tabel 2.1. Tinjauan Studi Terkait No Judul Tahun Penulis Metode Hasil 1. Membangun Sistem 2013 Yoppi Lisyadi Eksperimental Sistem Cloud Computing memiliki Cloud Computing Oktavianus peformansi yang lebih baik dari Dengan Implementasi server tunggal konvensional. Load Balancing Dan Pengujian Algoritma Penjadwalan Linux Virtual Server Pada Ftp Server Sistem Load Balancing pada Cloud Computing dapat menambah kehandalan sistem karena dapat menggabungkan banyak server yang diakses oleh client 2. Analisis Beberapa 2011 Helmi Kurniawan, Pengamatan Load Balancing algoritma bekerja Algoritma Load Reza Pulungan dan Analisis pada prinsip bahwa situasi di mana Balancing beban kerja diberikan, selama waktu kompilasi atau pada runtime. Perbandingan di atas menunjukkan bahwa algoritma beban statis balancing lebih stabil dibandingkan dengan dinamis dan juga kemudahan untuk memprediksi perilaku statis, tetapi pada saat yang sama algoritma terdistribusi yang dinamis selalu dianggap lebih baik daripada algoritma statis. 1

2 3. Analisis Kinerja Load 2013 Yogi Kurniawan, Eksperimental Dari hasil pengujian server dengan Balancer dan Sabriansyah R. A., spesifikasi yang berbeda penggunaan Implementasi pada ST., M.Eng. Eko algortima weighted least connection Layanan Web Sakti P., S.Kom., menghasilkan throughput dan M.Kom. response time yang setara dengan algoritma least connection. Akan tetapi pada algoritma weighted least connection pembagian beban kepada web server lebih merata, karena selain weight yang diberikan sesuai dengan kemampuan server, weighted least connection juga berdasarkan jumlah koneksi pada tiap server. 2.2. Pengertian Virtualisasi Virtualization / virtualisasi merupakan sebuah teknik yang berfungsi untuk menciptakan / membuat sesuatu dalam bentuk maya dari sesuatu yang berbentuk nyata. Virtualisasi dapat membuat sesuatu yang ada menjadi berlipat ganda, seperti contohnya dalam virtualisasi user dapat membuat sebuah computer di dalam sebuah computer, jadi dalam 1 komputer dapat dibuat lebih dari 1 sistem computer dengan spesifikasi yang berbeda-beda. Virtual Machine (VM) adalah sebuah mesin yang mempunyai dasar logika yang menggunakan pendekatan lapisan-lapisan (layers) dari sistem komputer. Sehingga sistem komputer dengan tersendiri dibangun atas lapisan-lapisan tersebut, dengan urutan lapisannya mulai dari lapisan terendah sampai lapisan teratas adalah sebagai berikut: Perangkat keras (semua bagian fisik komputer) Kernel (program untuk mengontrol disk dan sistem file, multi-tasking, load-balancing, networking dan security) Sistem program (program yang membantu general user)

3 Kernel yang berada pada lapisan kedua ini, menggunakan instruksi perangkat keras untuk menciptakan seperangkat system call yang dapat digunakan oleh komponen-komponen pada level sistem program. Sistem program kemudian dapat menggunakan system call dan perangkat keras lainnya seolah-olah pada level yang sama. Meskipun sistem program berada di level tertinggi, namun program aplikasi bisa melihat segala sesuatu pada tingkatan dibawahnya seakanakan mereka adalah bagian dari mesin. Pendekatan dengan lapisan-lapisan inilah yang kemudian menjadi kesimpulan logis pada konsep Virtual Machine (VM). Berikut adalah beberapa jenis dari pendekatan dari Virtualisasi. a) Full Virtualization Sistem operasi yang berjalan pada mesin virtual memberikan instruksi kepada perangkat keras dengan cara melalui mesin virtual. Full Virtualization memberikan pemodelan lengkap dari perangkat keras. Jadi Full Virtualization dapat membuat para user percaya bahwa terdapat system operasi berbeda pada suatu computer. Berikut adalah gambaran dari Full Virtualization. Gambar 2.1. Skema Full Virtualisasi (Sumber : Anonym, 2011) b) Para Virtualization Para Virtualization adalah sebuah teknik yang mana kumpulan instruksi dari perangkat keras (yang tidak mendukung virtualisasi) dimodifikasi menjadi sebuah

4 kumpulan instruksi yang dapat divirtualisasi secara penuh. Memodifikasi kumpulan instruksi perangkat keras, berarti sistem operasi juga butuh untuk diarahkan ke kumpulan instruksi baru. Mesin virtual tidak mensimulasikan sistem operasi secara menyeluruh, tetapi menawarkan API yang membutuhkan modifikasi sistem operasi (merupakan teknik yang digunakan oleh XEN). Gambar 2.2. Skema Para Virtualization (Sumber : Anonym 2011) c) Hardware-Assisted Virtualization Hardware-Assisted Virtualization mengacu pada penambahan perangkat keras pada arsitektur sistem untuk mengurangi banyak pengeluaran hypervisor sehubungan dengan memerangkap dan mengemulasi operasi I/O dan instruksi status yang dijalankan dalam sebuah sistem operasi tamu. William menyebutkan pada bukunya yang berjudul Virtualization with Xen, prosesor Hardware-assist memberikan SO tamu otoritas yang dibutuhkan untuk mendapatkan akses langsung ke sumberdaya tanpa harus membagi kendali dari perangkat keras. Sebelumnya, VMM harus mengemulasi perangkat lunak untuk SO tamu saat mengendalikan platform fisik. Prosesor baru tersebut memberikan VMM dan SO tamu otoritas yang dibutuhkan tanpa emulasi perangkat keras dan perubahan SO. 2.2. Cloud Computing Cloud Computing adalah sebuah model komputasi yang terkonfigurasi, dimana sumber daya seperti Processor/computing power, storage, network, dan software menjadi abstrak (virtual) serta diberikan sebagai layanan di jaringan / internet menggunakan pola akses remote.

5 NIST (National Institute of Standarts and Technology) sebagai badan nasional standard an teknologi amerika serikat memberikan definisi Cloud Computing yaitu suatu model untuk memberikan kanyamanan, on-demand akses jaringan untuk memanfaatkan bersama suatu sumber daya komputasi yang terkonfigurasi (misalnya jaringan, server, penyimpanan, aplikasi dan layanan) yang dapat secara cepat diberikan dan dirilis dengan upaya manajemen yang minimal atau interaksi penyedia layanan. ini: Berdasarkan jenis layanan-nya, Cloud Computing dibagi menjadi berikut Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Dibawah ini kita bahas, masing-masing jenis layanan diatas: Software as a Service (SaaS) adalah layanan dari Cloud Computing dimana kita tinggal memakai software (perangkat lunak) yang telah disediakan. Kita cukup tahu bahwa perangkat lunak bisa berjalan dan bisa digunakan dengan baik. Contoh: layanan email publik (Gmail, YahooMail, Hotmail, dsb), social network (Facebook, Twitter, dsb) instant messaging (YahooMessenger, Skype, GTalk, dsb) dan masih banyak lagi yang lain. Dalam perkembangan-nya, banyak perangkat lunak yang dulu hanya kita bisa nikmati dengan menginstall aplikasi tersebut di komputer kita (on-premise) mulai bisa kita nikmati lewat Cloud Computing. Keuntungan-nya, kita tidak perlu membeli lisensi dan tinggal terkoneksi ke internet untuk memakai-nya. Contoh: Microsoft Office yang sekarang kita bisa nikmati lewat Office 365, Adobe Suite yang bisa kita nikmati lewat Adobe Creative Cloud, dsb. Platform as a Service (PaaS) adalah layanan dari Cloud Computing dimana kita menyewa rumah berikut lingkungan-nya (sistem operasi, network, database engine, framework aplikasi, dll), untuk menjalankan aplikasi yang kita

6 buat. Kita tidak perlu pusing untuk menyiapkan rumah dan memelihara rumah tersebut. Yang penting aplikasi yang kita buat bisa berjalan dengan baik di rumah tersebut. Untuk pemeliharaan rumah ini menjadi tanggung jawab dari penyedia layanan. Sebagai analogi, misal-nya kita sewa kamar hotel, kita tinggal tidur di kamar yang sudah kita sewa, tanpa peduli bagaimana perawatan dari kamar dan lingkungan-nya. Yang penting, kita bisa nyaman tinggal di kamar itu, jika suatu saat kita dibuat tidak nyaman, tinggal cabut dan pindah ke hotel lain yang lebih bagus layanan-nya. Contoh penyedia layanan PaaS ini adalah: Amazon Web Service, Windows Azure, bahkan tradisional hosting-pun merupakan contoh dari PaaS. Keuntungan dari PaaS adalah kita sebagai pengembang bisa fokus pada aplikasi yang kita buat, tidak perlu memikirkan operasional dari rumah untuk aplikasi yang kita buat. Infrastructure as a Service (IaaS) adalah layanan dari Cloud Computing dimana kita bisa menyewa infrastruktur IT (komputasi, storage, memory, network dsb). Kita bisa definisikan berapa besar-nya unit komputasi (CPU), penyimpanan data (storage), memory (RAM), bandwith, dan konfigurasi lain-nya yang akan kita sewa. Mudah-nya, IaaS ini adalah menyewa komputer virtual yang masih kosong, dimana setelah komputer ini disewa kita bisa menggunakan-nya terserah dari kebutuhan kita. Kita bisa install sistem operasi dan aplikasi apapun diatas-nya. Contoh penyedia layanan IaaS ini adalah: Amazon EC2, Windows Azure (soon), TelkomCloud, BizNetCloud, dsb. Keuntungan dari IaaS ini adalah kita tidak perlu membeli komputer fisik, dan konfigurasi komputer virtual tersebut bisa kita rubah (scale up/scale down) dengan mudah. Sebagai contoh, saat komputer virtual tersebut sudah kelebihan beban, kita bisa tambahkan CPU, RAM, Storage dsb dengan segera.

7 Gambar 2.3. Ilustrasi dari Cloud Computing ( Sumber : Wikipedia ) 2.3.1. Model Cloud Berdasarkan Infrastuktur Menurut National institute of Standards and Technology ( NIST ), terdapat beberapa model dari Cloud Computing, yaitu : 1. Public Cloud Public cloud merupakan sebuah model layanan cloud yang disediakan oleh provider dan ditujukan untuk layanan public / massal. User hanya tinggal mendaftar saja atau langsung dapat menggunakan fitur yang tersedia. Resource dari cloud ini dihosting di tempat penyedia layanan, mulai dari aplikasi hingga media penyimpanan/storage. Contoh dari public cloud yang popular adalah Windows Live Mail, Google Mail, Office 365, Windows Azure, dan Amazon EC2.

8 Gambar 2.4. Public Cloud (Sumber : Janakiram MSV Cloud Computing Strategist, 2010 ) 2. Private Cloud Computing Private Cloud dibangun, dioperasikan, dan dikelola oleh sebuah organisasi untuk perusahaan penggunaan/keperluan internal untuk mendukung operasi bisnisnya secara eksklusif. Mulai dari masyarakat umum, perusahaan swasta, hingga organisasi pemerintah di seluruh dunia yang mengadopsi model ini untuk mengeksploitasi manfaat cloud seperti fleksibilitas, pengurangan biaya,kecepatan dan sebagainya. Gambar 2.5. Private Cloud (Sumber : Janakiram MSV Cloud Computing Strategist, 2010 ) 3. Community Cloud. Community cloud terbagi menjadi beberapa organisasi dan mendukung komunitas tertentu yang telah berbagi kepentingan misalnya misi, persyaratan keamanan, kebijakan, dan pertimbangan. Community cloud dikelola oleh sebuah

9 organisasi atau pihak ketiga dan mungkin oleh anggota aktif. Salah satu contoh dari Community Cloud adalah OpenCirrus, yang dibentuk oleh HP, Intel, Yahoo, dan lainnya. Gambar 2.6. Community Cloud ( Sumber : Janakiram MSV Cloud Computing Strategist, 2010 ) 4. Hybrid Cloud Hybrid cloud merupakan infrastruktur yang terdiri dari dua atau lebih cloud (private, community, atau public). Jadi, Hybrid cloud adalah infrastruktur cloud berupa gabungan dari beberapa cloud yang ada. Gambar 2.7. Hybrid Cloud (Sumber : Janakiram MSV Cloud Computing Strategist,2010 ) 2.3.2. Karakteristik Cloud Computing Sampai saat ini paradigma Cloud Computing ini masih berevolusi, masih menjadi subjek perdebatan dikalangan akademisi, vendor IT dan pemeritah/bisnis. Berdasarkan NIST (National Institute of Standards and Technology), ada 5

10 kriteria yang harus dipenuhi oleh sebuah sistem untuk bisa dimasukkan kedalam keluarga Cloud. 1. On Demand Self Service Pengguna dapat memesan dan mengelola layanan tanpa interaksi manusia dengan penyedia layanan, Misalnya dengan menggunakan, sebuah portal web dan manajemen portal web dan manajemen antarmuka. Pengadaan dan perlengkapan layanan serta sumber daya yang terkait terjadi secara otomatis pada penyedia. 2. Broad Network Access Layanan yang tersedia terhubung melalui jaringan pita lebar, terutama untuk dapat diakses secara memadai melalui jaringan internet, baik menggunakan thin client, thick client ataupun media lain seperti smartphone. 3. Resources Pooling Penyedia layanan Cloud, memberikan layanan melalui sumber daya yang dikelompokkan di satu atau berbagai lokasi data center yang terdiri dari sejumlah server dengan mekanisme multi-tenant. Mekanisme multi-tenant ini memungkinkan sejumlah sumber daya komputasi tersebut digunakan secara bersama-sama oleh sejumlah pengguna, di mana sumber daya tersebut baik yang berbentuk fisik maupun virtual, dapat berbentuk fisik maupun virtual, dapat dialokasikan secara dinamis untuk kebutuhan pengguna/pelanggan sesuai permintaan. Dengan demikian, pelanggan tidak perlu tahu bagaimana dan darimana permintaan akan sumber daya komputasinya dipenuhi oleh penyedia layanan. Yang penting, setiap permintaan dapat dipenuhi. Sumber daya komputasi ini meliputi media penyimpanan, memory, processor, pita jaringan dan mesin virtual. 4. Rapid elasticity Kapasitas komputasi yang disediakan dapat secara elastis dan cepat disediakan, baik itu dalam bentuk penambahan ataupun pengurangan kapasitas yang diperlukan. Untuk pelanggan sendiri, dengan kemampuan ini seolah-olah

11 kapasitas yang tersedia tak terbatas besarnya, dan dapat "dibeli" kapan saja dengan jumlah berapa saja. 5. Measured services Sumber daya Cloud yang tersedia harus dapat diatur dan di optimasi penggunaannya, dengan suatu sistem pengukuran yang dapat mengukur penggunaan dari setiap sumber daya komputasi yang digunakan (penyimpanan, memory, processor, lebar pita, aktivitas user, dan lainnya). Dengan demikian, jumlah sumberdaya yang digunakan dapat secara transparan diukur yang akan menjadi dasar bagi user untuk membayar biaya penggunaan layanan. 2.4. Load Balancing Load Balancing adalah teknik untuk mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara seimbang, agar trafik dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap (response time) dan menghindari overload pada salah satu jalur koneksi. Proses ini mampu mengurangi beban kerja setiap server, serta memungkinkan server untuk menggunakan bandwith yang tersedia secara lebih efektif. Load Balancing digunakan pada saat sebuah server telah memiliki jumlah user yang telah melebihi maksimal kapasitasnya. Load Balancing juga mendistribusikan beban kerja secara merata di dua atau lebih komputer, link jaringan, CPU, hard drive, atau sumber daya lainnya, untuk mendapatkan pemanfaatan sumber daya yang optimal.

12 Gambar 2.2. Skema Load Balancing ( Sumber : Gerrits et al, 2012 ) Terdapat beberapa algoritma pada Load Balancing, antara lain : Round Robin (RR). Algoritma Round Robin merupakan algoritma yang paling sederhana dan banyak digunakan oleh perangkat Load Balancing. Algoritma ini membagi beban secara bergiliran dan berurutan dari satu server ke server lain sehingga membentuk putaran. Least Connection (LC). Algoritma Least Connection akan melakukan pembagian beban berdasarkan banyaknya koneksi yang sedang dilayani oleh sebuah server. Server dengan pelayanan koneksi yang paling sedikit akan diberikan beban yang berikutnya akan masuk. Weighted Round Robin (WRR). Algoritma WRR memperlakukan real server dengan kapasitas proses yang berbeda. Masing masing real server dapat diberi bobot bilangan integer yang menunjukkan kapasitas proses, dimana dapat diinisialisasikan bobot awal adalah 1. 2.5. Algoritma Weighted Least Connection (WLC) Algoritma Weighted Least Connection (WLC) merupakan kumpulan dari beberapa algoritma Least Connection dimana dapat ditentukan bobot kinerja dari masing-masing server. Server dengan bobot yang lebih tinggi akan menerima presentase yang lebih besar dari koneksi-koneksi aktif pada suatu waktu. Bobot pada masing-masing server dapat ditentukan dan koneksi jaringan dijadwalkan pada masing-masing real server dengan presentase jumlah koneksi aktif untuk masing masing server sesuai dengan perbandingan servernya. Bobot default adalah 1. (ZHOU et al, 2013). Algoritma WLC ini sangat baik digunakan untuk server yang memiliki kapasitas yang berbeda. Sebagai contoh algoritma ini, ketika terdapat 2 buah server yang memiliki jumlah koneksi aktif yang sama namun salah satu server memiliki kapasitas yang lebih besar dibandingkan yang lain. Pada saat ada

13 koneksi aktif baru yang akan masuk, sistem akan melakukan penghitungan presentase untuk kapasitas dari masing masing server untuk kemudian menggunakan presentase tersebut untuk meneruskan koneksi aktif / request tersebut menuju server yang memiliki kapasitas lebih besar. 2.6. Linux Virtual Server Linux Virtual Server atau disingkat LVS merupakan suatu teknologi clustering yang dapat digunakan untuk membangun suatu server dengan menggunakan kumpulan dari beberapa buah real server. LVS merupakan implementasi dari komputer cluster dengan metode High Availability. Linux Virtual Server dapat mengarahkan koneksi jaringan ke beberapa server yang memiliki beban kerja masing masing, yang dapat digunakan untuk membangun layanan berskala tinggi dan sangat tersedia. Linux Virtual Server mengarahkan koneksi jaringan ke server yang berbeda sesuai dengan algoritma penjadwalan dan membuat layanan paralel cluster untuk muncul sebagai layanan virtual pada satu alamat IP. Gambar 2.8. Arsitektur Linux Virtual Server Sumber www.linuxvirtualserver.org

14 Aplikasi pengunjung berinteraksi dengan cluster seolah-olah itu server tunggal. Pengunjung tidak terpengaruh oleh interaksi dengan cluster dan tidak perlu modifikasi. Skalabilitas dicapai dengan transparan menambahkan atau menghapus sebuah node di cluster. High availability disediakan dengan mendeteksi kegagalan node atau daemon dan konfigurasi ulang sistem yang tepat. 2.7. Apache Web Server Apache adalah sebuah nama web server yang bertanggung jawab pada request-response HTTP dan logging informasi secara detail (kegunaan basicnya). Selain itu, Apache juga diartikan sebagai suatu web server yang kompak, modular, mengikuti standar protokol HTTP, dan tentu saja sangat digemari. Kesimpulan ini bisa didapatkan dari jumlah pengguna yang jauh melebihi para pesaingnya. Sesuai hasil survei yang dilakukan oleh Netcraft, bulan Januari 2005 saja jumlahnya tidak kurang dari 68% pangsa web server yang berjalan di Internet. Ini berarti jika semua web server selain Apache digabung, masih belum bisa mengalahkan jumlah Apache. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigurasi, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi lebih mudah. Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation. Saat ini ada dua versi Apache yang bisa dipakai untuk server produksi, yaitu versi mayor 2.0 dan versi mayor 1.3. Apache merupakan webserver yang paling banyak digunakan saat ini. Hal ini disebabkan oleh beberapa sebab, di antaranya adalah karena sifatnya yang open source dan mudahnya mengkostumisasikannya. diantaranya dengan menambahkan support secure protocol melalui ssl dan konektifitasnya dengan database server melalui bahasa scripting PHP.

15 2.8. QoS ( Quality of services ) QoS adalah kemampuan suatu jaringan untuk menyediakan layanan yang baik dengan menyediakan kapasitas jaringan, mengatasi jitter dan delay (waktu tunda). QoS dirancang untuk membantu pengguna menjadi lebih produktif dengan memastikan bahwa pengguna mendapatkan kinerja yang handal dari aplikasi-aplikasi berbasis jaringan. QoS mengacu pada kemampuan jaringan untuk menyediakan layanan yang lebih baik pada trafik jaringan tertentu melalui teknologi yang berbeda-beda. QoS merupakan suatu tantangan yang besar dalam jaringan berbasis IP dan internet secara. Teknologi QoS adalah teknologi yang memungkinkan administrator jaringan untuk dapat menangani berbagai efek akibat terjadinya konjesti pada lalu lintas aliran paket dari berbagai layanan. Penanganan QoS dilakukan dengan memanfaatkan sumber daya jaringan secara optimal, dibandingkan dengan menambah kapasitas fisik jaringan tersebut. QoS bertujuan untuk menyediakan kualitas layanan yang berbeda-beda untuk beragam kebutuhan akan layanan di dalam jaringan IP, sebagai contoh untuk menyediakan bandwidth yang khusus, menurunkan hilangnya paket-paket, menurunkan waktu tunda dan variasi waktu tunda di dalam proses transmisinya. QoS menawarkan kemampuan untuk mendefinisikan atribut-atribut layanan yang disediakan, baik secara kualitatif maupun kuantitatif. 2.8.1. Throughput Throughput adalah besar ukuran data yang berhasil diterima pada proses transmisi data dalam rentang waktu tertentu. Biasanya Throughput selalu dikaitkan dengan bandwidth, namun Throughput selalu lebih kecil dari bandwidth (Baskoro P.A, dkk, 2011 ). Throughput walau pun memiliki satuan dan rumus yang sama dengan bandwidth, tetapi Throughput lebih pada menggambarkan bandwidth yang sebenarnya (aktual) pada suatu waktu tertentu dan pada kondisi dan jaringan internet tertentu yang digunakan untuk mendownload suatu file dengan ukuran tertentu. Rumus untuk menghitung

16 Throughput, adalah merupakan hasil dari paket yang diterima (byte) dibagi lama pengamatan (s) dimana menghasilkan nilai bernilai Bit per Second (Bps). 2.8.2. Response time Response time adalah rentang waktu antara seorang user memasukkan perintah ke sistem hingga sistem memberikan jawaban dengan menampilkannya ke display (monitor) (Stallings, 2004). Dalam pengukuran Response time, waktu yang diukur adalah dari user mulai mengklik tombol load pada web browser hingga halaman situs selesai dibuka (downloaded) seluruhnya. 2.9. Apache J-Meter Stress testing adalah pengujian atau testing guna mengetahui dan mengukur kemampuan software dalam menangani suatu kondisi yang tidak normal dari sisi volume ataupun kuantitas. Misalkan untuk mengetahui dan mengukur kekuatan sebuah website dalam menangani pengunjung dalam satu waktu secara bersamaan. Secara umum Apache JMeter adalah sebuah tools yang memiliki fungsi sebagai berikut : Sebuah Tool atau alat yang digunakan untuk melakukan performace test pada sebuah software. Apache JMeter dapat memberikan request dalam jumlah yang sangat banyak secara bersamaan dalam satu waktu pada server Apache JMeter dapat memberikan Analisa dan Laporan dari hasil pengujian Berikut ini adalah requirement yang dibutuhkan untuk menjalankan Apache JMeter, yaitu : JRE (Java Runtime Enviroment) >= 1.6 Operating Systems Unix (Solaris, Linux, etc), Windows (98, NT, XP, etc)

17 2.10. HTTPerf HTTPerf adalah sebuah tool untuk mendapatkan performansi dari sebuah web server. HTTPerf sangat fleksibel untuk menghasilkan berbagai macam HTTP request untuk mendapatkan performansi dari sebuah web server. Fokus dari HTTPerf adalah tidak mengimplementasikan sebuah benchmark saja, tetapi juga memberikan tool yang robust dan memiliki performansi tinggi untuk memfasilitasi baik di level mikro atau makro dalam sebuah benchmark. Tool HTTPerf juga telah support HTTP/1.1 dan protokol SSL.