TESIS – TE142599
INTEROPERABILITAS TINGKAT FUNGSIONALITAS APLIKASI
PADA MIGRASI VIRTUAL MACHINE DI LINGKUNGAN CLOUD
COMPUTING
SOFFA ZAHARA 2214206202
DOSEN PEMBIMBING
Dr. Surya Sumpeno S.T., M.Sc. Dr. Istas Pratomo S.T., M.T.
PROGRAM MAGISTER
BIDANG KEAHLIAN TELEMATIKA JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA
TESIS – TE142599
INTEROPERABILITAS TINGKAT FUNGSIONALITAS APLIKASI
PADA MIGRASI VIRTUAL MACHINE DI LINGKUNGAN CLOUD
COMPUTING
SOFFA ZAHARA 2214206202
DOSEN PEMBIMBING
Dr. Surya Sumpeno S.T., M.Sc. Dr. Istas Pratomo S.T., M.T.
PROGRAM MAGISTER
BIDANG KEAHLIAN TELEMATIKA JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA
iv
v
PERNYATAAN KEASLIAN TESIS
Dengan ini saya menyatakan bahwa isi keseluruhan Tesis saya dengan
judul “INTEROPERABILITAS TINGKAT FUNGSIONALITAS APLIKASI
PADA VIRTUAL MACHINE DI LINGKUNGAN CLOUD COMPUTING”
adalah benar-benar hasil karya intelektual mandiri, diselesaikan tanpa menggunakan bahan-bahan yang tidak diijinkan dan bukan merupakan karya pihak lain yang saya akui sebagai karya sendiri.
Semua referensi yang dikutip maupun dirujuk telah ditulis secara lengkap pada daftar pustaka. Apabila ternyata pernyataan ini tidak benar, saya bersedia menerima sanksi sesuai peraturan yang berlaku.
Surabaya, 12 Januari 2017
vi
vii
INTEROPERABILITAS TINGKAT FUNGSIONALITAS
APLIKASI PADA VIRTUAL MACHINE DI LINGKUNGAN
CLOUD COMPUTING
Nama mahasiswa : Soffa Zahara
NRP : 2214206202
Pembimbing : 1. Dr. Surya Sumpeno, S.T., M.Sc. 2. Dr. Istas Pratomo, S.T., M.T.
ABSTRAK
Pesatnya perkembangan internet diiringi dengan meningkatnya aplikasi yang memanfaatkan teknologi cloud computing. Bertambahnya proses bisnis suatu aplikasi dalam suatu sistem juga fitur layanan yang ditawarkan cloud provider lain yang lebih baik, seperti harga yang lebih murah, performansi sistem yang lebih tinggi, sistem yang lebih handal, teknologi security terbaru yang digunakan serta SLA(Service Level Agreement) yang lebih baik, memungkinkan untuk berpindah layanan ke cloud provider lain. Namun, dalam prakteknya sering terjadi kegagalan fungsionalitas aplikasi dalam proses migrasi ke sistem cloud yang baru yang salah satunya disebabkan oleh masalah vendor lock-in. Vendor lock-in muncul disebabkan banyaknya cloud provider yang mempunyai standar tersendiri dalam pembangunan sistemnya yang mengakibatkan terbatasnya kemampuan migrasi antar cloud.
Penelitian ini memperkenalkan metode baru untuk menguji interoperabilitas sistem khususnya di tingkat fungsionalitas aplikasi diantara dua cloud provider IaaS (Infrastructure as a Service). Tujuannya adalah untuk mengetahui tingkat interoperabilitas aplikasi dalam sistem virtual machine yang berpindah dari sebuah cloud provider ke cloud provider lain. Pengujian migrasi yang dilakukan dalam penelitian ini terbagi menjadi 2 skenario yaitu dari Amazon EC2 ke Indonesian Cloud, kemudian dari Amazon EC2 ke Google Compute Engine. Dari hasil pengujian yang didapatkan bahwa tingkat interoperabilitas migrasi dari Amazon EC2 ke Google Compute Engine lebih tinggi dikarenakan pada migrasi Amazon EC2 ke Indonesian Cloud terdapat fungsionalitas aplikasi yang tidak berjalan.
viii
ix
APPLICATION LEVEL INTEROPERABILITY ON VIRTUAL
MACHINE IN CLOUD COMPUTING ENVIRONMENT
By : Soffa Zahara
Student Identity Number : 2214206202
Supervisor(s) : 1. Dr. Surya Sumpeno, S.T., M.Sc. 2. Dr. Istas Pratomo, S.T., M.T.
ABSTRACT
The rapid development of internet nowadays impact on increasing many applications that utilizing cloud computing technology for the sake of organization. Increasing requirements in applications caused by inevitable business process growth in organization, increased security, better availability and QOS enabling a tendency to switch from old cloud provider to more reliable one. However, in practice, application functionality failures often occur in case of migrating process to new cloud system due to several circumstances e.g. vendor lock-in problem.
This paper introduces a development method for system migration testing between two cloud providers. The goal is to determine the interoperability level of application in virtual machine within hypervisor system that moves from one cloud provider to another cloud provider. Migration testing is done by 2 types of scenario. First, from Amazon EC2 to Indoensian Cloud. Second, from Amazon EC2 to Google Compute Engine. After several testings, the result is the interoperability level of migration from Amazon EC2 to Google Compute Engine is higher than Amazon EC2 to Indonesian Cloud caused by there is application functionality that can not work after migration.
x
xi
KATA PENGANTAR
Segala puja dan puji syukur kepada Allah SWT atas segala rahmat dan karunia yang telah dilimpahkan kepada penulis sehingga penulisan tesis dengan judul :
“APPLICATION LEVEL INTEROPERABILITY ON VIRTUAL MACHINE IN CLOUD COMPUTING ENVIRONMENT”
Dapat diselesaikan dengan baik. Buku tesis ini disusun untuk memenuhi salah satu syarat memperoleh gelar magister pada program studi Teknik Elektro dengan bidang keahlian Telematika, Institut Teknologi Sepuluh Nopember.
Pada kesempatan ini penulis sampaikan terima kasih yang sedalam-dalamnya kepada :
1. Kedua orangtua, suami, adik, serta keluarga yang selalu memberikan dorongan semangat dalam mengerjakan dan menyelesaikan tesis ini.
2. Bapak Surya Sumpeno dan Istas Pratomo atas bimbingan, kesabaran dan pendorong semangat dalam menyelesaikan thesis ini.
3. Rekan-rekan lab Jaringan Telekomunikasi B301, rekan-rekan jurusan telematika, terima kasih atas kebaikan dan kerjasamanya dalam penelitian ini.
Penulis menyadari bahwa dalam penulisan tesis ini masih jauh dari kata sempurna, untuk itu demi perbaikan dan penyempurnaan tesis ini maka saran dan kritik membangun sangat diharapkan. Besar harapan penulis bahwa buku tesis ini dapat memberikan informasi dan manfaat bagi pembaca pada umumnya dan mahasiswa jurusan Teknik Elektro pada khususnya.
xii
xiii
DAFTAR ISI
LEMBAR PENGESAHAN ... iii
PERNYATAAN KEASLIAN TESIS ... v
ABSTRAK ... vii
ABSTRACT ... ix
KATA PENGANTAR ... xi
DAFTAR ISI ... xiii
DAFTAR GAMBAR ... xv
DAFTAR TABEL ... xvii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan ... 2
1.4 Batasan Masalah ... 3
1.5 Kontribusi ... 3
1.6 Metodologi Penelitian ... 3
BAB 2 KAJIAN PUSTAKA ... 7
2.1 Cloud Computing ... 7
2.1.1 Amazon EC2 ... 11
2.1.2 Indonesian Cloud ... 13
2.1.3 Google Compute Engine ... 14
2.2 Teknologi Virtualisasi ... 15
2.3 Migrasi Cloud ... 20
2.4 Interoperabilitas ... 22
2.5 Pengujian Aplikasi ... 25
2.6 Penelitian Sebelumnya ... 30
BAB 3 METODE PENELITIAN... 35
3.1 Metode Penelitian ... 35
3.2 Rancangan Sistem ... 36
xiv
3.2.2 Aplikasi E-Commerce ... 38
3.3 Skenario Pengujian ... 53
3.4 Rancangan Evaluasi Hasil Pengujian ... 54
3.5 Rancangan Parameter Level Evaluasi Interoperabilitas ... 58
BAB 4 HASIL DAN PEMBAHASAN ... 61
4.1 Migrasi Amazon EC2 ke Indonesian Cloud ... 61
4.2 Migrasi Amazon EC2 ke Google Compute Engine ... 71
BAB 5 KESIMPULAN DAN SARAN ... 83
5.1 Kesimpulan ... 83
5.2 Saran ... 84
DAFTAR PUSTAKA ... 85
xv
DAFTAR GAMBAR
Gambar 1.1 Metodologi Penelitian ... 3
Gambar 2.1 Model Cloud Computing NIST (Sosinky, 2011) ... 8
Gambar 2.2 Amazon EC2 Hypervisor (Badola, 2015) ... 12
Gambar 2.3 Fitur Amazon VM Export/Import (Amazon Web Services, 2016) ... 13
Gambar 2.4 Arsitektur Hypervisor VMWare (Amazon Web Services, 2016) ... 14
Gambar 2.5 Arsitektur layanan Google Compute Engine ... 15
Gambar 2.6 Arsitektur Hypervisor Google Cloud Engine ... 15
Gambar 2.7 Prinsip Virtualisasi ... 16
Gambar 2.8 Perbedaan 2 Jenis Hypervisor (Sosinky, 2011) ... 18
Gambar 2.9 Model McCall (Galin, 2004) ... 26
Gambar 2.10 Proses Pengujian (Galin. D, 2004) ... 27
Gambar 2.11 Metode TIOSA (Lenk dkk, 2014) ... 30
Gambar 2.12 Hasil Pengujian CentOS 6.6 (Lenk dkk, 2014) ... 31
Gambar 2.13 Hasil Pengujian Ubuntu 12.04 (Lenk dkk, 2014)... 32
Gambar 2.14 Hasil Pengujian Windows Server 2008 R2 (Lenk dkk, 2014) ... 32
Gambar 2.15 Hasil Keseluruhan (Lenk dkk, 2014) ... 33
Gambar 3.1 Metode Penelitian ... 35
Gambar 3.2 Skenario Migrasi Pertama ... 37
Gambar 3.3 Skenario Migrasi Kedua ... 38
Gambar 3.4 Diagram Use Case Aplikasi Pengujian ... 39
Gambar 3.5 Diagram Aktifitas Mesanan Barang ... 41
Gambar 3.6 Diagram Aktifitas Menambah Komentar Pada Artikel ... 42
Gambar 3.7 Diagram Aktifitas Menambah Produk ... 43
Gambar 3.8 Diagram Aktifitas Mengubah Produk ... 44
Gambar 3.9 Diagram Aktifitas Menghapus Produk ... 45
Gambar 3.10 Diagram Aktifitas Menambah Review Produk ... 46
Gambar 3.11 Diagram Aktifitas Menambah Artikel Baru ... 47
Gambar 3.12 Diagram Aktifitas Mengubah Artikel ... 48
Gambar 3.13 Diagram Aktifitas Menghapus Artikel ... 49
Gambar 3.14 Diagram Aktifitas Report ... 50
Gambar 3.15 Diagram Aktifitas Menambah User Baru ... 51
Gambar 3.16 Diagram Aktifitas Mengubah User ... 52
Gambar 3.17 Diagram Aktifitas Menghapus User ... 53
Gambar 4.1 Konfigurasi Hardware Server Fisik... 67
Gambar 4.2 Konfigurasi Hardware Server Amazon EC2 ... 67
Gambar 4.3 Perubahan Konfigurasi Aplikasi ... 68
Gambar 4.4 Akses Aplikasi Setelah Migrasi Dari Server Fisik ... 68
xvi
xvii
DAFTAR TABEL
Tabel 2.1 Metodologi Cloud-RMM (Pappas, 2014) ... 21
Tabel 2.2 Metodologi ARTIST(Pappas, 2014) ... 22
Tabel 3.1 Rancangan Testbed Fungsionalitas Aplikasi ... 54
Tabel 3.2 Rancangan Testbed Pengujian Migrasi VM ... 57
Tabel 3.3 Deskripsi Level Interoperabilitas Aplikasi ... 59
Tabel 3.4 Evaluasi Hasil Keseluruhan ... 60
Tabel 4.1 Hasil Pengujian Migrasi Image VM Amazon EC2 ke Indonesian Cloud ... 64
Tabel 4.2 Hasil Pengujian Fungsionalitas Aplikasi dari Amazon EC2 ke Indonesian Cloud ... 64
Tabel 4.3 Hasil Pengujian Migrasi Image VM Amazon EC2 ke Google Compute Engine ... 74
Tabel 4.4 Hasil Pengujian Fungsionalitas Aplikasi dari Amazon EC2 ke Google Compute Engine ... 77
Tabel 4.5 Hasil Evaluasi Secara Keseluruhan... 78
Tabel 4.6 Perbandingan Hasil dengan Penelitian Sebelumnya ... 79
xviii
1
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Beragamnya cloud provider atau penyedia layanan cloud computing mengakibatkan munculnya masalah vendor lock-in. Vendor lock-in merupakan keadaan dimana pengguna suatu produk bergantung pada satu provider dan tidak dapat berpindah ke provider lain tanpa biaya yang besar dan waktu yang lama (Opera-Martins dkk, 2014). Setiap cloud provider memiliki format tersendiri dalam membangun produk layanan yang dimiliki yang menyebabkan terbatasnya kemampuan sistem bermigrasi antar cloud. Dalam proses migrasi atau perpindahan dari satu sistem ke sistem lainnya terutama dalam lingkungan cloud computing kemampuan interoperabilitas menjadi faktor yang penting. Interoperabilitas cloud merupakan kemudahan migrasi dan integrasi aplikasi dan data diantara penyedia layanan cloud computing (Dowell dkk, 2011).
Virtual Machine (VM) merupakan bagian terkecil dalam sistem khususnya dalam layanan IaaS(Infrastructure as a Service) yang dapat dilakukan proses migrasi (Lenk dkk, 2014). Dalam proses migrasi IaaS, berhasilnya proses konversi image virtual machine dari satu sistem ke sistem lain tidak menjamin berhasilnya proses migrasi. Terdapat kecenderungan beberapa parameter seperti konfigurasi jaringan, CPU, memory, parameter security, struktur aplikasi dan data yang mungkin berubah dalam proses migrasi. Masalah lain yang dapat terjadi dalam proses migrasi di level IaaS yaitu ketika aplikasi yang berjalan telah terintegrasi secara kompleks di sistem lama sehingga sistem sulit melakukan migrasi di sistem baru (Villary dkk, 2012).
2
TIOSA (Lenk dkk, 2014) merupakan suatu metode pengujian interoperabilitas pada Virtual Machine berbasis Open Data Center Alliance(ODCA). Kekurangan dari metode TIOSA ini yaitu hanya menguji dari sisi fungsionalitas sistem operasi dan hypervisor dan belum menguji pada tingkat fungsionalitas yang lebih spesifik yaitu aplikasi di sistem yang baru. Selain itu pengujian interoperabilitas yang dilakukan masih dalam tahap simulasi di jaringan lokal sehingga belum mendekati evaluasi interoperabilitas di sistem sebenarnya khususnya di bidang industri.
Tujuan dari penelitian ini yaitu untuk memperkenalkan metode untuk mengukur tingkat interoperabilitas fungsionalitas aplikasi yang bermigrasi diantara dua provider cloud IaaS yang berbeda. Manfaat dari penelitian ini yaitu memberikan referensi metode pengujian interoperabilitas migrasi sistem antar cloud yang lebih spesifik ke fungsionalitas aplikasi sehingga dapat diimplementasikan di bidang industri sesuai proses bisnis yang berjalan.
1.2 Rumusan Masalah
Munculnya masalah vendor lock-in yang disebabkan banyaknya cloud provider yang mempunyai format dan tipe pembangunan sistem yang berbeda membatasi kemungkinan migrasi aplikasi diantara cloud provider tersebut. Selain itu, belum tersedianya metode yang menguji tingkat interoperabilitas sistem yang bermigrasi diantara dua lingkungan cloud IaaS pada tingkat fungsionalitas aplikasi menyebabkan banyak organisasi kesulitan untuk mengetahui tingkat interoperabilitas sistem cloud tujuan ketika bermigrasi.
1.3 Tujuan
3
1.4 Batasan Masalah
Batasan masalah dalam penelitian ini yaitu :
1. Model layanan cloud yang digunakan yaitu IaaS(Infrastructure as a Service)
2. Aplikasi yang akan diuji menggunakan E-Commerce
3. Penelitian yang dilakukan tidak membahas interoperabilitas data dalam sistem
4. Penelitian yang dilakukan tidak membahas dari sisi keamanan sistem 5. Jenis cloud provider yang akan digunakan yaitu Amazon EC2, Indonesian
Cloud dan Google Compute Engine
6. Sistem operasi yang akan digunakan yaitu Ubuntu 12.04
1.5 Kontribusi
Kontribusi dari penelitian ini yaitu:
1. Memberikan referensi metode pengujian interoperabilitas migrasi sistem antar cloud yang lebih spesifik ke aplikasi sehingga dapat diimplementasikan di bidang industri sesuai proses bisnis yang berjalan. 2. Memberikan referensi untuk menghindari masalah vendor lock-in dalam
proses migrasi antar cloud provider terutama dalam layananan IaaS.
3. Memberikan kontribusi pengembangan metode pengujian interoperabilitas pada cloud computing khususnya pada jenis layanan IaaS.
1.6 Metodologi Penelitian
Tahapan metodologi penelitian yang akan dilakukan pada penelitian ini yaitu:
Migrasi Sistem
Pengujian dan Verifikasi Fungsionalitas Sistem Setelah
Migrasi
Analisa Hasil Pengujian Perencanaan
Desain Sistem dan Migrasi Cloud
Verifikasi Fungsionalitas Aplikasi Sebelum
Migrasi
4
Tahapan – tahapan yang dilalui dalam penelitian ini adalah sebagai berikut:
1. Perencanaan Desain Sistem dan Migrasi Cloud
Dalam tahapan perencanaan desain sistem cloud, akan dilakukan desain skenario sistem cloud yang akan dibangun dan diuji baik dari cloud sumber maupun cloud tujuan termasuk pemilihan jenis cloud dan cloud provider yang akan dipilih.
Dalam tahap perencanaan migrasi terdapat beberapa proses yang dilakukan yaitu:
a. Melakukan analisis kemungkinan migrasi antara dua cloud provider dengan mencari dan mempelajari tools yang tersedia untuk melakukan transformasi atau konversi image sistem yang didukung oleh dua cloud provider baik secara otomatis maupun manual.
b. Melakukan analisis perbandingan teknologi yang digunakan diantara dua cloud provider seperti jenis teknologi hypervisor yang digunakan, sistem operasi yang didukung oleh masing-masing cloud provider.
c. Merencanakan skenario dan metode migrasi yang akan dilakukan d. Merencanakan skenario pengujian migrasi
e. Melakukan analisis ukuran untuk menentukan tingkat interoperabiltas aplikasi diantara dua cloud provider
2. Verifikasi Fungsionalitas Aplikasi Sebelum Migrasi
Dalam tahapan ini pengujian fungsionalitas aplikasi akan dilakukan sebagai sebagai parameter acuan atau pembanding aplikasi setelah dilakukan proses migrasi.
3. Migrasi Sistem
5
4. Pengujian dan Verifikasi Fungsionalitas Sistem
Setelah proses migrasi berhasil, selanjutnya akan dilakukan tahap pengujian fungsionalitas seluruh komponen aplikasi sesuai dengan skenario pengujian yang telah dibuat
5. Analisa Hasil Uji
6
7
BAB 2
KAJIAN PUSTAKA
2.1 Cloud Computing
Cloud computing merupakan tren baru dalam bidang teknologi informasi yang memindahkan komputasi dan penyimpanan data dari perangkat komputer fisik ke data center yang besar (Lenk dkk, 2014). Barry Sosinsky (Sosinky, 2011 dalam bukunya mendefinisikan cloud computing sebagai kumpulan aplikasi dan layanan yang berjalan dan beroperasi dalam jaringan terdistribusi atau tersebar dengan memanfaatkan sumber daya virtual dan standar internet. Sejarah cloud computing berawal dari layanan baru perusahaan telekomunikasi yang menawarkan produk VPN (Virtual Private Network) yang sebelumnya merupakan sirkuit data yang bersifat to-point (Jadeja, 2012). Kekurangan layanan point-to-point ini adalah mahal dan boros bandwidth, sehingga muncul teknologi VPN sebagai layanan alternatif dimana kualitas yang ditawarkan sama dengan point-to-point tetapi jauh lebih murah jika ditinjau dari segi biaya.
8
NIST membagi deployment model menjadi 4 tipe yaitu :
1. Public Cloud : Jenis infrastruktur cloud yang bertujuan untuk penggunaan publik
2. Private Cloud : Jenis cloud yang beroperasi khusus untuk sebuah organisasi atau perusahaan
3. Hybrid Cloud : Merupakan infrastruktur campuran atau gabungan dari private dan public cloud
4. Community Cloud : Community Cloud merupakan cloud yang dibangun khusus dengan tujuan tertentu. Contohnya yaitu satu atau beberapa organisasi yang berbagi kepentingan seperti kebijakan, keamanan, regulasi dll.
Sedangkan untuk service models dibagi menjadi 3 tipe (Sosinky, 2011) yaitu :
1. IaaS (Infrastructure as a Service) : menyediakan infrastruktur komputasi yang berbasis internet meliputi mesin virtual, storage virtual, dan seluruh hardware yang dapat diakses oleh pengguna. Penyedia mengelola keseluruhan infrastruktur, sedangkan user mengelola dari segi pembangunan.
Contoh penyedia layanan IaaS :
Amazon Elastic Compute Cloud (EC2)
Eucalyptus
GoGrid
FlexiScale
9
Linode
RackSpace Cloud
Terremark
2. PaaS (Platform as a Service): memungkinkan pengguna dapat membangun dan menggunakan aplikasi sendiri dalam sistem cloud yang dibangun menggunakan bahasa pemrograman dan perangkat yang didukung oleh penyedia layanan. Dari segi pengelolaan, pengelola PaaS bertanggung jawab dalam infrastruktur cloud, sistem operasi, sedangkan pengguna melakukan penginstalan dan pengelolaan aplikasi.
Contoh penyedia layanan PaaS :
Force.com
GoGrid CloudCenter
Google AppEngine
Windows Azure Platform
3. SaaS (Software as a Service): mendukung dan menyediakan layanan lengkap mulai dari aplikasi, pengelolaan, dan user interface menggunakan browser. Pengguna dapat menggunakan layanan software yang berjalan dalam lingkungan cloud sesuai kebutuhan dan tidak bertanggungjawab dalam sisi penginstalan dan perawatan software.
Contoh penyedia layanan SaaS :
GoogleApps
Oracle On Demand
SalesForce.com
SQL Azure
Terdapat beberapa karakteristik dari cloud computing yaitu (Sosinky, 2011) :
10
2. Broad Netwok Access : salah satu karakteristik cloud computing yaitu ketersediaan akses jaringan yang mendukung berbagai tipe pengaksesan dan sistem operasi yang digunakan oleh pengguna seperti laptop, handphone, dan PDA.
3. Resource Pooling : Dalam pengelolaan layanan, penyedia menyatukan seluruh sumber daya yang dapat dipakai oleh banyak penguna atau penyewa. Konsep abstraksi digunakan sehingga user tidak mengetahui posisi fisik sumber daya yang sedang diakses, juga tidak dapat membedakan apakah sumber daya yang dipakai memakai perangkat fisik ataau virtual
4. Rapid Elasticity : Sumber daya sistem dapat diperluas secara elastis sesuai kebutuhan pengguna baik dari segi perangkat fisik seperti penambahan komputer yang lebih powerful.
5. Measured Serviced : Penggunaan sumber daya dalam cloud dapat diukur, diaudit, dan dilaporkan ke pengguna berdasarkan meter system. Pengguna membayar sesuai dengan layanan yang disewa.
Terdapat beberapa manfaat yang dapat diperoleh dalam penggunaan cloud computing (Sosinky, 2011):
1. Penggunaan cloud computing dapat menekan biaya operasional karena sistem beroperasi dengan efisiensi dan pemanfaatan sumber daya yang lebih besar.
2. Tidak memerlukan lisensi software dan hardware untuk membangun sistem yang diinginkan.
3. Adanya jaminan QOS(Quality of Service) dari penyedia layanan cloud computing.
4. Beberapa fitur seperti load balancing dan failover menjamin kehandalan dalam layanan cloud computing
11
6. Pemeliharaan sistem dan infrastruktur menjadi lebih sederhana dan mudah karena sistem tersentralisasi
Selain berbagai macam keuntungan diatas, penggunaan layanan cloud computing juga memiliki beberapa kekurangan (Sosinky, 2011) yaitu :
1. Meskipun layanan cloud computing mendukung elastisitas sesuai proses bisnis dan keinginan pengguna, tetapi tidak semua keinginan pengguna akan dilayani dan diimplementasikan.
2. Seluruh aplikasi cloud computing memiliki masalah yang sama dalam hal koneksi jaringan internet khususnya latensi. Model cloud computing tidak cocok ketika aplikasi yang digunakan oleh pengguna membutuhkan transfer data dalam jumlah besar.
2.1.1 Amazon EC2
Amazon EC2 atau Amazon Elastic Compute Cloud merupakan salah satu penyedia layanan infrastruktur cloud computing komersial yang terintegrasi yang diperuntukkan untuk individu atau perusahaan. Amazon EC2 berbentuk platform komputasi berupa virtual komputer yang dapat dikostumisasi maupun dikembangkan dengan menggunakan prinsip cluster dan load balance (Amazon Web Services, 2016).
Beberapa fitur yang disediakan oleh Amazon EC2 yaitu : 1. Lingkungan virtual computing atau komputasi virtual
2. Menyediakan preconfigured templates yang disebut Amazon Machine Images (AMIs) dimana dapat digunakan untuk membangun mesin virtual, dapat berupa sistem operasi atau software tambahan lainnya. 3. Berbagai macam jenis konfigurasi CPU, memory, storage, networking
untuk kostumisasi mesin virtual
4. Layanan secure login menggunakan key pairs
12
6. Persistent storage volumes menggunakan Amazon Elastic Block Store (Amazon EBS)
7. Tersedianya berbagai lokasi fisik untuk resource yang kita gunakan 8. Firewall memungkinkan untuk mengatur protocol, port, dan range IP
yang mengakses sumber daya cloud kita
9. Alamat IPv4 statis untuk cloud computing dinamis 10.Metadata
11.Virtual network yang memungkinkan untuk melakukan isolasi secara logic dari resource Amazon EC2 lain
Amazon EC2 menggunakan hypervisor tipe XEN yang dikustom untuk pembangunan seluruh mesin virtual yang dimilikinya.
Gambar 2.2 Amazon EC2 Hypervisor (Badola, 2015)
13
Gambar 2.3 Fitur Amazon VM Export/Import (Amazon Web Services, 2016) Alur proses mekanisme untuk melakukan Import VM pada Amazon EC2 yaitu melakukan bundle VM image menjadi beberapa bentuk format yang didukung oleh Amazon EC2 yaitu RAW, VHD, VMDK, dan OVA kemudian file tersebut diupload ke Amazon S3. Ketika proses import berhasil maka image akan terdaftar dalam katalog kemudian ditransformasi menjadi AMI(Amazon Machine Image) yang selanjutnya dibedakan menurut region yang ditentukan. Sedangkan untuk proses Export VM catalog yang telah ada akan dibundle menjadi beberapa format file yaitu OVA, VHD, dan VMDK.
Untuk dapat mengakses sumber daya sistem yang ada di Amazon EC2 seperti login, Amazon EC2 menggunakan sistem keamanan kriptografi untuk melakukan enkrip dan dekrip informasi login. Kriptografi public key digunakan untuk melakukan enkrip data seperti password kemudian penerima menggunakan private key untuk melakukan dekrip data. Kedua kombinasi public key dan private key tersebut disebut key pairs.
2.1.2 Indonesian Cloud
14
of failure (Indonesian Cloud, 2016). vCloud Air merupakan secure cloud IaaS yang dibangun menggunakan fondasi hypervisor VMware vSphere.
Gambar 2.4 Arsitektur Hypervisor VMWare (Amazon Web Services, 2016)
2.1.3 Google Compute Engine
15
Gambar 2.5 Arsitektur layanan Google Compute Engine
Gambar 2.5 menunjukkan arsitektur layanan Virtual Machine pada Google Cloud Engine. Sedangkan teknologi hypervisor KVM (Kernel Based Virtual Machine).
Gambar 2.6 Arsitektur Hypervisor Google Cloud Engine
2.2 Teknologi Virtualisasi
16
2013). Virtualisasi memisahkan aplikasi, desktop, mesin, jaringan, data, dan layanan dari sumber daya fisik (PCI Security Standard Council, 2011).
Cloud computing berasal dari 2 konsep penting yaitu konsep abstraksi dimana menyembunyikan detail implementasi sistem seperti pengguna tidak mengetahui dimana letak perangkat fisik yang diakses dan konsep virtualisasi dimana menyatukan dan membagi sumber daya yang tersedia (Sosinky, 2011).. Beberapa tipe virtualisasi dalam lingkungan cloud computing yaitu :
1. Akses : Pengguna atau penyewa layanan cloud computing dapat melakukan permintaan akses dari suatu layanan cloud dari lokasi yang berbeda
2. Aplikasi : Cloud mengelola banyak aplikasi dan pengguna dapat melakukan permintaan untuk terhubung langsung sesuai kondisi.
3. CPU : Data komputer fisik dapat dibagi menjadi beberapa virtual mesin yang berjalan bersamaan dimana masing-masing mesin mempunyai beban kerja yang berbeda.
4. Storage : Data tersimpan di perangkat penyimpanan dan direplikasi untuk menyediakan layanan redundansi.
Selain tipe virtualisasi dalam cloud computing, terdapat beberapa tipe virtualisasi lain (PCI Security Standard Council, 2011) yaitu :
1. Virtualisasi Sistem Operasi
17
Umumnya digunakan untuk mengelola sumber daya dalam sistem operasi yang terletak di satu server fisik serta membagi sumber daya tersebut menjadi bagian-bagian yang lebih kecil dan masih terletak dalam kernel OS yang sama tetapi berbeda library atau distribusi seperti sumber daya virtual, aplikasi virtual, dan server privat virtual.
2. Virtualisasi Hardware/Platform
Salah satu contoh dari virtualisasi hardware yaitu teknologi partisi hardware atau bisa disebut hypervisor. Terdapat 2 jenis hypervisor (Sosinky, 2011) yaitu :
a. Type 1 VM bisa juga disebut Native VM atau Bare Metal VM dimana sistem operasi yang dijalankan dalam virtual mesin disebut guest operating sistem atau sistem operasi tamu serta dapat menjalankan beberapa tamu dalam satu mesin fisik. Sistem operasi yang berjalan dapat melakukan virtualisasi penuh dan hypervisor tipe ini tidak mempunyai sistem operasi host. Contoh produk hypervisor tipe 1 yaitu LynxSecure, RTS Hypervisor, Oracle VM, Sun xVM Server, VirtualLogix VLX, VMware ESX and ESXi, dan Wind River VxWorks
18
Gambar 2.8 Perbedaan 2 Jenis Hypervisor (Sosinky, 2011) c. Virtualisasi jaringan
Virtualisasi jaringan membedakan komponen logic dalam jaringan fisik. Seluruh komponen fisik jaringan seperti router, switch, firewall terdapat komponen logic yang berfungsi sebagai perangkat virtual.
Beberapa tipe komponen logic dalam perangkat jaringan yaitu :
1. Data plane : berfungsi melakukan forward komunikasi data diantara host dalam suatu jaringan
2. Control Plane : berfungsi mengelola traffic, jaringan, dan informasi routing
3. Management Plane : mengelola komunikasi langsung diantara 2 perangkat dengan tujuan mengatur dan mengelola perangkat menejemen perangkat jaringan
d. Data Storage
Virtualisasi penyimpanan data mengelola beberapa perangkat penyimpanan fisik yang bergabung menjadi satu perangkat menjadi sebuah subuah perangkat penyimpanan
19
Merupakan penggabungan memory fisik yang tersedia dari beberapa sistem untuk membuat sebuah kolam memory virtual yang dapat diakses antar komponen sistem
Salah satu komponen dari sistem virtualisasi yaitu virtual machine (PCI Security Standard Council, 2011). Virtual machine(VM) yaitu software komputer yang beroperasi layaknya komputer fisik yang menjalankan sistem operasi dan aplikasi (VMWare, 2015). Virtual machine berjalan secara pararel dan berbagi sumber daya dengan VM lainnya. Komponen yang mengatur dan menjalankan beberapa VM disebut hypervisor atau virtual machine monitor(VMM).
Dalam lingkungan virtualisasi terdapat suatu mekanisme yang menyediakan aspek portabilitas dalam melakukan pembangunan sistem dalam cloud menggunakan image system (Sosinky, 2011). Image system mempunyai kemampuan untuk melakukan pengkopian dan pengandaan seluruh komponen sistem dalam satu file. File image ini berisi sistem operasi, driver perangkat, aplikasi, informasi status sistem, file data yang dapat digunakan untuk melakukan restore sistem.
Virtual machine image menyediakan fasilitas pembangunan dan perbaikan secara cepat sistem virtual di beberapa host yang berbeda (PCI Security Standard Council, 2011). VM image menyimpan data-data sensitif sistem ketika image tersebut diambil seperti data konten aktif memory yang dapat mengakibatkan proses pengambilan komponen sistem yang kurang lengkap seperti penyimpanan data atau informasi penting lainnya.
Komponen file virtual machine :
1. .XML : File xml berisi detail konfigurasi di setiap virtual machine
2. .BIN : File bin berisi memory virtual machine atau snapshot dari status terakhir yang tersimpan
3. .VSV : File vsv berisi status tersimpan dari peralatan-peralatan yang berhubungan dengan virtual machine
20
5. AVHD : file disk berbeda yang digunakan dalam pembuatan virtual machine snapshot
2.3 Migrasi Cloud
Migrasi virtual machine merupakan salah satu kemampuan virtualisasi sistem dimana memungkinkan suatu aplikasi dapat dipindahkan secara transparan dari satu host fisik ke host fisik lainnya tanpa kehilangan fitur yang dimiliki (Strunk dan Dargie, 2013). Secara umum migrasi dilakukan dengan memindah/ mentransfer aplikasi beserta seluruh sistem virtual machine termasuk CPU, memory, disk dari sistem asal ke sistem tujuan. Selain dimanfaatkan untuk mengelola aplikasi beserta sumber daya dalam lingkungan data center dan sistem cloud yang tervirtualisasi, migrasi virtual machine juga memungkinkan untuk merelokasi sistem secara dinamis ke sistem lain yang memiliki eksekusi yang lebih cepat dan lebih handal (Open Data Center Alliance, 2013).
DMTF mendefinisikan tiga tipe operasi migrasi untuk virtual machine (Open Data Center Alliance, 2013):
1. Level 1 : VM hanya berjalan di produk virtualisasi/arsitektur CPU/virtual hardware tertentu. Migrasi level 1 setara dengan operasi „suspend‟ di sistem awal/sumber dan operasi „resume‟ di sistem tujuan/target. Mekanisme „Live Migration‟ dimungkinkan berjalan di Level 1.
2. Level 2 : VM berjalan di keluarga perangkat virtual yang lebih spesifik. Migrasi level 2 setara dengan operasi „shut-down‟ di sistem sumber diikuti
dengan „reboot‟ di sistem target. Migrasi berbeda hypervisor
dimungkinkan berjalan pada level ini.
21
Beberapa metodologi dalam migrasi cloud (Pappas, 2014) yaitu: 1. Cloud-RMM (Cloud-Reference Migration Model)
Merupakan model konseptual yang menggunakan pendekatan bottom-up untuk mengidentifikasi aktivitas low-level dan teknik yang kemudian dikategorisasikan untuk membentuk proses. Cloud-RMM juga menggunakan pendekatan top down untuk mementik framework yang terdiri dari beberapa proses, aktifitas, dan teknik. Tabel 1 mendeskripsikan tahapan metodologi migrasi Cloud-RMM.
Tabel 2.1 Metodologi Cloud-RMM (Pappas, 2014)
Proscess Task
Planning Feasibility study, migration requirement analysis, decisions of provider and services, migration strategies
Execution Code modification, architecture extraction, data extraction, transformation
Evaluation Deployment, Testing, Validation Crosscutting
concerns
Governance, Security, Training, Effort estimation,organizational change, Multitenancy
2. ARTIST (Advanced software-based service provisioning and migration of legacy software)
22
Tabel 2.2 Metodologi ARTIST(Pappas, 2014)
Proscess Task
Pre-migration Migration Feasibility Assesment
Migration Application Discovery & Understanding and Migration
Provisioning Testing, Verification, & Certification
2.4 Interoperabilitas
Dalam proses migrasi dari satu sistem ke sistem lainnya terutama dalam lingkungan cloud computing kemampuan interoperabilitas menjadi faktor yang penting. Interoperabilitas cloud mengacu pada kemudahan migrasi dan integrasi aplikasi,data, dan beban kerja diantara penyedia layanan cloud (Dowell dkk, 2011). Selain itu adanya incompatibilitas standar diantara penyedia cloud platform provider mengakibatkan migrasi aplikasi dari suatu provider ke provider lain masih menjadi proses yang sulit (Gholami dkk, 2016)
LISI (Levels of Information System Interoperability) (Dowell dkk, 2011) mengklasifikasikan atribut pertukaran dan pembagian informasi dan layanan antar sistem yaitu :
1. Prosedur
Mencerminkan tingkat interoperabilitas yang dihasilkan dari kebijakan operasional, panduan pembangunan fungsi program, standar arsitektur sistem seperti standar hardware, software sistem, komunikasi, dan aplikasi.
2. Aplikasi
Mencerminkan kemampuan software aplikasi yang dapat bekerja di sistem dan platform yang berbeda.
3. Infrastruktur
23 4. Data
Mencerminkan kemampuan fleksibilitas format data dan kekayaan informasi yang dipertukarkan di seluruh sistem dan domain.
Vendor lock-in merupakan merupakan keadaan dimana pengguna suatu produk bergantung pada satu provider dan tidak dapat berpindah ke provider lain tanpa biaya yang besar dan waktu yang lama (Opera-Martins dkk, 2014). Salah satu cara untuk mengatasi masalah vendor lock-in yaitu pembuatan standar interoperabilitas untuk mendukung mudahnya migrasi beban kerja, aplikasi, data dari satu cloud provider ke provider lainnya (Lewis, 2013).
Menurut (Cloud Standards Customer Council, 2013) salah satu isu utama dalam cloud computing yaitu cloud service provider lock-in, dimana ketika suatu layanan cloud dari suatu cloud provider telah diadopsi, akan sangat sulit jika akan berganti menggunakan layanan cloud yang setara di cloud provider lain. Munculnya berbagai macam standar akan meningkatkan portabilitas dan interoperabilitas sistem diantara berbagai macam cloud provider dan nantinya akan mengurangi permasalahan cloud service provider lock-in ini.
Paper (Lewis, 2013) mendefinisikan 4 dasar interoperabilitas kasus dalam lingkungan cloud computing:
1. Otentikasi user
Setiap pengguna harus teridentifikasi dalam lingkungan cloud. Beberapa standar yang mendukung kasus ini yaitu :
a. Amazon Web Services Identity Access Management (AWS IAM) merupakan mekanisme otentifikasi dan menejemen user yang digunakan oleh Amazon yang mendukung pembuatan user beserta menejemen perizinan beberapa user dalam satu akun AWS. Selain Amazon, Eucalyptus juga menggunakan standar ini untuk otentikasi user.
24
c. OpenID merupakan open standard yang memungkinkan pengguna terotentikasi dengan metode terdesentralisasi
d. WS-Security merupakan standar keamanan OASIS yang mengamankan pesan bertipe SOAP menggunakan XML Signature dan XML Encryption
2. Migrasi Beban Kerja
Migrasi beban kerja merepresentasikan migrasi VM image dari satu cloud provider ke cloud provider lain. Tipe migrasi bebean kerja membutuhkan ekstraksi beban kerja di cloud provider sumber dan upload beban kerja tersebut di cloud provider lain. Beberapa standar yang mendukung yaitu : a. Amazon Machine Image(AMI) merupakan jenis VM tertentu yang
dapat dibangun dalam lingkungan Amazon EC2. Eucalyptus dan OpenStack juga mendukung tipe AMI.
b. Open Virtualization Framework(OVF) merupakan standar pembangunan VM yang didukung oleh DMTF. Beberapa provider cloud yang mendukung yaitu Amazon EC2, Eucalyptus, dan OpenStack
c. Virtual Hard Disk(VHD) merupakan format VM yang didukung oleh Microsoft. Platform cloud yang mendukung VHD yaitu Amazon EC2 dan Microsoft Azure.
3. Migrasi Data
Dalam konteks interoperabilitas, ketika data telah dipindah ke cloud provider yang baru, seluruh program yang melakukan operasi CRUD(create, retrieve, update, delete) di cloud sebelumnya harus dapat melakukan operasi tersebut di cloud provider yang baru. Beberapa standar yang mendukung migrasi data yaitu :
a. Cloud Data Management Interface(CDMI) meruapakan standar yang didukung oleh SNIA(Storage Networking Industry Association) dimana mendefinisikan API untuk operasi CRUD pada elemen data di lingkungan cloud.
25 4. Menejemen workload
Merupakan menejemen beban kerja sistem yang dibangun dalam lingkungan cloud.
Terdapat beberapa faktor yang mempengaruhi aspek bisnis dari Interoperabilitas Virtual Machine yaitu (Open Data Center Alliance, 2013) :
1. Migrasi Aplikasi : merupakan kemampuan memindahkan aplikasi dari satu mesin Virtual Mesin di satu lingkungan cloud provider ke cloud provider lain dengan usaha minimal dengan pertimbangan efisiensi biaya, fungsionalitas, level layanan dll
2. Pengembangan Private Cloud : penambahan sumber daya komputasi pada jaringan cloud private lokal dengan mudah seperti kemudahan pengelolaan dan migrasi beban kerja antara lingkungan cloud privat dan cloud public 3. Keberlangsungan Bisnis : proses migrasi atau replikasi aplikasi
diantara provider menyebabkan beberapa masalah dan gangguan salah satunya yaitu pelanggaran keamanan.
2.5 Pengujian Aplikasi
Dalam dunia pengujian aplikasi, faktur kualitas software merupakan komponen yang tidak dapat dipisahkan. Terdapat beberapa model faktor penentu kualitas software, salah satunya yaitu model McCall (Galin, 2004) yang terdiri dari 11 faktor diantaranya yang dikategorikan dalam 3 kelompok yaitu:
1. Product operation factors: Correctness, Reliability, Efficiency, Integrity, Usability.
26
Gambar 2.9 Model McCall (Galin, 2004)
Fokus utama pengujian aplikasi cloud dalam penelitian ini yaitu faktor interoperability yang dalam konteks (Galin, 2004) disebut portability dimana merupakan kemampuan adaptasi dari sistem software ketika dipindah ke lingkungan lain yang berbeda hardware, sistem operasi, dan sebagainya.
Pengujian aplikasi atau bisa disebut software test merupakan komponen dari software quality assurance yang bertujuan untuk melakukan review terhadap software yang telah berjalan. Pengujian aplikasi yang dilakukan berdasarkan pada list test case yang telah disiapkan yang merepresentasikan berbagai macam skenario yang diinginkan. Dalam pengujian aplikasi juga dikenal istilah white box dan black box testing.
27
dari white box testing ini membutuhkan verifikasi dari setiap baris program. Terlihat pada tabel di bawah bahwa untuk portability test cukup menggunakan black box testing.
Dalam melakukan proses pengujian juga terdapat langkah-langkah proses yang diikuti.
28
Tahap pertama yaitu menentukan metodologi pengujian termasuk strategi pengujian yang akan digunakan apakah menggunakan big bag atau incremental testing. Selanjutnya yaitu melakukan merencanakan pengujian apakah unit test, integration test, maupun system test. Unit test mencakup pengujian unit kecil dari software atau modul, integration test mencakup gabungan dari beberapa unit yang bergabung menjadi sub sistem, sedangkan sistem test mengacu pada keseluruhan sistem.
Pada banyak perusahaan proses pengujian terdiri unit testing kemudian black box testing yang terdiri dari build acceptance test, fungsional test, system test, dan reliability test. Salah satu teknik black box testing yang digunakan untuk menguji dan memvalidasi software berbasis cloud yaitu BAT (Build Acceptance Test). Pengujian aplikasi menggunakan BAT menggunakan 2 metrik yaitu melakukan pemeriksaan jumlah layanan yang terlibat dalam use case yang dapat mempengaruhi test case dalam menemukan kesalahan dan mencari layanan yang spesifik berhubungan dengan banyaknya kesalahan pada software sebelumnya.
Selain itu (Srikanth dkk, 2016) dalam jurnalnya menjelaskan tentang teknik membagi prioritas test case, salah satunya yaitu total greedy prioritization technique dimana memilih test case di setiap step yang mewakili keseluruhan elemen.
Secara umum terdapat beberapa pengujian untuk aplikasi website (Cai dkk, 2014), diantaranya yaitu:
1. Unit Testing: Pengujian yang berfokus pagian kecil dari kode seperti class, method, function atau interface untuk memastikan kode yang telah dibuat berfungsi.
29
3. Compatibility Testing: Pengujian untuk mencari seberapa bagus performansi sistem website ketika dipindah ke lingkungan sistem lain yang berbeda dari segi hardware, network, sistem operasi, web browser dll.
4. Performance Testing: Pengujian untuk mengukur stabilitas, response time, scalability, dan throughpuy dari aplikasi website. Pengujian ini berfokus pada mencari masalah performansi dalam design dan arsitektur dari software.
5. Load Testing : Pengujian yang bertujuan untuk mengukur reaksi aplikasi ketika berada pada kondisi beban normal dan dalam kondisi beban yang tinggi.
6. Stress Testing : Pengujian untuk mengevaluasi reaksi aplikasi jika berada dalam kondisi diluar spesifikasinya
7. Regression Testing : Bertujuan untuk mencari kembali bugs setelah perubahan komponen sistem
8. Security Testing : Bertujuan untuk memastikan apakah aplikasi yang digunakan dapat mencegah pencurian data atau ancaman lainnya.
Dalam melakukan pengujian fungsionalitas program tentunya akan ditemukan suatu error/defect software jika terdapat masalah pada aplikasi. Penggolongan/klasifikasi defect severity terdiri dari 4 klasifikasi.
1. Critical : jika error yang terjadi mempengaruhi fungsionalitas aplikasi yang bersifat kritis. Seperti kegagalan instalasi.
2. Major : jika error yang terjadi mempengaruhi fungsionalitas utama aplikasi yang bersifat major seperti fitur dari suatu modul tidak berjalan sesuai proses bisnisnya.
3. Minor : jika error yang terjadi mempengaruhi fungsionalitas utama aplikasi.
30
2.6 Penelitian Sebelumnya
TIOSA (Testing VM Interoperability at an OS and Aplication Level) (Lenk dkk, 2014) merupakan suatu metode untuk mengukur interoperabilitas sistem antara dua hypervisor yang berbeda. TIOSA menggunakan metode pengetesan berbasis greybox yang berfokus pada verifikasi aplikasi dan sistem operasi.
Metode pengujian TIOSA yaitu :
1. Proses model yang terstruktur dan terulang a. Melakukan pengecekan interoperabilitas
Menentukan kemungkinan migrasi antara dua hypervisor dengan mengumpulkan metadata yang dibutuhkan untuk proses migrasi tersedia dan memungkinkan untuk terjadi proses migrasi.
b. Melakukan proses copy VM diantara dua hypervisor
Proses ini memastikan VM berhasil dikonversi dan dapat berjalan di hypervisor tujuan. Seluruh hasil test yang telah dilakukan masih dalam batas yang tolerable
2. Ukuran untuk menggambarkan hasil tes
Hasil test dikelompokkan dalam kategori Success, Warning, dan Failure 3. Metrik evaluasi pembanding
31
Terdapat metrik evaluasi pembanding untuk menentukan indikator hasil keseluruhan pengujian.
Implementasi metode pengujian TIOSA menggunakan kombinasi dari beberapa produk virtualisasi server yaitu VMWare, Citrix Xen, KVM dan Microsoft Hyper-V. Total kombinasi migrasi berjumlah 12 kombinasi untuk masing-masing sistem operasi. Sistem operasi yang digunakan dalam implementasi yaitu CentOS 6.2, Ubuntu 12.0.4, dan Microsoft Windows 2008 R2 64-bit. Hasil dari pengujian interoperabilitas antar hypervisor pada TIOSA dapat dilihat pada gambar sebagai berikut :
Gambar 2.12 Hasil Pengujian CentOS 6.6 (Lenk dkk, 2014)
32
Gambar 2.13 Hasil Pengujian Ubuntu 12.04 (Lenk dkk, 2014)
Dari hasil pengujian didapatkan hasil bahwa skenario pengujian konversi image menggunakan sistem operasi Ubuntu 12.04 yang mendapatkan status Successful yaitu dari Citrix Xen ke HyperV.
33
Gambar 2.15 Hasil Keseluruhan (Lenk dkk, 2014)
Dari 36 kemungkinan migrasi image VM yang diuji sebanyak 2 skenario konversi yang berhasil mendapatkan status Successful, 15 mendapatkan status Warning, sedangkan sisanya yaitu 19 konversi image mendapatkan status Failure.
34
35
BAB 3
METODE PENELITIAN
3.1 Metode Penelitian
Metode penelitian yang akan dilakukan pada penelitian ini merupakan metode pengembangan dari metode TIOSA (Lenk dkk, 2014), dimana terdapat penambahan komponen pengujian yaitu pengujian fungsionalitas aplikasi sebelum dan sesudah proses migrasi.
Konversi Image Sistem
Import Image Sistem
Pengujian Fungsionalitas
Aplikasi
Cloud Sumber
Cloud Tujuan
Evaluasi Hasil Pengujian Fungsionalitas
Aplikasi
Gambar 3.1 Metode Penelitian Tahapan metode dari penelitian yang akan dilakukan yaitu:
1. Pengujian Fungsionalitas Aplikasi di Cloud Sumber
Sebelum dilakukan proses migrasi, pengujian fungsionalitas aplikasi dilakukan untuk memastikan fungsionalitas berjalan dengan baik sebelum dilakukan proses migrasi. Pengujian fungsionalitas aplikasi di cloud sumber ini yang akan dijadikan sebagai acuan sebagai untuk pengujian fungsionalitas selanjutnya yaitu pada saat setelah migrasi.
36
Pada tahap ini dilakukan pencarian informasi dan studi mengenai kemungkinan migrasi antara dua cloud provider yang akan dilakukan proses migrasi seperti adanya tools untuk melakukan konversi image dari cloud sumber ke cloud tujuan kemudian pencarian informasi mengenai standar image sistem yang digunakan di kedua cloud provider. Proses konversi image sistem dilakukan menggunakan tools yang tersedia yang disesuaikan dengan jenis cloud provider sumber dan tujuan. Proses konversi image sistem dapat bersifat otomatis dan manual.
3. Import Image Sistem di Cloud Tujuan
Proses impor sistem dilakukan setelah seluruh konfigurasi di cloud tujuan telah siap untuk dilakukan proses impor image dari cloud sumber. Proses impor image dalam tahap ini dapat bersifat otomatis atau manual sesuai dengan jenis cloud sumber dan cloud tujuan yang digunakan.
4. Menguji aplikasi
Setelah tahap impor image sistem berhasil dilakukan dan seluruh layanan dalam sistem yang telah dimigrasi mulai dijalankan termasuk aplikasi yang akan dilakukan pengujian fungsionalitasnya.
Pengujian fungsionalitas aplikasi pada cloud tujuan menggunakan testbed yang memiliki komponen pengujian yang sama dengan pengujian di server fisik. Tujuannya yaitu melakukan verifikasi fungsionalitas aplikasi.
5. Mengevaluasi hasil
Setelah seluruh data pengujian migrasi terkumpul maka akan dapat ditentukan tingkat interoperabilitas sesuai dengan parameter ukuran yang telah ditentukan. Untuk setiap kemungkinan migrasi akan digolongkan sesuai dengan tingkat interoperabilitas aplikasinya.
3.2 Rancangan Sistem
37
3.2.1 Skenario Desain Migrasi Sistem
Terdapat 2 macam infrastruktur cloud yang akan dilakukan pengujian tingkat interoperabilitasnya. Infrastruktur pertama yaitu migrasi cloud antara Amazon Elastic Compute Cloud (EC2) dimana jenis hypervisor yang dipakai yaitu Xen dengan Indonesian Cloud dimana hypervisor yang dipakai yaitu VMware vCloud Air. Sedangkan untuk infrastruktur migrasi cloud yang kedua yaitu antara Amazon EC2 (Elastic Compute Cloud) dimana jenis hypervisor yang dipakai yaitu Xen dengan Google Compute Engine yang memakai KVM sebagai hypervisornya. Skenario migrasi yang dilakukan terbagi menjadi 2 skenario yaitu:
1. Migrasi Amazon EC2 ke Indonesian Cloud
Pada infrastruktur migrasi cloud dari Amazon EC2 ke Indonesian Cloud tahapan yang dilakukan yaitu:
a. Melakukan pengujian fungsionalitas aplikasi di server fisik b. Migrasi image dari server fisik ke server Amazon EC2 c. Melakukan pengujian fungsionalitas aplikasi
d. Migrasi image dari server Amazon EC2 ke Indonesian Cloud e. Melakukan pengujian fungsionalitas aplikasi di server
Indonesian Cloud
Sistem Operasi Aplikasi Server FIsik Source Cloud (Amazon EC2)
Virtual Machine Sistem Operasi
Aplikasi
Virtual Machine Sistem Operasi
Aplikasi Migrasi
Target Cloud 1 (Indonesian Cloud)
Virtual Machine Migrasi
38
2. Migrasi Amazon EC2 ke Google Compute Engine
Pada insfrastruktur migrasi cloud dari Amazon EC2 ke Google Compute Engine tahapan yang dilakukan yaitu :
a. Melakukan pengujian fungsionalitas aplikasi di server Amzon EC2
b. Migrasi image dari server Amazon EC2 ke Google Compute Engine
c. Melakukan pengujian fungsionalitas aplikasi di server Google Compute Engine
Source Cloud (Amazon EC2)
Target Cloud 2(Google Cloud Engine)
Virtual Machine Sistem Operasi
Aplikasi
Virtual Machine Sistem Operasi
Aplikasi Migrasi
Gambar 3.3 Skenario Migrasi Kedua
3.2.2 Aplikasi E-Commerce
Aplikasi yang akan diuji tingkat interoperabilitasnya dalam penelitian ini yaitu layanan E-Commerce. E-Commerce merupakan website yang menyediakan fasilitas membeli dan menjual produk melalui internet. Terdapat berbagai macam fitur layanan dalam suatu website E-Commerce mulai dari pencarian produk yang diinginkan pembeli, pemesanan produk, hingga transaksi.
39
Use Case dan Diagram Activity dalam penelitian ini digunakan untuk mempermudah dalam menentukan fungsionalitas aplikasi apa saja yang akan diuji.
1. Diagram Use Case Aplikasi
Diagram use case pada aplikasi menggambarkan menggambarkan fungsi-fungsi yang terdapat pada sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut.
Gambar 3.4 Diagram Use Case Aplikasi Pengujian
40
artikel yang dibuat oleh administrator, melakukan submit komentar pada artikel, melakukan submit review pada produk, melihat komentar artikel, serta melihat review produk.
Sedangkan untuk aktor Administrator merupakan pengelola dari aplikasi E-Commerce yang mempunyai beberapa fungsi yaitu menambah produk, mengubah produk, menghapus produk, memproses pesanan, memproses komentar artikel, memproses review produk, menambah artikel, mengubah artikel, emnghapus artikel, melihat report penjualan, menambah, mengubah user, serta menghapus user.
2. Diagram Activity Aplikasi
Diagram activity menggambarkan alur proses yang terjadi pada aplikasi. Pada penelitian ini digunakan diagram activity /aktifitas untuk menggambarkan alur proses yang terjadi pada pada tiap modul yang akan diuji. Adapun beberapa flow aktifitas yang akan diuji yaitu:
a. Memesan Barang
41
customer. Setelah proses pemesanan berhasil customer juga dapat melihat status pemesanan untuk mengetahui status dari pemesanan yang telah dilakukan.
42 b. Menambah Komentar Artikel
Alur sistem pada aktifitas penambahan komentar artikel yaitu setelah customer mengakses halaman toko, lalu mengakses ke halaman artikel. customer harus melakukan login terlebih dahulu untuk dapat mengisi komentar artikel. Setelah proses submit artikel berhasil, selanjutnya yaitu administrator akan melakukan persetujuan komentar, setelah itu sistem akan menampilkan komentar customer tersebut. Jika komentar ditolak maka komentar akan dibuang dan tidak akan ditampilkan
Gambar 3.6 Diagram Aktifitas Menambah Komentar Pada Artikel c. Menambah Produk
43
dan administrator, serta customer akan dapat melihat produk baru yang telah dibuat.
Gambar 3.7 Diagram Aktifitas Menambah Produk d. Mengubah Produk
44
Gambar 3.8 Diagram Aktifitas Mengubah Produk e. Menghapus Produk
45
Gambar 3.9 Diagram Aktifitas Menghapus Produk f. Menambah Review Produk
46
Gambar 3.10 Diagram Aktifitas Menambah Review Produk g. Menambah Artikel Baru
47
Gambar 3.11 Diagram Aktifitas Menambah Artikel Baru h. Mengubah Artikel
48
Gambar 3.12 Diagram Aktifitas Mengubah Artikel i. Menghapus Artikel
49
Gambar 3.13 Diagram Aktifitas Menghapus Artikel j. Melihat Report
50
Customer Admin Sistem
Login
Mengakses Halaman Report
Memilih Tipe Report
Download File Laporan
Gambar 3.14 Diagram Aktifitas Report k. Menambah User Baru
51
Gambar 3.15 Diagram Aktifitas Menambah User Baru l. Mengubah Data User
52
Gambar 3.16 Diagram Aktifitas Mengubah User m. Menghapus Data User
53
Gambar 3.17 Diagram Aktifitas Menghapus User
3.3 Skenario Pengujian
Terdapat beberapa tahap dalam skenario pengujian dalam penelitian ini yaitu: 1. Pengujian Migrasi dari Amazon EC2 ke Indonesian Cloud
a. Pengujian fungsionalitas aplikasi di server fisik
b. Pengujian eksport image dari server fisik ke server Amazon EC2 c. Pengujian import image di server Amazon EC2
d. Pengujian fungsionalitas aplikasi di server Amazon EC2
e. Pengujian eksport image dari server Amazon EC2 ke server Indonesian Cloud
f. Pengujian import image di server Indonesian Cloud
g. Pengujian fungsionalitas aplikasi di server Indonesian Cloud 2. Pengujian Migrasi dari Amazon EC2 ke Indonesian Cloud
a. Pengujian fungsionalitas aplikasi di server Amazon EC2
54
c. Pengujian import image di server Google Cloud Engine
d. Pengujian fungsionalitas aplikasi di server Google Cloud Engine
3.4 Rancangan Evaluasi Hasil Pengujian
Rancangan hasil evaluasi yang pertama yaitu evaluasi fungsionalitas aplikasi. Rancangan evaluasi pengujian aplikasi ini dirancang berdasarkan alur sistem yang telah disusun pada diagram aktifitas sehingga pengujian dapat dilakukan secara terurut dan memudahkan evaluasi jika terjadi fungsionalitas yang tidak berjalan saat pengujian. Evaluasi ini akan selalu dipakai untuk pengujian fungsionalitas aplikasi baik di cloud sumber maupun di cloud tujuan setelah proses migrasi berhasil.
Tabel 3.1 Rancangan Testbed Fungsionalitas Aplikasi
No Aktifitas Detail Aktifitas Aktor Hasil 1
1.1 Mengakses Halaman
Homepage Customer
1.2 Memilih Produk Customer
1.3 Masuk ke Keranjang Belanja Customer
1.4 Memasukkan Kupon Customer
1.5 Mengubah Keranjang Belanja Customer
1.6 Melakukan Proses Checkout Customer
1.7 Mengisi Form Registrasi Akun Customer
1.8 Mengisi Form Alamat
Pengiriman Customer
1.9 Memilih Metode Pembayaran Customer
1.10 Memesan Barang Customer
1.11 Mengurangi Stok Barang Sistem
1.12 Memproses Pemesanan Administrator
1.13 Melihat Status Pemesanan Customer
2
2.2 Mengakses Halaman Produk Administrator 2.3 Mengakses Halaman Add
Product Administrator
2.4 Mengisi Deskripsi Produk Administrator 2.5 Mengunggah Gambar Produk Administrator
2.6 Mempublish Produk Administrator
2.7 Menampilkan Produk Sistem
55
No Aktifitas Detail Aktifitas Aktor Hasil
3.2 Mengakses Halaman Produk Administrator 3.3 Mengakses Halaman Edit
Produk Administrator
3.4 Mengubah Informasi Produk Administrator 3.6 Mengupdate Informasi Produk
Terbaru Sistem
3.5 Melihat Produk Administrator
3.6 Melihat Produk Customer
4.3 Mengakses Halaman Produk Administrator 4.4 Memindah Produk Ke Menu
Trash Administrator
4.5 Mengakses Halaman Trash Administrator
4.6 Menghapus Permanen Produk Administrator
4.7 Menghapus Permanen Produk Sistem
5.1 Mengakses Halaman
Homepage Customer
5.2 Mengakses Halaman Artikel Customer
5.2 Login Customer
5.3 Mengisi form komentar Customer
5.4 Submit komentar Customer
5.5 Menyetujui komentar Administrator
5.6 Menampilkan komentar Sistem
5.7 Menyetujui komentar Administrator
5.8 Melihat Komentar Customer
6
Mensubmit Review Produk
6.2 Mengakses Detail Produk Customer
6.3 Login Customer
6.4 Mengisi Kolom Review
Customer
6.5 Submit Review Customer
6.6 Menyetujui Review Administrator
56
No Aktifitas Detail Aktifitas Aktor Hasil
Customer
6.9 Melihat Review Customer Administrator
6.10 Melihat Review Customer
7.2 Mengakses Halaman Artikel Administrator 7.3 Mengakses Halaman Tambah
Artikel Administrator
7.4 Mengisi Informasi Artikel Administrator
7.5 Publish Artikel Administrator
7.6 Menampilkan Artikel Baru Sistem
7.7 Melihat Artikel Baru Administrator
7.8 Melihat Artikel Baru Customer
8.2 Mengakses Halaman Artikel Administrator 8.3 Mengakses Halaman Ubah
Artikel Administrator
8.4 Mengubah Artikel Administrator
8.5 Menampilkan Artikel Terbaru Sistem
8.6 Melihat Artikel Terbaru Administrator
8.7 Melihat Artikel Terbaru Customer
9
9.2 Mengakses Halaman Artikel Administrator
9.3 Memilih Menu Trash Administrator
9.4 Mengakses Halaman Trash Administrator
9.5 Memilih Menu Hapus
Permanen Administrator
9.6 Menghapus Artikel Sistem
10
Melihat Report
10.1 Login Administrator
10.2 Mengakses Halaman Report Administrator
10.3 Memilih Tipe Report Administrator
10.4 Download File Laporan Administrator
11
11.2 Mengakses Halaman User Administrator
11.3 Mengakses Halaman Tambah
User Administrator
11.4 Mengisi Informasi User Baru Administrator 11.5 Menyimpan Data User Baru Administrator 11.6 Menampilkan Data User
Baru Sistem
12 Mengubah User
12.1 Login Administrator
57
No Aktifitas Detail Aktifitas Aktor Hasil
12.3 Mengakses Halaman Ubah
User Administrator
12.4 Mengubah Data User Administrator
12.5 Menyimpan Perubahan User Administrator 12.6 Menampilkan Data User
Terbaru Sistem
13.2 Mengakses Halaman User Administrator
13.3 Memilih Menu Hapus User Administrator 13.4 Konfirmasi Penghapusan
User Administrator
13.5 Menghapus Data User Sistem
Setelah rancangan evaluasi pengujian aplikasi, selanjutnya yaitu rancangan pengujian migrasi yang akan dilakukan. Rancangan ini dirancang sesuai dengan skenario pengujian yang dilakukan yang dibagi menjadi 2 skenario. Jenis pengujian dibagi menjadi 2 sub pengujian yaitu Booting dan Login.
Tabel 3.2 Rancangan Testbed Pengujian Migrasi VM
No Jenis Pengujian Hasil
1 Migrasi Server Fisik ke Amazon EC2
Booting Login Migrasi Server
Amazon EC2 ke Indonesian Cloud
Booting Login 2 Migrasi Server
Amazon EC2 ke Google Compute Engine
Booting Login
58
3.5 Rancangan Parameter Level Evaluasi Interoperabilitas
Rancangan parameter evaluasi interoperabilitas disusun sebagai hasil akhir yang menentukan level interoperabilitas migrasi. Penentuan level yang digunakan mengacu dari penelitan sebelumnya (Lenk dkk, 2014). Terdapat 2 jenis rancangan evaluasi level interoperabilitas yaitu evaluasi di setiap proses migrasi yang terdiri fungsionalitas yang diuji dan evaluasi fungsionalitas secara keseluruhan yang menentukan tingkat interoperabilitas migrasi cloud.
Evaluasi level interoperabilitas ini akan dipakai untuk menguji 2 jenis pengujian yaitu pengujian migrasi image VM sistem dan pengujian fungsionalitas aplikasi setelah proses migrasi. Evaluasi fungsionalitas dibagi menjadi 3 level yaitu “Berhasil”, “Peringatan”, dan “Gagal”.
Jika pada pengujian fungsionalitas aplikasi level “Berhasil” berarti jika setelah terjadi migrasi tidak ada perubahan fungsionalitas aplikasi yang diuji. Tidak ada error/defect software yang ditemukan baik dari secara mayor maupun minor. Fungsionalitas aplikasi berhasil berjalan di cloud baru sesuai dengan fungsionalitas nya di sistem atau cloud yang lama. Level “Peringatan” diberikan jika setelah migrasi fungsionalitas yang diuji berjalan sesuai dengan fungsionalitasnya di cloud lama, tetapi terjadi beberapa perubahan di fungsionalitas lain seperti fungsionalitas minor. Level “Gagal” diberikan jika setelah terjadi migrasi, fungsionalitas yang diuji tidak berjalan sesuai dengan fungsionalitas asli di cloud lama baik fungsionalitas mayor maupun minor.
59
Tabel 3.3 Deskripsi Level Interoperabilitas Aplikasi
Level Aplikasi
Berhasil Jika setelah migrasi tidak ditemukan error/defect software kategori mayor maupun minor.
Peringatan Jika setelah migrasi ditemukan error/defect yang bersifat minor seperti :
1. Banner website tidak muncul pada homepage
2. Terdapat kesalahan redaksional pada aplikasi
Gagal Jika setelah terjadi migrasi, fungsionalitas yang diuji tidak berjalan sesuai dengan fungsionalitas asli di cloud lama dan ditemukan defect software dikategorikan sebagai defect mayor.
Contoh :
1. Custumer gagal melakukan pemesanan barang setelah memilih menu submit pemesanan
2. Administrator gagal menyimpan produk baru
3. Administrator tidak bisa login ke dalam aplikasi
60
diujikan seperti booting/reboot berjalan normal tetapi terdapat perubahan di parameter lain yang tidak terlalu signifikan. Level “Gagal” diberikan jika setelah terjadi migrasi, parameter sistem yang diuji tidak berjalan sebagaimana mestinya. Tabel 3.4 Evaluasi Hasil Keseluruhan
Level Dekripsi Penilaian
Berhasil Jika seluruh parameter yang
diujikan mendapatkan status level „Berhasil‟.
Peringatan Jika dari seluruh parameter yang diuji terdapat minimal 1 parameter yang mendapatkan status ‟Peringatan‟
Gagal Jika dari seluruh parameter yang
diuji terdapat 1 parameter yang mendapatkan status „Gagal‟