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