• Tidak ada hasil yang ditemukan

TA : Analisis Performance Cloud Computing Berbasis Platform as a Service (PaaS) Dengan Eucalyptus System dan Openstack Pada Ubuntu Server.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Analisis Performance Cloud Computing Berbasis Platform as a Service (PaaS) Dengan Eucalyptus System dan Openstack Pada Ubuntu Server."

Copied!
154
0
0

Teks penuh

(1)

ANALISIS PERFORMANCE CLOUD COMPUTING BERBASIS

PLATFORM AS A SERVICE (PaaS) DENGAN EUCALYPTUS SYSTEM

DAN OPENSTACK PADA UBUNTU SERVER

TUGAS AKHIR

Nama : Moh. Supriadi

NIM : 08.41020.0006

Nama : Achmad Iffan Marzuq

NIM : 08.41020.0014

Program : S1 (Strata Satu)

Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER

SURABAYA

2013

STIKOM

(2)

DAN OPEN STACK PADA UBUNTU SERVER

TUGAS AKHIR

Diajukan sebagai salah satu syarat untuk menyelesaikan

Program Sarjana Komputer

Oleh:

Nama : Moh. Supriadi

NIM : 08.41020.0006

Nama : Achmad Iffan Marzuq

NIM : 08.41020.0014 Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA

2013

STIKOM

(3)

xi DAFTAR ISI

Halaman

ABSTRAK ... vii

KATA PENGANTAR ... ix

DAFTAR ISI ... xi

DAFTAR TABEL ... xiv

DAFTAR GAMBAR ... xv

DAFTAR LAMPIRAN ... xvii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 3

1.3 Pembatasan Masalah ... 4

1.4 Tujuan ... 4

1.5 Kontribusi ... 4

1.6 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 7

2.1 CloudComputing ... 7

2.2 PlatformasaService (PaaS) ... 8

2.3 Linux ... 9

2.4 UbuntuEnterpriceCloud (UEC) ... 10

2.5 Eucalyptus ... 10

2.5.1 NodeController (NC)... 11

2.5.2 ClusterController (CC) ... 12

2.5.3 WalrusStorageController (WS3)... 13

STIKOM

(4)

xii

2.5.4 StorageController (SC) ... 13

2.5.5 CloudController (CLC) ... 14

2.6 OpenStack ... 14

2.6.1 OpenStack Compute Service (Nova) ... 15

2.6.2 OpenStack Imaging Service (Glance) ... 18

2.6.3 OpenStack Storage Service (Swift) ... 19

2.6.4 OpenStackIdentityService (Keystone) ... 21

2.6.5 OpenStackUIService (Horizon) ... 23

2.7 PhoronixTestSuite ... 24

2.8 Uji Statistika... 26

BAB III METODE PENELITIAN ... 28

3.1 Model Penelitian ... 28

3.2 Perancangan Cloud System ... 29

3.2.1 Perancangan EucalyptusCloud ... 31

3.2.2 Perancangan OpenStackCloud... 45

3.3 Data Performance ... 84

3.3.1 Pengambilan Data Performance ... 86

3.4 Analisa Statistika ... 94

BAB IV HASIL DAN PENGUJIAN ... 96

4.1 Pengujian Terhadap EucalyptusCloud ... 96

4.1.1 Pengujian Konektifitas Pada Server ... 96

4.1.2 Pengujian Eucalyptus Berjalan Dengan Baik ... 96

4.1.3 Pengujian Terhadap Console Dari CloudClient Yang Berjalan 97 4.1.4 Memastikan Apakah Rule Berjalan Dengan Baik ... 98

STIKOM

(5)

xiii

4.1.5 Pengujian Terhadap Image ... 99

4.1.6 Pengujian Terhadap Ketersediaan Instance ... 100

4.1.7 Pengujian Terhadap Instance Yang Sedang Berjalan ... 101

4.1.8 Pengujian Terhadap Range Untuk Client ... 101

4.2 Pengujian OpenStackCloud ... 102

4.2.1 Pengujian Terhadap CloudController ... 102

4.2.2 Pengujian Terhadap NodeController ... 107

4.2.3 Pengujian Terhadap CloudClient (Instance) ... 109

4.3 Benchmarking Pada Instance Eucalyptus ... 109

4.3.1 BenchmarkingMemory Pada Instance Eucalyptus ... 110

4.3.2 BenchmarkingDisk Pada InstanceEucalyptus ... 110

4.3.3 BenchmarkingProcessor Terhadap InstanceEucalyptus ... 111

4.4 Benchmarking Pada Instance OpenStack... 112

4.4.1 BenchmarkingMemory Pada Instance OpenStack ... 112

4.4.2 BenchmarkingDisk Pada InstanceOpenStack ... 113

4.4.3 BenchmarkingProcessor Terhadap InstanceOpenStack... 114

4.5 Perhitungan Statistika ... 115

4.5.1 Perhitungan Statistika Data Performance Pada Memory ... 116

4.5.2 Perhitungan Statistika Data Performance Pada Disk ... 125

4.5.3 Perhitungan Statistika Data Performance Pada Processor ... 134

BAB V PENUTUP ... 139

5.1 Kesimpulan ... 139

5.2 Saran ... 142

DAFTAR PUSTAKA ... 143

STIKOM

(6)

xiv

DAFTAR TABEL

Halaman

Tabel 2.1 Uji Variansi ... 26

Tabel 2.2 Hipotesis Uji Rata-Rata Bila Data Homogen ... 27

Tabel 2.3 Hipotesis Uji Rata-Rata Bila Data Heterogen ... 27

Tabel 4.1 Hasil BenchmarkingMemory Pada InstanceEucalyptus (MB/s) .. 110

Tabel 4.2 Hasil BenchmarkingDisk Pada InstanceEucalyptus (MB/s) ... 111

Tabel 4.3 Hasil BenchmarkingProcessor Pada InstanceEucalyptus ... 112

Tabel 4.4 Hasil BenchmarkingMemory Pada InstanceOpenStack (MB/s)... 113

Tabel 4.5 Hasil BenchmarkingDisk Pada InstanceOpenStack (MB/s)... 114

Tabel 4.6 Hasil BenchmarkingProcessor Pada InstanceOpenStack ... 115

Tabel 4.7 Perhitungan Data PerformanceIntegerEucalyptus ... 117

Tabel 4.8 Perhitungan Data PerformanceIntegerOpenStack ... 118

Tabel 4.9 Perhitungan Data PerformanceFloatingPointEucalyptus ... 121

Tabel 4.10 Perhitungan Data PerformanceFloatingPointOpenStack ... 122

Tabel 4.11 Perhitungan Data PerformanceReadPerformanceEucalyptus ... 126

Tabel 4.12 Perhitungan Data PerformanceReadPerformanceOpenStack ... 127

Tabel 4.13 Perhitungan Data PerformanceWritePerformanceEucalyptus ... 130

Tabel 4.14 Perhitungan Data PerformanceWritePerformanceOpenStack ... 131

Tabel 4.15 Perhitungan Data PerformanceProcessorEucalyptus ... 135

Tabel 4.16 Perhitungan Data PerformanceProcessorOpenStack ... 136

STIKOM

(7)

xv

DAFTAR GAMBAR

Halaman

Gambar 2.1 KeystoneIdentityManager ... 22

Gambar 3.1 Blok Diagram Secara Umum... 28

Gambar 3.2 Topologi Jaringan PrivateCloud ... 30

Gambar 3.3 Diagram Blok OpenStack Secara Umum ... 31

Gambar 3.4 Siklus InstanceEucalyptus ... 43

Gambar 3.5 Diagram Blok OpenStack Secara Umum ... 45

Gambar 3.6 Siklus InstanceOpenStack ... 80

Gambar 3.7 KeypairList ... 81

Gambar 3.8 Diagram Blok Pengujian Performance Sistem ... 84

Gambar 3.9 Penginstalan Modul Ramspeed... 87

Gambar 3.10 Menjalankan Modul Ramspeed ... 87

Gambar 3.11 Pemilihan Variabel BenchmarkMemory... 87

Gambar 3.12 Hasil BenchmarkMemory Variabel Integer ... 88

Gambar 3.13 Hasil BenchmarkMemory Variabel Floating Point ... 88

Gambar 3.14 Hasil WebBenchmarkMemory Variabel Integer ... 88

Gambar 3.15 Hasil WebBenchmarkMemory Variabel Floating Point ... 89

Gambar 3.16 Penginstalan Modul Iozone ... 89

Gambar 3.17 Menjalankan Modul Iozone ... 90

Gambar 3.18 Pemilihan Variabel BenchmarkDisk... 90

Gambar 3.19 Hasil BenchmarkDisk Variabel Write Performance ... 91

Gambar 3.20 Hasil BenchmarkDisk Variabel Read Performance ... 91

Gambar 3.21 Hasil WebBenchmarkDisk Variabel Write Performance ... 92

STIKOM

(8)

xvi

Gambar 3.22 Hasil Web BenchmarkDisk Variabel Read Performance ... 92

Gambar 3.23 Penginstalan Modul C-Ray ... 93

Gambar 3.24 Menjalankan Modul C-Ray ... 93

Gambar 3.25 Hasil BenchmarkProcessor ... 93

Gambar 3.26 Hasil WebBenchmarkProcessor ... 94

STIKOM

(9)

xvii

DAFTAR LAMPIRAN

Halaman

Lampiran 1. Instalasi UbuntuServer ... 144

Lampiran 2. Script Konfigurasi Jaringan Pada CloudController ... 161

Lampiran 3. ScriptNetwork Time Protocol (NTP) Pada CloudController .. 161

Lampiran 4. Script Konfigurasi Jaringan Pada NodeController ... 161

Lampiran 5. ScriptNetwork Time Protocol (NTP) Pada NodeController .... 161

Lampiran 6. Script Pada Konfigurasi eucalyptus.conf ... 161

Lampiran 7. Script Konfigurasi rc.local pada Instance ... 162

Lampiran 8. Script Pada Konfigurasi nova.conf ... 163

Lampiran 9. Script Konfigurasi rsyncd.conf Pada OpenStack ... 164

Lampiran 10. Script Konfigurasi Swift Pada OpenStack ... 164

Lampiran 11. Script Konfigurasi ProxyServer Pada Swift ... 165

Lampiran 12. Script Konfigurasi AccountServer Pada Swift ... 166

Lampiran 13. Script Konfigurasi account-server/1.conf Pada Swift ... 166

Lampiran 14. Script Konfigurasi ContainerServer Pada Swift ... 166

Lampiran 15. Script Konfigurasi container-server/1.conf Pada Swift ... 167

Lampiran 16. Script Konfigurasi ObjectServer Pada Swift ... 167

Lampiran 17. Script Konfigurasi object-server/1.conf Pada Swift... 167

Lampiran 18. Script Konfigurasi object-expirer.conf Pada Swift ... 168

Lampiran 19. Biodata Penulis ... 169

STIKOM

(10)

vii

Perkembangan cloud computing saat ini semakin pesat, semakin banyak

orang yang mengembangkan cloud computing sehingga banyak penyedia jasa

cloud computing yang bermunculan. Dengan keadaan tersebut banyak pecinta

cloud computing ingin mengembangkan dan mendevelopt cloud mereka sendiri,

namun dengan banyaknya pilihan cloud computing yang telah tersedia semakin

membingungkan para developer cloud untuk menentukan cloud mana yang akan

mereka terapkan pada private cloud mereka.

Ubuntu adalah salah satu penyedia layanan cloud computing dari sekian

banyak penyedia cloud computing, private cloud yang marak digunakan para

developer yang direlease oleh ubuntu adalah eucalyptus dan openstack, kedua

cloud tersebut banyak digunakan karena banyak penggunanya sehingga ketika ada

masalah pada saat instalasi kedua cloud tersebut banyak yang akan membantu

untuk mengatasinya.

Dari fakta diatas menginspirasi penulis untuk melakukan implementasi

private cloud computing eucalyptus dan openstack serta melakukan benchmarking

dan uji statistika terhadap kedua cloud tersebut untuk mengetahui performance

dari kedua cloud tersebut.

Berdasarkan hasil analisa statistika terhadap pengujian performancememory

pada pemprosesan tipe data berupa integer menghasilkan T = 69.405 > 2.002, hal

ini dapat disimpulkan bahwa Eucalyptus lebih baik dari OpenStack. Bila

berdasarkan hasil analisa statistika terhadap pengujian performancememory pada

pemprosesan tipe data berupa floating point menghasilkan T = 32.316 > 2.042, hal

STIKOM

(11)

viii

ini dapat disimpulkan bahwa Eucalyptus lebih baik dari OpenStack. Bila

berdasarkan hasil analisa statistika terhadap pengujian read disk performance

menghasilkan T = 77.220 > 2.042, hal ini dapat disimpulkan bahwa OpenStack

lebih baik dari Eucalyptus. Bila berdasarkan hasil analisa statistika terhadap

pengujian write disk performance menghasilkan T = 107.195 > 2.042, hal ini

dapat disimpulkan bahwa Eucalyptus lebih baik dari OpenStack. Dan bila

berdasarkan hasil analisa statistika terhadap pengujian processor menghasilkan T

= 10191.407 > 2.002, hal ini dapat disimpulkan bahwa OpenStack lebih baik dari

Eucalyptus.

Keyword: analisis performance, cloud computing, platform as a servce,

eucalyptus, openstack

STIKOM

(12)

1 1.1 Latar Belakang Masalah

Perkembangan cloud computing akhir-akhir ini sangat pesat, banyak para

developer mengembangkan cloud mereka masing-masing, dengan perkembangan

cloud yang sangat cepat maka semakin banyak pula pilihan alternatif untuk

menggunakan cloud dari berbagai macam developer.

Dengan semakin banyaknya cloud yang tersedia maka hal ini menjadikan

para developer private cloud kebingunan untuk memilih cloud mana yang sesuai

dengan kebutuhan perusahaan mereka yang nantinya akan mereka gunakan

sebagai private cloud pada perusahaan tersebut.

Dari sekian banyak cloud developer ada beberapa developer cloud

computing diantaranya adalah ubuntu, microsoft azure, amazon, vmware dan

masih banyak yang lain, namun diantara sekian banyak cloud developer ubuntu

adalah salah satu cloud developer yang menyediakan private cloud secara gratis.

Beberapa product cloud computing dari ubuntu adalah eucalyptus dan

openstack dimana kedua cloud ini berbasis opensource yang dapat di-develop dan

dapat dikembangkan sendiri tanpa harus dikenai undang-undang copyright.

Selain itu para administrator dari private cloud sendiri sering kebingungan

untuk melakukan implementasi eucalyptus dan openstack sesuai dengan topologi

mereka karena perbedaan topologi akan mempengaruhi konfigurasi kedua cloud

tersebut, para administrator juga sering kali mengandalkan tutorial yang ada dari

internet, namun tak semua tutorial yang ada benar seratus persen, terkadang ada

STIKOM

(13)

2

juga tutorial yang malah menyesatkan dan semakin membuat bingung para

administrator.

Permintaan dari client yang bermacam-macam juga menjadi kendala untuk

membangun sebuah private cloud computing, permintaan tersebut diantaranya

adalah perbedaan perminataan RAM, harddisk, dan sistim operasi. Dari semua

keadaan diatas maka administrator membutuhkan data-data untuk mendukung

keputusan mereka tentang cloud mana yang paling sesuai untuk perusahaan

mereka.

RAM merupakan komponen pendukung kinerja prosesor. Semua data yang

akan diproses oleh prosesor akan ditampung terlebih dahulu di dalam RAM.

Dalam hal ini bisa kita anggap sebagai gudang penyimpanan utama pada suatu

pabrik. Dari paparan tersebut, memang belum terlihat pengaruh kecepatannya

terhadap kinerja, tapi kalau misalnya ternyata gudang penyimpanan utama

tersebut kapasitasnya tidak sebanding dengan kemampuan mesin pabrik, maka

kinerja mesin pabrik tidak akan optimal dikarenakan ada jeda waktu yang

diperlukan untuk menunggu pengisian kembali bahan ke dalam gudang. Hal yang

sama pun bisa terjadi pada komputer. Ketika kapasitas RAM kecil maka akan

membuat kinerja prosesor tidak maksimal dikarenakan ada jeda waktu untuk

menunggu data yang diperlukan tersedia di dalam RAM. (Rahman, 2012)

Harddisk merupakan salah satu hal yang berpengaruh pada performance

komputer. Fungsi harddisk sendiri sebagai tempat penyimpanan file atau

dokumen. Ketika komputer kita masih menggunakan harddisk yang sudah cukup

lama (tua), mungkin lebih dari 5 tahun, maka kinerja komputer bisa semakin

lambat dalam memproses sebuah file atau dokumen. Harddisk SATA normal

STIKOM

(14)

biasanya rata-rata akses read (baca) sekitar 70-90 MB/s. Jika misal rata-rata akses

harddisk dibawah 50 MB/s maka kinerja biasanya akan terasa lambat. Semakin

cepat rata-rata akses harddisk, maka semakin cepat pula kinerja komputer.

(Kusuma, 2012)

Prosesor merupakan bagian inti pemrosesan dalam suatu komputer. Semua

proses yang dilakukan oleh komputer pasti dilakukan oleh prosesor. Jika kita

mengambil contoh dalam suatu pabrik, maka prosesor ini bisa kita samakan

dengan mesin-mesin yang bekerja dalam pabrik tersebut. Semakin besar kapasitas

dan kemampuan mesin yang digunakan, semakin banyak produk yang dihasilkan

oleh pabrik tersebut. (Rahman, 2012)

Data-data tersebut meliputi cara kerja, instalasi dan konfigurasi, serta

kinerja dari private cloud tersebut, untuk meyakinkan administrator akan sebuah

kinerja cloud computing, maka data-data yang ada harus disertai alasan dan cara

penghitungan yang tepat agar nantinya keterangan yang didapat sesuai dengan

kebutuhan administrator.

1.2 Perumusan Masalah

Dari masalah diatas, dapat diambil rumusan masalah sebagai berikut :

1. Bagaimana mengimplementasi Eucalyptus sebagai private cloud berbasis

PaaS.

2. Bagaimana mengimplementasi Openstack sebagai private cloud berbasis

PaaS.

3. Bagaimana mengambil data performance dari kedua cloud.

4. Bagaimana melakukan analisa statistika untuk membandingkan kedua cloud

STIKOM

(15)

4

1.3 Pembatasan Masalah

1. Pengujian system hanya terbatas pada disk read/write, RAM, prosesor.

2. Pengambilan data menggunakan phoronix test suite sebagai benchmarking

tools.

3. Benchmarking dilakukan pada sisi instance.

1.4 Tujuan

Tujuan dari pembuatan Tugas Akhir ini yaitu sebagai berikut :

1. Mengimplementasi Eucalyptus sebagai private cloud berbasis PaaS.

2. Mengimplementasi Openstack sebagai private cloud berbasis PaaS.

3. Mengambil data performance dari kedua cloud.

4. Melakukan analisa statistika untuk membandingkan kedua cloud

1.5 Kontribusi

Dengan adanya data tentang perbandingan dari Eucalyptus dan Openstack

ini, diharapkan dapat memberikan gambaran kepada masyarakat tentang

bagaimana cara kerja cloud computing terutama pada Eucalyptus dan Openstack

serta membandingkan kinerja kedua cloud tersebut untuk mengetahui mana yang

paling baik untuk diaplikasikan kepada private cloud.

1.6 Sistematika Penulisan

Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai

berikut:

STIKOM

(16)

BAB I : PENDAHULUAN

Bab ini membahas tentang latar belakang masalah, perumusan

masalah, pembatasan masalah, tujuan penulisan laporan Tugas Akhir,

dan sistematika penulisan Tugas Akhir.

BAB II : LANDASAN TEORI

Bab ini membahas tentang berbagai macam teori yang mendukung

Tugas Akhir ini, hal tersebut meliputi Cloud Computing, Platform as

aService (PaaS), Linux, Ubuntu Enterprice Cloud (UEC), Eucalyptus,

OpenStack, PhoronixTestSuite, Analisis Statistika.

BAB III : METODE PENELITIAN

Bab ini membahas tentang blok diagram sistem, flowchart dari sistem,

bagaimana cara mengakses sistem, benchmarcking system, dan

pengumpulan data hasil uji coba terhadap ke-2 sistem.

BAB IV : HASIL DAN PEMBAHASAN

Bab ini berisi tentang kesimpulan dari seluruh aplikasi yang sudah

dibuat serta diberikan saran untuk pengembangan lebih lanjut dari

Tugas Akhir ini.

STIKOM

(17)

6

BAB V : PENUTUP

Pada bab ini dibahas mengenai kesimpulan dari sistem terkait dengan

tujuan dan permasalahan yang ada, serta saran untuk pengembangan

sistem di masa mendatang.

STIKOM

(18)

7 2.1 Cloud Computing

Cloud computing adalah sebuah arsitektur teknologi informasi yang dimana

sumber daya komputasi tersedia sebagai layanan yang dapat diakses melalui

internet (Sasono: 2011).

Cloud computing pada dasarnya adalah menggunakan internet-based service

untuk mendukung proses bisnis. Cloud service biasanya memiliki beberapa

karakteristik, diantaranya adalah sangat cepat di deploy, sehingga cepat berarti

instant untuk implementasi.

Teknologi cloud akan memberikan kontrak kepada user untuk service pada

3 tingkatan:

1. Infrastructure as a service, hal ini meliputi grid untuk virtualized server,

storage & network. Contohnya seperti amazon elastic compute cloud dan

simple storage service.

2. Platform as a service, hal ini memfokuskan pada aplikasi dimana dalam hal

ini memungkinkan developer untuk tidak memikirkan hardware dan tetap

fokus pada application developmentnya tanpa harus mengkhawatirkan

operating system, infrastructure scaling, load balancing dan lainya.

Contohnya yang telah mengimplementasikan ini adalah force.com dan

microsoft azure investment.

3. Software as a service, hal ini memfokuskan pada aplikasi dengan web-based

interface yang diakses melalui web service dan web 2.0. Contohnya adalah

STIKOM

(19)

8

google apps, salesforce.com dan social network application seperti

facebook.

2.2 Platform as a Service (PaaS)

Platform as a Service (PaaS) adalah hasil pengembangan dari layanan

Software as a Service (SaaS). Pada layanan SaaS, pengguna cloud hanya

menggunakan software aplikasi pada sisi penggunaan saja, sedangkan PaaS

adalah layanan dari provider cloud untuk digunakan oleh penggunanya dalam

pembuatan sekaligus hosting aplikasi yang akan digunakan sebagai SaaS

(Assagaf: 2011).

Dengan membuat (developing program) menggunakan layanan PaaS maka

distribusi perangkat lunak hasil developing tersebut di tempatkan di (hosting)

penyedia PaaS dan pembuatnya dapat mendistribusikan penggunaan fungsinya

melalui internet, bahkan bisa mengkomersilkan layanan penggunaannya sebagai

SaaS kepada pengguna lain (Assagaf: 2011).

Pada PaaS, kita membuat sendiri aplikasi software yang kita inginkan,

termasuk skema database yang diperlukan. Skema itu kemudian kita pasang

(deploy) di server-server milik penyedia jada PaaS. Penyedia jasa PaaS sendiri

menyediakan layanan berupa platform, mulai dari mengatur server-server mereka

secara virtualisasi sehingga sudah menjadi cluster sampai menyediakan sistem

operasi di atasnya. Alhasil, kita sebagai pengguna hanya perlu memasang aplikasi

yang kita buat di atasnya (Sasono: 2011).

STIKOM

(20)

2.3 Linux

Linux adalah nama yang diberikan kepada sistem operasi komputer bertipe

Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak

bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber

terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi,

digunakan dan didistribusikan kembali secara bebas oleh siapa saja.

Nama "Linux" berasal dari nama pembuatnya, yang diperkenalkan tahun

1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya

berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard

Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif

GNU/Linux.

Linux telah lama dikenal untuk penggunaannya di server, dan didukung

oleh perusahaan-perusahaan komputer ternama seperti Intel, Dell,

Hewlett-Packard, IBM, Novell, Oracle Corporation, Red Hat, dan Sun Microsystems.

Linux digunakan sebagai sistem operasi di berbagai macam jenis perangkat keras

komputer, termasuk komputer desktop, super komputer,dan sistem benam seperti

pembaca buku elektronik, sistem permainan video (PlayStation 2, PlayStation 3

dan XBox), telepon genggam dan router. Para pengamat teknologi informatika

beranggapan kesuksesan Linux dikarenakan Linux tidak bergantung kepada

vendor (vendor independence), biaya operasional yang rendah, dan kompatibilitas

yang tinggi dibandingkan versi UNIX tak bebas, serta faktor keamanan dan

kestabilannya yang tinggi dibandingkan dengan sistem operasi lainnya seperti

Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model

pengembangan perangkat lunak sumber terbuka (opensource software).

STIKOM

(21)

10

Sistem operasi Linux yang dikenal dengan istilah distribusi Linux (Linux

distribution) atau distro Linux umumnya sudah termasuk perangkat-perangkat

lunak pendukung seperti server web, bahasa pemrograman, basisdata, tampilan

desktop (desktop environment) seperti GNOME, KDE dan Xfce juga memiliki

paket aplikasi perkantoran (office suite) seperti OpenOffice.org, KOffice,

Abiword, GNU. (Wikipedia, 2011)

2.4 Ubuntu Enterprice Cloud (UEC)

UEC adalah tumpukan aplikasi dari Canonical yang disertakan dengan

Ubuntu Server Edition. UEC termasuk Eucalyptus bersama dengan sejumlah

perangkat lunak yang open source lainnya. UEC membuatnya sangat mudah

untuk menginstal dan menkonfigurasi cloud. Canonical juga menyediakan

dukungan teknis komersial untuk UEC.

2.5 Eucalyptus

Eucalyptus adalah perangkat lunak yang tersedia di bawah GPL (General

Puclic Licence) yang membantu dalam menciptakan dan mengelola private cloud

atau bahkan dapat mengakses cloud secara publik. Eucalyptus telah menjadi

sangat populer dan dipandang sebagai salah satu open source platform cloud

utama.

Nama Eucalyptus adalah singkatan dan berdiri untuk Elastic Utility

Computing Architecture for Linking Your Programs To Useful Systems yang

artinya arsitektur utility computing elastis untuk menghubungkan program anda

STIKOM

(22)

untuk sistem berguna. Sebuah deskripsi singkat dari periode ini dapat dibaca di

sini.

Eucalyptus memungkinkan penciptaan di lingkungan awan pribadi, dengan

tidak ada persyaratan untuk memperbarui peralatan infrastruktur organisasi TI

yang ada atau perlu untuk memperkenalkan perangkat keras khusus.

2.5.1 Node Controller (NC)

Node Controller adalah sebuah VT (Virtualization Technology) server yang

mampu menjalankan KVM (Kernel-based Virtual Machine) sebagai hypervisor.

eucalyptus otomatis menginstal KVM ketika pengguna memilih untuk menginstal

Node Controller. VM (Virtual Machine) berjalan pada hypervisor dan

dikendalikan oleh eucalyptus yang disebut instance. Eucalyptus mendukung

hypervisors lain seperti Xen selain KVM. Namun Canonical telah memilih KVM

sebagai pilihan hypervisor untuk UEC.

Node Controller berjalan pada setiap node dan mengontrol siklus hidup (life

cycle) dari instance yang berjalan pada node. Node Controller berinteraksi dengan

sistem operasi dan hypervisor yang berjalan pada Node di satu sisi dan Cluster

Controller di sisi lain.

Node Controller memerintahkan sistem operasi yang berjalan pada node

untuk menemukan physical resources dari node yang berupa jumlah core, ukuran

memori, ruang disk yang tersedia dan juga untuk mempelajari tentang keadaan

VM instance yang berjalan pada node dan menyebarkan data ini sampai dengan

CC.

STIKOM

(23)

12

Fungsi dari Node Controller adalah:

1. Pengumpulan data yang terkait dengan ketersediaan resource dan

pemanfaatan pada node dan pelaporan data ke CC

2. Manajemen siklus hidup (lifecycle) instance

2.5.2 Cluster Controller (CC)

Cluster Controller mengelola satu atau lebih Node Controller dan

menyebarkan / mengelola contoh pada mereka. Cluster Controller juga mengelola

jaringan untuk instance yang berjalan pada Nodes di bawah beberapa jenis mode

jaringan dari Eucalyptus.

Cluster Controller berkomunikasi dengan Cloud Controller (CLC) di satu

sisi dan Node Controller di sisi lain.

Fungsi dari Cluster Controller adalah:

1. Untuk menerima permintaan dari Cluster Controller untuk menyebarkan

instance.

2. Untuk memutuskan mana Node Controller yang digunakan untuk

menyebarkan instance

3. Untuk mengontrol jaringan virtual (virtual network) yang tersedia untuk

instance.

4. Untuk mengumpulkan informasi tentang Node Controller yang terdaftar

dengan instance dan melaporkannya kepada Cluster Controller

STIKOM

(24)

2.5.3 Walrus Storage Controller (WS3)

Walrus Storage Controller menyediakan layanan penyimpanan persisten

sederhana dengan menggunakan REST (Representational State Transfer) dan

SOAP (Simple Object Access Protocol) API yang kompatibel dengan API S3

(SimpleStorageService).

Fungsi dari Walrus Storage Controller adalah:

1. Menyimpan mesin image.

2. Menyimpan snapshot.

3. Menyimpan dan melayani file menggunakan S3 (Simple Storage Service)

API

Walrus Storage Controller harus dianggap sebagai suatu sistem

penyimpanan file sederhana.

2.5.4 Storage Controller (SC)

Storage Controller menyediakan penyimpanan blok persisten untuk

digunakan oleh instance. Hal ini mirip dengan EBS (Storage Blok elastis) layanan

dari AWS (Amazon Web Service).

Fungsi dari Storage Controller adalah:

1. Menciptakan perangkat EBS persisten.

2. Menyediakan penyimpanan blok atas AoE atau iSCSI (Internet Small

Computer System Interface) protokol untuk instance.

3. Memungkinkan penciptaan snapshot dari volume.

STIKOM

(25)

14

2.5.5 Cloud Controller (CLC)

Cloud Controller adalah front end untuk infrastruktur cloud keseluruhan.

Cloud Controller menyediakan antarmuka layanan web ke client tool di satu sisi

dan berinteraksi dengan seluruh komponen infrastruktur Eucalyptus di sisi lain.

Cloud Controller juga menyediakan antarmuka web untuk pengguna guna

mengelola aspek-aspek tertentu dari infrastruktur UEC.

Fungsi dari CloudController adalah:

1. Memonitor ketersediaan resource pada berbagai komponen infrastruktur

cloud, termasuk hypervisor node yang digunakan untuk benar-benar

ketentuan instance dan pengendali cluster yang mengelola nodehypervisor.

2. Resourcearbitrase

Memutuskan mana cluster yang akan digunakan untuk pengadaan instance

3. Pemantauan instance yang berjalan

Singkatnya Cloud Controller memiliki pengetahuan yang komprehensif

tentang ketersediaan dan penggunaan resource di cloud dan keadaan cloud.

2.6 OpenStack

OpenStack adalah teknologi cloud computing yang menyediakan sistem

operasi cloud untuk public dan private cloud di bawah Apache License. Saat ini

telah didukung oleh lebih dari 60 company yang berkontribusi untuk

mengembangkan teknologi ini.

OpenStack ini adalah sebuah kolaborasi global pengembang dan teknologi

komputasi awan yang memproduksi platform cloud computing untuk public dan

private cloud.

STIKOM

(26)

Proyek ini bertujuan untuk memberikan solusi ke semua jenis awan dengan

menjadi sederhana untuk diimplementasikan, kebutuhan skala besar, dan banyak

fitur.

Teknologi ini terdiri dari serangkaian proyek yang saling terkait dengan

memberikan berbagai komponen untuk solusi infrastruktur awan.

2.6.1 OpenStack Compute Service (Nova)

Open souce Software yang di desain untuk me-manage jaringan-jaringan

skala besar, virtual mesin serta menciptakan platform yang scalable untuk

cloud-computing.

Computing Fabric controller Semua kegiatan yang diperlukan untuk

mendukung siklus hidup dari instance dalam OpenStack cloud yang ditangani

oleh Nova. Hal ini membuat Nova sebagai Platform Manajemen yang mengelola

sumber daya komputasi, jaringan, otorisasi, dan kebutuhan skalabilitas dari

OpenStack cloud. Namun, Nova tidak menyediakan kemampuan virtualisasi

dengan sendirinya, melainkan menggunakan API Libvirt untuk berinteraksi

dengan didukung hypervisors. Nova memperlihatkan semua kemampuannya

melalui API layanan web yang kompatibel dengan API EC2 dari Amazon Web

Services.

Fungsi dan Fitur dari OpenStackCompute adalah sebagai berikut:

1. Mengelola siklus hidup (life cycle) dari instance.

2. Mengelola compute resource

3. Jaringan dan Otorisasi

4. REST (Representational State Transfer) berbasis API

STIKOM

(27)

16

5. Komunikasi asynchronous yang konsisten

6. Hypervisor agnostik: dukungan untuk Xen, XenServer / XCP, KVM, UML,

VMware vSphere dan Hyper-V

Komponen utama dari OpenStackCompute adalah sebagai berikut:

1. API Server (nova-api)

Server API menyediakan sebuah interface bagi dunia luar untuk berinteraksi

dengan infrastruktur cloud. API server adalah satu-satunya komponen yang

memungkinkan dunia luar untuk mengelola infrastruktur. Manajemen dapat

melakukan layanan web melalui panggilan menggunakan EC2 API. Server API

kemudian dapat berkomunikasi dengan komponen yang relevan dari infrastruktur

cloud melalui Antrian Pesan (MessageQueue). Sebagai alternatif untuk EC2 API,

OpenStack juga menyediakan API asli yang disebut "OpenStack API".

2. MessageQueue (rabbit-mqserver)

OpenStack berkomunikasi di antara mereka sendiri menggunakan antrian

pesan (Message Queue) melalui AMQP (Advanced Message Queue Protocol).

Nova menggunakan panggilan asynchronous untuk merespon permintaan, dengan

panggilan yang kembali akan memicu sekali respon diterima. Karena komunikasi

asynchronous digunakan, pengguna tidak akan terlalu lama dalam keadaan

menunggu. Ini berlaku efektif sejak banyak tindakan yang diharapkan oleh API

panggilan seperti peluncuran sebuah contoh atau meng-upload gambar yang

memakan waktu.

3. ComputeWorkers (nova-compute)

Compute workers berurusan dengan siklus hidup manajemen instance.

Mereka menerima permintaan untuk manajemen siklus hidup instance melalui

STIKOM

(28)

Message Queue dan melaksanakan operasi. Ada beberapa Compute workers

dalam penyebaran awan produksi yang khas. instance ditempatkan pada salah satu

Compute workers tersedia berdasarkan algoritma penjadwalan yang digunakan.

4. NetworkController (nova-network)

Network controller berkaitan dengan konfigurasi jaringan dari mesin host.

Ia melakukan operasi seperti mengalokasikan alamat IP, mengkonfigurasi VLAN

untuk proyek-proyek, pelaksanaan security groups dan mengkonfigurasi jaringan

untuk computenodes.

5. VolumeWorker (nova-volume)

Volume worker digunakan untuk pengelolaan volume instance berbasis

LVM (Logical Volume Manager). Volumeworker melakukan fungsi volume yang

terkait seperti penciptaan, penghapusan, melampirkan volume ke instance, dan

memisahkan volume dari instance. Volume menyediakan cara untuk menyediakan

penyimpanan persisten untuk instance, sebagai partisi root adalah non-persisten

dan setiap perubahan yang dibuat itu akan hilang ketika instance dihentikan.

Ketika volume terlepas dari instance atau ketika sebuah contoh, dimana volume

terpasang, dihentikan, itu mempertahankan data yang tersimpan di dalamnya.

Data ini dapat diakses dengan kembali melampirkan volume ke instance yang

sama atau dengan melampirkan ke instance lainnya.

Data penting dalam instance harus selalu ditulis untuk volume, sehingga

dapat diakses nantinya. Hal ini biasanya berlaku untuk kebutuhan penyimpanan

databaseserver dll.

STIKOM

(29)

18

6. Scheduler (nova-scheduler)

The scheduler memetakan nova-API yang dipanggi untuk komponen

OpenStack yang sesuai. Ini berjalan sebagai daemon bernama nova-scheduler dan

mengambil compute server dari sumber daya yang tersedia tergantung pada

algoritma penjadwalan di tempat. Scheduler dapat mendasarkan keputusan pada

berbagai faktor seperti beban, memori, jarak fisik dari zona ketersediaan

(availability zone), CPU arsitektur, dll. nova scheduler menerapkan arsitektur

pluggable.

Saat ini nova-scheduler mengimplementasikan algoritma penjadwalan

beberapa dasar:

a. Change: Dalam metode ini, compute host dipilih secara acak di seluruh

availabilityzone.

b. Availabilityzone: Serupa dengan change, tapi computehost tersebut dipilih

secara acak dari dalam Availabilityzone tertentu.

c. Simple: Dalam metode ini, host memiliki beban yang paling sehingga dipilih

untuk menjalankan instance. Informasi beban dapat diambil dari

penyeimbang beban (loadbalancer).

2.6.2 OpenStack Imaging Service (Glance)

OpenStack Imaging Service adalah sebuah pencarian dan pengambilan

sistem untuk mesin virtual gambar (virtual machine images). Hal ini dapat

dikonfigurasi untuk menggunakan salah satu dari backends penyimpanan (storage

backends) berikut:

1. Localfilesystem (default)

STIKOM

(30)

2. OpenStackObjectStore untuk menyimpan gambar

3. S3 (SimpleStorageService) penyimpanan langsung

4. S3 (Simple Storage Service) penyimpanan dengan obyek penyimpanan

sebagai perantara untuk akses S3.

5. HTTP (read-only)

OpenStack Imaging Service adalah salah satu produk dari OpenStack yang

digunakan untuk layanan virtual disk images.

Fungsi dan Fitur dari OpenStackCompute adalah sebagai berikut:

1. Menyediakan layanan image.

Kompunen utama dari OpenStackCompute adalah sebagai berikut:

1. Glance-control

2. Glance-registry

2.6.3 OpenStack Storage Service (Swift)

Swift mampu menyimpan miliaran objek yang didistribusikan di seluruh

node. Swift sudah built-in sistem redundansi dan manajemen failover dan

mempunyai kemampuan untuk mengarsipkan dan media streaming. Hal ini sangat

scalable baik dari segi ukuran (several petabyte) dan kapasitas (number of

objects).

Fungsi dan Fitur dari Swift adalah sebagai berikut:

1. Penyimpanan objek berjumlah besar (banyak).

2. Penyimpanan objek berukuran besar.

3. Data Redundansi.

4. Arsip kemampuan

STIKOM

(31)

20

Bekerja dengan dataset besar.

5. Data container untuk mesin virtual dan aplikasi cloud.

6. Kemampuan media streaming.

7. Keamanan penyimpanan objek.

8. Backup dan arsip.

9. Skalabilitas yang ektrim.

Komponen utama dari Swift adalah sebagai berikut:

1. Swift Proxy Server

Para konsumen berinteraksi dengan Swift setup melalui proxy server yang

menggunakan API Swift. Proxy server bertindak sebagai gatekeeper dan

menerima permintaan dari dunia. Proxyserver akan melihat lokasi yang tepat dan

me-route permintaan kepada mereka.

Proxy server juga menangani kegagalan dari entitas dengan me-routing

permintaan kembali untuk entitas failover (handoffentities).

2. SwiftObjectServer

Object server bertanggung jawab untuk menangani penyimpanan,

pengambilan dan penghapusan objek yang tersimpan dalam penyimpanan lokal.

Obyek biasanya berupa file biner yang disimpan dalam filesystem dengan

metadata yang terkandung sebagai atribut file yang diperpanjang (xattr).

3. SwiftContainer Server

Container server mendaftarkan objek dalam sebuah container. Daftar yang

disimpan dijadikan sebagai file SQLite. Container server juga melacak statistik

seperti jumlah objek yang terkandung dan ukuran penyimpanan yang ditempati

oleh container tersebut.

STIKOM

(32)

4. SwiftAccount Server

Account server mendaftarkan container sama seperti container server

mendaftarkan objek.

5. The RING

RING berisi informasi tentang lokasi fisik dari objek-objek yang tersimpan

di dalam Swift. Ini adalah representasi virtual pemetaan nama entitas untuk

lokasi nyata fisik mereka. Hal ini sejalan dengan layanan pengindeksan

yang digunakan untuk berbagai proses pencarian dan menemukan lokasi

fisik sebenarnya dari entitas dalam cluster.

2.6.4 OpenStack Identity Service (Keystone)

Keystone menyediakan layanan identitas dan akses kebijakan untuk semua

komponen dalam keluarga OpenStack. Keystone menerapkan itu di REST-nya

sendiri yang berbasis API (Identity API). Keystone menyediakan otentikasi dan

otorisasi untuk semua komponen OpenStack termasuk (namun tidak terbatas

pada) Swift, Glance, Nova. Otentikasi memverifikasi bahwa sebuah permintaan itu

sebenarnya berasal dari siapa yang mengakatakan itu tidak. Otorisasi akan

memverifikasi apakah pengguna yang terotentikasi memiliki akses ke layanannya

yang dia minta. Pada Gambar 2.1 dapat dilihat Keystone Manager Indentity.

STIKOM

(33)

22

Gambar 2.1 KeystoneIdentityManager

Keystone menyediakan dua cara otentikasi. Salah satunya adalah username /

password dan yang lainnya adalah token. Selain itu, keystone menyediakan

layanan-layanan berikut:

1. Token Service (yang membawa informasi mengenai otorisasi pengguna

yang terotentikasi).

2. CatalogService (yang berisi daftar layanan yang tersedia di usersdisposal).

3. PolicyService (keystone mengelola akses ke layanan tertentu oleh pengguna

atau kelompok tertentu).

Komponen utama dari identityserviceadalah sebagai berikut:

1. Endpoint

Setiap layanan openstack (Nova, Swift, Glance) berjalan pada port khusus

dan pada URL khusus (host).

2. Regions

Sebuah daerah yang mendefinisikan lokasi fisik khusus di dalam pusat data.

Dalam mengkonfigurasi cloud, sebagian besar, jika tidak semua layanan

didistribusikan di seluruh pusat data / server.

STIKOM

(34)

3. User

Sebuah keystonte telah diotentikasi oleh user.

4. Services

Setiap komponen yang sedang terhubung ke atau yang diberikan melalui

keystone bisa disebut layanan. Sebagai contoh, kita dapat memanggil Glance

melalui layanan keystone.

5. Role

Dalam rangka mempertahankan batasan seperti pengguna tertentu dapat

melakukan sesuatu di dalam infrastruktur cloud, adalah penting untuk memiliki

peran terkait.

6. Tenant

Tenant adalah sebuah proyek dengan semua layanan endpoint dan role yang

berhubungan dengan pengguna yang merupakan anggota dari bahwa tenant tertentu

2.6.5 OpenStack UI Service (Horizon)

Horizon dashboard berbasis web dapat digunakan untuk mengelola /

mengatur layanan OpenStack. Hal ini dapat digunakan untuk mengelola instances

dan images, membuat keypairs, melampirkan volume ke instance, memanipulasi

Swift container dll. Selain itu, dashboard bahkan memberikan akses pengguna ke

konsol instance dan dapat terhubung ke sebuah instance melalui VNC. Secara

keseluruhan, Horizon fitur berikut:

1. Instance Management

Membuat atau menghentikan instance, melihat log dari konsol dan

terhubung melalui VNC, Melampirkan volume, dll.

STIKOM

(35)

24

2. Access and Security Management

Membuat security groups, mengelola keypairs, menetapkan floating IP, dll.

3. Flavor Management

Kelola flavor yang berbeda atau instance virtual hardware templates.

4. Image Management

Mengedit atau menghapus images.

5. Lihat katalog layanan.

6. Mengelola user, kuota dan penggunaan untuk proyek-proyek.

7. User Management

Membuat user, dll.

8. Volume Management

Menciptakan Volume dan snapshot.

9. Object Store Manipulation

Membuat, menghapus container dan objek.

10. Men-download variabel lingkungan untuk sebuah proyek.

2.7 Phoronix Test Suite

Phoronix Test Suite adalah pengujian paling komprehensif dan platform lain

dalam hal ini menyediakan kerangka extensible untuk test. Perangkat lunak ini

juga di rancang dengan tolak ukur kualitatif dan kuantitatif dengan mengukur

secara bersih dan mudah di gunakan.

Phoronix Test Suite didasarkan pada pengujian ekstensif dan alat internal

yang dikembangkan oleh Phoronix.com sejak tahun 2004 bersama dengan

dukungan dari terkemuka tier-satu perangkat keras komputer dan vendor

STIKOM

(36)

perangkat lunak. Perangkat lunak ini open source dan berlisensi di bawah GPLv3

GNU.

Awalnya dikembangkan untuk pengujian Linux otomatis, mendukung ke

Phoronix Test Suite sejak itu telah ditambahkan untuk OpenSolaris, Apple Mac

OS X, Microsoft Windows, dan sistem operasi BSD. Phoronix Test Suite terdiri

dari inti pengolahan ringan (Poin-core) dengan masing-masing tolok ukur yang

terdiri dari profil berbasis XML dan script sumber daya terkait.

1. OpenBenchmarking.org Integration

2. 130+ Test Profiles

3. 60+ Test Suites

4. Extensible Testing Architecture

5. Optional Linux-based LiveDVD/USB Testing Distribution (PTS Desktop

Live)

6. Automated Test Installation

7. Dependency Management Support

8. Module-based Plug-In Architecture

9. PNG, JPG, GIF, Adobe SWF, SVG Graph Rendering Support

10. Automated Batch Mode Support

11. Global Database For Result Uploads, Benchmark Comparisons

12. Detailed Software, Hardware Detection

13. System Monitoring Support

14. GTK2 Graphical User Interface + Command-Line Interface

15. Runs On Linux, OpenSolaris, Mac OS X, Windows 7, & BSD Operating

Systems

STIKOM

(37)

26

Fitur Phoronix Test Suite antara lain:

1. Mudah di gunakan

2. Arsitektur Extensible

3. Statistik Akurasi

4. Perekaman Hasil

5. Multi-Platform

2.8 Uji Statistika

Untuk menguji hasil dari benchmarking instance, penulis menggunakan

pengujian hipotesis karena pengujian ini didasarkan atas analisa data dan populasi

data.

Pada pengujian hipotesis ini penulis menggunakan pengujian rata-rata

antara hasil benchmarking dari instance Eucalyptus dan instance dari OpenStack.

Namun sebelum uji rataan dapat dilakukan, uji varian harus dilakukan terlebih

dahulu untuk mengetahui sifat dari data uji homogen atau heterogen sesuai

dengan Tabel 2.1.

Tabel 2.1 Uji Variansi

H0 Uji Statistik H1 Daerah Kritis

t < -tα

t > tα

t < -tα/2 dan t > tα/2

Apabila berdasarkan uji variansi ternyata nilai H0 diterima, maka hal ini

berarti bahwa data tersebut bersifat homogen. Maka uji rata-rata dilakukan dengan

menggunakan rumus sesuai Tabel 2.2

STIKOM

(38)
[image:38.595.66.553.84.657.2]

Tabel 2.2 Hipotesis Uji Rata-Rata Bila Data Homogen

H0 Uji Statistik H1 Daerah Kritis

X X

√ ⁄ ⁄

v = n1 + n2– 2

1≠ 2 dan tidak diketahui

T’ < -tα,v

T’ > tα,v

T’ < -tα/2,v dan

T’ > tα/2,v

Apabila berdasarkan uji variansi ternyata nilai H0 ditolak, maka hal ini

berarti bahwa data tersebut bersifat heterogen. Maka uji rata-rata dilakukan

dengan menggunakan rumus sesuai Tabel 2.3:

Tabel 2.3 Hipotesis Uji Rata-Rata Bila Data Heterogen

H0 Uji Statistik H1 Daerah Kritis

X X

√ ⁄ ⁄

⁄ ⁄

1≠ 2 dan tidak diketahui

T’ < -tα,v

T’ > tα,v

T’ < -tα/2,v dan

T’ > tα/2,v

STIKOM

(39)

28 BAB III

METODOLOGI PENELITIAN

3.1 Model Penelitian

Metode penelitian yang digunakan dalam pengerjaan tugas akhir ini

adalah studi kepustakaan dan melakukan analisis performance dari kedua private

cloud. Dengan ini penulis berusaha untuk mengumpulkan data dan

informasi-informasi, serta materi-materi dasar yang bersifat teoritis yang sesuai dengan

permasalahan. Hal tersebut diperoleh dari buku-buku, materi perkualiahan, serta

literatur dari internet.

Pada sub bab ini akan dibahas tentang perancangan sistem secara

keseluruhan dari penelitian ini yaitu tentang analisa performance cloud

Eucalyptus dan OpenStack. Adapun keseluruhan sistem pada penelitian tugas

akhir analisis performancecloudcomputing berbasis PlatformasaService (PaaS)

pada Ubuntuserver ini sesuai dengan blok diagram pada Gambar 3.1.

Gambar 3.1 Blok Diagram Secara Umum

Pada Gambar 3.1 dapat dilihat bahwa secara umum penelitian ini dibagi

dalam empat tahap. Pertama penulis akan melakukan instalasi serta konfigurasi Data Performance

Pengambilan Data Performance Eucalyptus

Pengambilan Data Performance OpenStack

Analisa Statistika

Analisa Statistika Eucalyptus

Analisa Statistika OpenStack

Hasil Analisa Cloud

OpenStack Eucalyptus

STIKOM

(40)

terhadap Eucalyptus dan OpenStack samapai dapat menjalankan sebuah client /

instance, kemudian penulis akan melakukan pengambilan data dari instance yang

berjalan tesebut.

Kemudian pada tahap kedua penulis akan melakukan pengambilan data

performance dengan cara melakukan benchmarking terhadap Eucalyptus dan

OpenStack dengan menggunakan benchmarking tools berupa phoronix test suite.

Phoronix test suite merupakan benchmarking tools yang banyak digunakan oleh

para praktisi IT.

Setelah mendapatkan data maka langkah selanjutnya adalah melakukan

pengujian terhadap data tersebut dan melakukan perhitungan dengan statistika

menggunakan metode hipotesis untuk mengetahui hasil performance dari data

yang telah didapat yang selanjutnya dijadikan acuan untuk menarik kesimpulan.

3.2 Perancangan Cloud System

Pada penelitian kali ini penulis menggunakan dua buah server. Server

pertama dijadikan penulis sebagai cloudcontroller yang bertugas untuk mengatur

jaringan yang diimplementasikan pada cloud, mengaplikasikan rule-rule yang

ditetapkan oleh administrator serta dijadikan sebagai web server yang dapat

digunakan untuk mengkonfigurasi cloud server serta memonitoring hasil kerja

dari cloud tersebut.

Sedangkan untuk server yang kedua dijadikan sebagi node controller

dimana kerja dari node controller adalah sebagai server yang nantinya akan

menjalankan sebuah instance dimana node controller bertanggung jawab atas

memory serta hardisk yang nantinya akan digunakan oleh instance yang berjalan.

STIKOM

(41)

30

Gambar 3.2 Topologi Jaringan PrivateCloud

Pada Gambar 3.2 dapat diketahui bahwa private cloud yang dibangun

dengan menggunakan jaringan lokal dengan menggunakan dua server, dimana

server pertama menggunakan alamat Internet Protocol (IP) 192.168.180.1/28

dengan menggunakan nama Cloud Controller (CC). Sedangkan server kedua

menggunakan alamat (IP) 192.168.180.2/28 dengan menggunakan nama Node

Controller (NC) dan 192.168.180.14/28 sebagai defaultgateway dari kedua server

tersebut.

Jika kedua server tersebut dikonfigurasi dengan benar maka akan terbentuk

sebuah jaringan cloud client. Cloud client ini dapat berisi bermacam-macam

sistem operasi dengan rule-rule yang berbeda tergantung kebijakan administrator

yang mengelola privatecloud tersebut.

Untuk menghubungkan antara cloud server dengan cloud client

administrator menggunakan interface br100 sebagai bridge antara jaringan server

dengan jaringan cloud client. Dengan bridge ini maka cloud client dapat

STIKOM

(42)

berhubungan dengan jaringan luar termasuk internet melalui jaringan komputer

server.

Cloud client yang terbentuk dirancang dengan menggunakan alokasi IP

192.168.4.0/24. Alokasi IP tersebut mampu menyediakan 254 user / cloud client

yang dapat dikonfigurasi serta diberikan rule-rule yang telah disepakati dengan

user yang menggunakan cloudclient tersebut.

Pada penelitian ini penulis menggunakan Eucalyptus dan OpenStack sebagai

cloud application service. Penulis melakukan instalasi serta konfigurasi terhadap

Eucalyptus dan OpenStack.

3.2.1 Perancangan Eucalyptus Cloud

Berikut ini adalah diagram blok yang dapat menggambarkan bagaimana

sistem kerja eucalyptus secara umum.

Gambar 3.3 Diagram Blok Eucalyptus Secara Umum

Dari Gambar 3.3 dapat diketahui sistem kerja secara umum dari eucalyptus

dimana awalnya adalah permintaan dari user yang meliputi hardisk, RAM, serta

sistem operasi yang diinginkan. Kemudian permintaan tersebut akan diproses oleh

server yang mempunyai 3 elemen penting yaitu cloud controller (CC), node

controller (NC), dan walrus storage controller (WS3) yang kemudian akan

menghasilkan cloud computing.

Request user Cloud server

Cloud controller

Node contoller

Walrus storages controller

Running instance

STIKOM

(43)

32

A. Server 1 (Cloud Controller)

Hal yang pertama dilakukan adalah melakukan penginstalan server seperti

dijelaskan pada lampiran 1. Kemudian melakukan konfigurasi jaringan agar dapat

terhubung ke internet dan dapat melakukan penginstalan paket yang dibutuhkan.

Konfigurasi jaringan seharusnya sudah dilakukan pada saat menginstall

Ubuntu server, tetapi jika terlewatkan untuk mengkonfigurasi jaringan dapat

dikonfigurasi manual pada /etc/network/interfaces dengan menggunakan editor

seperti nano, vi, vim, dsb. Berikut skrip untuk meng-konfigurasi jaringan pada

server 1:

auto lo

iface lo inet loopback auto eth0

iface eth0 inet static

address 192.168.180.1 netmask 255.255.255.240 broadcast 192.168.180.15 gateway 192.168.180.14 dns-nameservers 222.124.29.226

Langkah selanjutnya adalah menginstal paket dari cloud controller, cluster

controller, walrus dan storage controller yang tersedia di dalam repository.

Aplikasi eucalyptus-cloud, eucalyptus-cc, eucalyptus-walrus, eucalyptus-sc

merupakan bagian dari cloud controller yang nantinya akan bertanggung jawab

untuk meng-handle beberapa instance yang berjalan. Sedangkan qemu-kvm dan

kvm-pxe adalah aplikasi yang digunakan untuk menjalankan sebuah sistem operasi

pada local server. Aplikasi ini yang nantinya akan digunakan untuk

mengkonfigurasi sistem operasi yang akan di-upload ke dalam cloudserver.

Utuk menginstalnya dapat dilakukan dengan perintah berikut ini:

$ sudo apt-get install cloud cc eucalyptus-walrus eucalyptus-sc qemu-kvm kvm-pxe

STIKOM

(44)

Selanjutnya hal yang perlu diperhatikan adalah memberi identitas dan

pengalamatan pada sebuah cluster. Pada penelitian ini penulis menggunakan

cluster1 sebagai nama cluster-nya. Cluster ini sebenarnya adalah segmentasi dari

private cloud, namun dalam penelitian ini hanya terdiri dari sebuah cluster.

Sehingga cluster tersebut memiliki alamat IP sesuai perancangan yaitu

192.168.180.3 sampai 192.168.180.13.

Selanjutnya diperlukan komponen euca2ools yang berfungsi sebagai

Command Line Interface (CLI) yang nantinya dapat digunakan sebagai jembatan

untuk mengkonfigurasi Cloud Controller.

$ sudo apt-get install –y euca2ools

Langkah berikutnya adalah bagaimana mensinkronkan waktu antar kedua

cloud controller. Apabila waktu antar cloud tidak sama, maka cloud tidak dapat

berjalan dengan sempurna. Untuk melakukan hal ini diperlukan Network Time

Protocol (NTP). Berikut ini adalah step-step untuk mengkonfigurasi NTP server.

Pertama install NTP server terlebih dahulu.

$ sudo apt-get install –y ntp

Kemudian meng-edit /etc/ntp.conf dan tambahkan beberapa konfigurasi

dibawah ini.

server ntp.ubuntu.com server 127.127.1.0

fudge 127.127.1.0 stratum 10

B. Server 2 (Node Controller)

Hal yang pertama dilakukan adalah melakukan penginstalan server seperti

dijelaskan pada lampiran 1. Kemudian melakukan konfigurasi jaringan agar dapat

terhubung ke internet dan dapat melakukan penginstalan paket yang dibutuhkan.

STIKOM

(45)

34

Konfigurasi jaringan seharusnya sudah dilakukan pada saat menginstall

Ubuntu server, tetapi jika terlewatkan untuk mengkonfigurasi jaringan dapat

dikonfigurasi manual pada /etc/network/interfaces dengan menggunakan editor

seperti nano, vi, vim, dsb. Berikut skrip untuk meng-konfigurasi jaringan pada

server 2:

auto lo

iface lo inet loopback auto eth0

iface eth0 inet static

address 192.168.180.2 netmask 255.255.255.240 broadcast 192.168.180.15 gateway 192.168.180.14 dns-nameservers 222.124.29.226

Setelah mengkonfigurasi IP address, hal selanjutnya adalah menginstal

paket dari nodecontroller. Untuk menginstalnya dapat dilakukan dengan perintah

berikut ini:

$ sudo apt-get install eucalyptus-nc

Kemudian hal dilakukan selanjutnya adalah mengkonfiguasi bridge yang

nantinya akan digunakan sebagai modebridge pada jaringan yang digunakan oleh

eucalyptus. Untuk mengkonfigurasikannya dapat dilakukan dengan meng-edit

/etc/eucalyptus/eucalyptus.conf dan menambahkan beberapa konfigurasi dibawah

ini:

VNET_PUBINTERFACE="eth0" VNET_PRIVINTERFACE="br100" VNET_BRIDGE="br100"

VNET_DHCPDAEMON="/usr/sbin/dhcpd3" VNET_DHCPUSER="dhcpd"

VNET_MODE="MANAGED-NOVLAN"

Keterangan dari masing-masing skrip diatas adalah sebagai berikut :

1. VNET_PUBINTERFACE="eth0", digunakan untuk memberitahukan terhadap

aplikasi eucalyptus bahwa publicnetwork berada pada interfaceeth0.

STIKOM

(46)

2. VNET_PRIVINTERFACE="br100", digunakan untuk memberitahukan

terhadap aplikasi eucalyptus bahwa private network berada pada interface

br100.

3. VNET_BRIDGE="br100", digunakan untuk memberitahukan terhadap

aplikasi eucalyptus bahwa jaringan public akan dijembatani oleh interface

br100 untuk bisa berhubungan dengan jaringan lokal.

4. VNET_DHCPDAEMON="/usr/sbin/dhcpd3", digunakan untuk

memberitahukan terhadap aplikasi eucalyptus bahwa dhcp daemon berada

pada direcrory/usr/sbin/dhcpd3.

5. VNET_DHCPUSER="dhcpd", digunakan untuk memberitahukan terhadap

aplikasi eucalyptus bahwa jaringan virtual pada penelitian kali ini

menggunakan DHCP.

6. VNET_MODE="MANAGED-NOVLAN", digunakan untuk memberitahukan

terhadap aplikasi eucalyptus bahwa jaringan virtualisasi yang dibangun

tidak menggunakan VLAN.

Langkah berikutnya adalah bagaimana mensinkronkan waktu antar kedua

cloud controller. Apabila waktu antar cloud tidak sama, maka cloud tidak dapat

berjalan dengan sempurna. Untuk melakukan hal ini diperlukan Network Time

Protocol (NTP). Berikut ini adalah step-step untuk mengkonfigurasi NTP server.

Pertama install NTP server terlebih dahulu.

$ sudo apt-get install –y ntp

Kemudian meng-edit /etc/ntp.conf dan tambahkan beberapa konfigurasi

dibawah ini.

server 192.168.180.1

STIKOM

(47)

36

Langkah Terakhir adalah bagaimana mensinkronkan eucalyptus user antar

kedua cloud controller. Apabila waktu antar cloud tidak sama, maka cloud tidak

dapat berjalan dengan sempurna. Untuk melakukan hal ini diperlukan SSH public

key. SSH public key adalah sebuah key yang berfungsi agar eucalyptus user di

cloud controller dan node controller bisa sinkron. Caranya dengan meng-install

SSH public key-nya eucalyptus user di cloud controller ke eucalyptus user di

nodecontroller.

Hal pertama yang harus dilakukan adalah men-setpasswordeucalyptususer

yang ada di nodecontroller. Berikut perintahnya:

sudo passwd eucalyptus

Selanjutnya installasi SSH public key-nya eucalyptus user di cloud

controller ke eucalyptususer di nodecontroller. Berikut perintahnya:

$ sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub [email protected]

Terakhir hapus password eucalyptus user yang ada di node controller. Ini

hanya optional, boleh dihapus boleh juga tidak. Berikut perintahnya:

$ sudo passwd -d eucalyptus

C. Credential

Credential adalah sebuah identity service yang digunakan oleh Eucalyptus.

Credential sendiri sudah tersedia di cloud controller (server 1). Cara untuk

mengambil / men-downloadcredential sendiri ada 2, yaitu:

1. Webbrowser

Masuk ke web browser, lalu ketik https://192.168.180.1:8443/. Dimana

192.168.180.1 adalah IP dari cloud controller (server 1). Nantinya akan ada

STIKOM

(48)

tampilan login page, username dan password yang default adalah admin.

Kemudian ada petunjuk pada layar untuk memperbarui password admin dan

alamat email. Setelah selesai, klik tab credential yang terletak di bagian kiri atas

layar. Klik tombol credential Download untuk mendapatkan credential-nya.

Setelah credential-nya didapat, copycredential-nya ke cloud controller (server 1).

Terakhir extractcredential tersebut. Berikut perintah untuk meng-extract:

$ unzip -d ~/.euca mycreds.zip

2. Command Line

Pada cloud controller (server 1) dapat mengetik perintah sebagai berikut

untuk mendapatkan cerdential-nya.

$ mkdir -p ~/.euca $ chmod 700 ~/.euca $ cd ~/.euca

$ sudo euca_conf --get-credentials mycreds.zip

Terakhir extractcredential tersebut. Berikut perintah untuk meng-extract:

$ unzip mycreds.zip

$ ln -s ~/.euca/eucarc ~/.eucarc $ cd -

Setelah credential-nya ter-extract, setalah itu lakukan validasi bahwa

semuanya bekerja dengan benar. Berikut perintahnya:

$ ~/.euca/eucarc

$ euca-describe-availability-zones verbose

AVAILABILITYZONE myowncloud 192.168.1.1

AVAILABILITYZONE |- vm types free / max cpu ram disk AVAILABILITYZONE |- m1.small 0004 / 0004 1 192 2 AVAILABILITYZONE |- c1.medium 0004 / 0

Gambar

Tabel 2.2 Hipotesis Uji Rata-Rata Bila Data Homogen
Gambar 3.14 Hasil Web Benchmark Memory Variabel Integer
Gambar 4.11 Keystone Tenant List

Referensi

Dokumen terkait