<<

Vol. 4, No. 3 Juni 2015 ISSN 2088-2130

CONTAINER DAN : TEKNIK VIRTUALISASI DALAM PENGELOLAAN BANYAK APLIKASI WEB

Firmansyah Adiputra Program Studi Manajemen Informatika, Fakultas Teknik, Universitas Trunojoyo Madura Jl. Raya Telang, PO BOX 2 Kamal, Bangkalan E-mail : [email protected]

ABSTRAK

Sistem web hosting modern, di dalam setiap servernya, mengelola banyak aplikasi web. Teknologi dimanfaatkan untuk menyelesaikan masalah heterogenitas (perbedaan versi library atau tool dari beberapa aplikasi web). Peningkatan jumlah aplikasi web yang harus dihosting harus diikuti dengan peningkatan kualitas ataupun kuantitas sumber daya, terlebih saat hadirnya kebutuhan high availability dari layanan web tersebut. Teknik kontainerisasi (virtualisasi berbasis container) hadir sebagai solusi dan menjadi trend saat ini. Docker adalah salah satu software yang mengadopsi teknik kontainerisasi dan semakin banyak diterapkan di dalam lingkungan web hosting. Tulisan ini mencoba untuk melakukan kajian literatur terhadap teknologi virtualisasi di atas, baik virtual machine maupun container dan kemudian merangkum perbandingannya. Arsitektur container di dalam Docker merupakan fokus dari tulisan ini, termasuk perkembangan dan keunggulan dari Docker yang sudah diteliti dan diimplementasikan dalam dua tahun terakhir. Review ini dirasakan sangat penting bagi pengembang dan system administrator yang mengelola banyak aplikasi web, terutama aplikasi-aplikasi yang memiliki heterogenitas tinggi dan berjalan di dalam satu mesin server fisik yang sama.

Kata kunci: mesin virtual, container, web hosting, pengelolaan aplikasi web, docker.

ABSTRACT

Modern web hosting system manages many web applications in each of its servers. Virtual machine technology have been used as a solution to software heterogeneity. An increased number of hosted web application must be balanced by enhancement in resources quality or quantity, especially if high availability must be met. Container based is now becoming a trend. Docker is a platform that implements container based virtualization, and many web hosting services are starting use it. This paper reviews and compares the two virtualization technology, virtual machine and container based virtualization. This paper focused on the architecture of Docker's container, the advantages of Docker, and the development of Docker in the last two years. The review will be useful for software developers and system administrators who maintain many web applications which have high heterogeneity and runs on the same physical server.

Keyword: virtual machine, container, web hosting, web application management, docker.

167

Jurnal Ilmiah SimanteC Vol. 4, No. 3 Juni 2015

PENDAHULUAN muncul adalah perbedaan versi library Menurut Wikipedia, layanan hosting atau software dari beberapa aplikasi di Internet adalah suatu layanan yang bawah tanggungjawab web server. menjalankan server-server Internet se- Aplikasi tertentu, misalnya hingga suatu organisasi atau individu X.trunojoyo.ac.id dibuat menggunakan dapat menyediakan layanan tertentu yang bahasa pemrograman (interpreter) PHP dapat diakses dari Internet. Ada banyak versi 4.x dan terhubung ke server jenis dan tingkatan layanan hosting database MySQL versi 4.x. Aplikasi lain, Internet, salah satunya adalah web misalnya Y.trunojoyo.ac.id dibuat hosting. Web hosting adalah layanan menggunakan PHP versi terbaru (5.6.3) yang memungkinkan pengguna Internet dan datanya tersimpan di server MySQL mempunyai situs atau aplikasi web yang terbaru pula (5.7). Artinya server tersebut dapat diakses melalui World Wide Web harus menginstal 2 versi interpreter dan (WWW atau Web). Web host adalah server MySQL. Ini sangat sulit perusahaan yang menyediakan ruang diwujudkan. Solusinya adalah pada server untuk meletakkan file-file memisahkan aplikasi dengan kebutuhan web pengguna sekaligus juga khusus pada server khusus. Pendekatan menyediakan koneksi Internet. Ini ini memerlukan biaya tinggi untuk menghasilkan suatu infrastruktur pengadaan server, instalasi dan bernama data center. perawatannya. Secara teknis, layanan web dise- Penyelesaian masalah di atas banyak diakan oleh software web server seperti menggunakan konsep virtualisasi ber- Apache dan nGinX. Secara default, setiap basis mesin virtual (virtual machine, web server menyediakan situs web untuk VM). Suatu server dapat diisi beberapa satu domain tertentu, misalnya server virtual. Sebagaimana server riil, www.trunojoyo.ac.id (situs web utama server virtual harus mempunyai sistem Universitas Trunojoyo Madura). Metode operasi (SO) dan berbagai perangkat virtual hosting digunakan untuk lunak lain agar layanan web hosting menempatkan banyak nama domain atau dapat berjalan. Dengan adanya server sub-domain di dalam satu web server. Ini virtual, setiap aplikasi web berjalan pada memungkinkan banyak aplikasi web mesinnya masing-masing dimana file berbagi pakai sumber daya komputasi pustaka, interpreter, server database seperti siklus memori dan processornya. setiap server disesuaikan dengan Pada pendekatan virtual hosting, file-file kebutuhan dari aplikasi. Pendekatan ini dari setiap aplikasi web diisolasi di dalam memungkinkan terwujudnya isolasi direktori masing-masing sehingga jika terhadap suatu aplikasi dan datanya. terjadi tindakan kejahatan terhadap suatu Penyusup yang dapat menembus server aplikasi web maka tidak berpengaruh virtual tertentu tidak serta merta dapat terhadap aplikasi web lain. mengakses server virtual lain meskipun Masalah yang muncul pada berada dalam satu server riil yang sama. pendekatan virtual hosting adalah Kelemahan utama pendekatan ini adalah meningkatnya beban kerja dari web kebutuhan memory, processor dan server sejalan dengan bertambahnya storage yang semakin tinggi seiring jumlah aplikasi web dan pengguna bertambahnya mesin virtual di dalam (pengunjung) yang harus ditanganinya. suatu server. Hal lain yang perlu Data yang digunakan oleh banyak diperhitungkan adalah lamanya waktu aplikasi web biasaya disimpan di dalam startup dari setiap mesin virtual yang satu server database. Ini memungkinkan rata-rata lebih panjang daripada waktu kerusakan data dari semua aplikasi saat startup server riil. Meskipun hadir server database berhasil dimasuki oleh dengan beberapa kekurangan, pendekatan penyusup. Masalah terakhir yang sering mesin virtual ini adalah yang paling

168

Firmansyah Adiputra, Container dan Docke…

banyak digunakan saat ini, termasuk di atau software yang dibutuhkan oleh data center Universitas Trunojoyo aplikasi web. Madura. Kebutuhan akan perangkat server METODOLOGI PENELITIAN semakin bertambah saat availability Tulisan ini mencoba untuk (ketersediaan) layanan dari aplikasi web melakukan kajian literatur terhadap menjadi prioritas. Aplikasi dan data yang teknologi virtualisasi dalam pengelolaan dianggap penting diperbanyak dengan banyak aplikasi web yang biasanya menginstalnya pada dua atau lebih server dikelola dalam suatu sistem web hosting. riil atau virtual. Jika aplikasi Telaah dimulai dengan melihat konsep Y.trunojoyo.ac.id dipasang pada dua hosting aplikasi web tradisional dan server fisik berbeda, maka saat terjadi virtual machine (VM). Beberapa kerusakan atau penghentian layanan pada kelemahan dari VM dirangkum dan server pertama, server kedua tetap hadir kemudian membandingkannya dengan menyediakan layanan dari aplikasi Y konsep virtualisasi sistem operasi (SO) tersebut. Semakin tinggi tingkat berbasis cointainer. Kontainerisasi ketersediaan yang diharapkan maka aplikasi web menjadi trend dalam semakin banyak server yang harus pengelolaan web hosting karena hadirnya disediakan, dikonfigurasi dan dirawat. Di software bernama Docker dan sisi lain, jumlah aplikasi web yang harus pendukungnya di bahas pada bagian dionlinekan ke Internet terus bertambah. berikutnya. Terakhir, dijelaskan pula Server riil mahal dan tidak dapat perkembangan dan keunggulan dari diadakan setiap waktu. Penambahan Docker yang sudah diteliti dan server virtual akan semakin memberatkan diimplementasikan dalam 2 tahun beban kerja server riil. Penambahan terakhir. Review ini dirasakan sangat jumlah server juga mengakibatkan penting bagi pengembang dan pengelola peningkatan kebutuhan listrik, ruangan banyak aplikasi web, terutama aplikasi- dan jumlah serta kualitas pengelola aplikasi yang melibatkan heterogenitas jaringan. tool dan library saat banyak aplikasi Berdasarkan analisis yang telah berjalan di dalam satu mesin server fisik dilakukan, teknologi yang tepat untuk yang sama. mewujudkan sistem web hosting yang high availabity adalah dengan mengadopsi teknologi virtualiasi sistem Virtualisasi untuk Aplikasi Web operasi berbasis Container, bukan Awalnya sebagian besar aplikasi di- berbasis mesin virtual. Teknologi ini deploy secara langsung ke suatu server relatif baru dan cepat perkembangannya. (host) secara fisik. Sistem operasi yang Salah satu software yang mengadopsi berjalan di atas host akan mengeksekusi konsep ini adalah LXC ( aplikasi tersebut. Pada pendekatan Container). Impementasi dalam LXC tradisional ini (Gambar 1.a), hanya ada tersebut kemudian diadopsi lebih lanjut satu ruang pengguna (user space), oleh Docker. Teknologi ini tidak runtime harus dibagi-pakai (share) antar membangun mesin virtual sendiri, lebih aplikasi, deploymentnya stabil, hemat memory, processor dan storage. hardware-centric, siklus perawatan Waktu yang diperlukan untuk startup Docker juga sangat cepat bahkan jauh lebih cepat daripada server riil. Ini terjadi karena Docker berbagi pakai kernel Linux dari server riil, tidak memerlukan instalasi OS di dalam container. Container hanya berisi aplikasi web yang akan dionlinekan dan beberapa pustaka

169

Jurnal Ilmiah SimanteC Vol. 4, No. 3 Juni 2015

(a) (b) Pendekatan hosting tradisional Pendekatan hosting berbasis mesin virtual (VM) Gambar 1. Perbandingan arsitektural antara pendekatan hosting tradisional dan hosting berbasis mesin virtual panjang, pemanfaatan hardware pada adopsi dan penggunaan ulang solusi yang waktu normal sangat rendah [1]. Setiap sudah ada sebelumnya. aplikasi berbagi pakai sistem operasi, Kesulitan yang hadir pada layanan dari sistem operasi, file biner dan pendekatan tradisional di atas dapat pustaka. Masalah utamanya adalah diselesaikan oleh teknologi virtualisasi kebutuhan berbeda dari setiap aplikasi, (Gambar 1.b). Menurut Zhang [3], misalnya perbedaan versi pustaka atau virtualisasi merupakan bagian penting server database. dari infrastruktur cloud modern seperti Ada empat hal yang menjadi Amazon's Elastic Compute Cloud (EC2) masalah utama dalam pengembangan dan dan Google's App Engine. Sebagian deployment aplikasi web [2] yaitu: (1) besar pusat data komputasi cloud Dependency: suatu software bergantung menjalankan (software pada banyak software lain terutama komputer di atas sistem operasi yang berbentuk library untuk versi tertentu membuat dan menjalankan mesin virtual) saja. (2) Dokumen yang tidak lengkap seperti KVM, X. atau tidak menyelesaikan masalah VM membawa payload yang berat instalasi dan operasional awal. (3) Code [4]. Setiap VM berisi aplikasi yang rot. Berbeda versi library, sistem operasi ukurannya hanya beberapa Megabyte, (kernel) atau bahasa pengembangan file biner dan pustaka, serta sebuah OS (interpreter) dapat berbeda pula hasil lengkap yang mungkin meminta ruang yang diberikan oleh aplikasi. Misalnya harddisk puluhan Gigabyte sehingga update bug terhadap suatu kernel atau dapat menghabiskan sumber daya library ternyata dapat membuat software terutama saat terdapat banyak VM yang yang telah dibuat untuk menangani error berjalan di dalam server hosting. Hal lain sebelumnya malah memunculkan yang perlu dipertimbangkan adalah masalah baru. (4) Hambatan dalam lamanya boot (startup time) yang dilakukan OS dalam VM. Ini terjadi

170

Firmansyah Adiputra, Container dan Docke…

mengurangi emulasi hardware dan kompleksitas. Aplikasi-aplikasi dipaketkan bersama dengan lingkungan runtimenya dan dideploy menggunakan kontainer. OpenVZ, Solaris Zones, dan LXC merupakan contoh dari teknologi ini. SO dari setiap container adalah SO dari host. Kebutuhan khusus dari setiap aplikasi dipenuhi oleh file-file biner/pustaka (Bins/Libs) di dalam container masing-masing (Gambar 2). Pernah dilakukan analisis komparatif terhadap implementasi virtualisasi berbasis mesin virtual dan kontainerisasi [5] dan hasilnya diperlihatkan pada tabel 1.

Kontainerisasi Aplikasi Web Gambar 2. Arsitektur teknologi container Teknologi container telah di dalam server web hosting diimplementasikan oleh banyak penyedia layanan online di bidang cloud computing dengan pendekatan dan karena hardware virtual dari VM dan kelebihan/kekurangannya masing- berbagi-pakainya memory, processor dan masing. Berikut ini adalah penjelasan harddisk pada Host dengan semua VM mengenai beberapa implementasi yang berjalan. Saat menjalankan aplikasi, teknologi container yang popular: SO biasanya meminta memory dan harddisk lebih besar daripada kebutahan Linux Containers sesungguhnya dari aplikasi tersebut. Linux Containers (LXC) adalah Penyedia infrastruktur cloud teknologi virtualisasi kernel atau sistem tradisional seperti operasi sehingga mampu untuk (AWS), Google Computer Engine telah menjalankan banyak proses di dalam menawarkan VM. VM menyediakan lingkungan terisolasinya masing-masing. kemampuan untuk ekspansi (up atau LXC dikenal juga sebagai virtualisasi down), sumber daya komputasional yang berbasis container [6]. Sampai saat ini, hampir penuh tergaransi, isolasi LXC berjalan dengan baik di atas OS keamanan, dan akses ke API untuk Linux, terutama pada kelompok distribusi provisioning, tanpa adanya overhead Ubuntu dan Red Hat [5]. berkaitan dengan pengelolaan server secara fisik. Namun, semakin banyak Warden Container VM yang dideploy maka makin banyak Warden container menawarkan overhead yang dibayarkan untuk implementasi containment tidak menjalankan image SO full-blown dari tergantung kernel yang dapat setiap VM. Pendekatan ini menjadi dipasangkan ke banyak OS host yang mahal karena bertambahnya jumlah mendasari. Implementasi container ini aplikasi web yang harus dipublikasikan digunakan oleh proyek Cloud Foundry ke Internet. untuk meng-host-kan banyak aplikasi. Kondisi di atas menyebabkan terjadinya pergeseran fokus teknologi Docker informasi dari hardware-centric menuju Docker adalah suatu daemon yang application-centric [1]. Virtualisasi menyediakan kemampuan untuk mesin bergeser menjadi virtulisasi SO. mengelola sebagai Lapisan guest OS dibuang untuk

171

Jurnal Ilmiah SimanteC Vol. 4, No. 3 Juni 2015

image tersendiri. Docker memanfaatkan

Tabel 1. Perbandingan antara VM dan kontainerisas

Parameter Virtual Machines Containers Guest OS Setiap VM berjalan pada hardware Semua guest berbagi pakai SO dan dan kernel virtual yang dimuatkan kernel yang sama. Image kernel ke dalam wilayah memorynya dimuatkan ke dalam memory fisik. sendiri. Komunikasi Melalui perangkat ethernet Meknisme IPC standard seperti Signal, Pipe dan Socket

Keamanan Tergantung pada implementasi dari Kontrol akses mandatory dapat

hypervisor dimanfaatkan

Kinerja VM mengalami overhead kecil Container menyediakan kinerja karena instruksi mesin mendekati natif dibandingkan SO diterjemahkan dari guest OS ke host yang mendasari. Host. Isolasi Berbagi pakai pustaka, file-file Subdirektori dapat secara transparan antar guest dan antara guest dimount dan dibagi-pakaikan. dengan host tidaklah mungkin Waktu startup Perlu beberapa menit untuk Dapat diboot dalam beberapa detik memulai (boot) Storage Perlu lebih besar storage karena Storage lebih kecil karena OS basis kernel OS lengkap dan program- dibagi-pakaikan. program yang berasoasiasi harus diinstal dan dijalankan.

LXC untuk implementasi container dapat dikelola lebih baik dari pada dan menambahkan kemampuan teknologi Hypervisor. Sebagai container, manajemen image dan Union File System OpenVZ juga menggunakan dan ke dalamnya. namespaces. Software ini telah menyediakan template untuk Google lmctfy memudahkan pembuatan lingkungan Google lmctfy menyediakan suatu virtualnya. API untuk mengkonfigurasi sumber daya sehingga manajemen container menjadi lebih sederhana. File konfigurasi lmctfy Docker berbasis intent tanpa perlu memahami Docker adalah suatu platform cgroups dan menghilangkan kesulitan terbuka bagi pengembang perangkat dari API LXC yang tidak stabil. Google lunak dan pengelola sistem jaringan juga menyediakan resource sharing dan untuk membangun, mengirimkan dan dapat mendukung jaminan kinerja. menjalanan aplikasi-aplikasi terdistribusi [7]. Definisi tersebut membawa OpenVZ pengertian praktis bahwa Docker OpenVZ menggunakan kernel Linux merupakan suatu cara memasukkan yang telah dimodifikasi/dilengkapi layanan ke dalam lingkungan terisolasi sehingga mampu mengelola banyak bernama container, sehingga layanan server fisik dan virtual melalui tersebut dapat dipaketkan menjadi satu pemartisian real- time dinamis. OpenVZ bersama dengan semua pustaka dan mempunyai sedikit overhead dan software lain yang dibutuhkan [8]. menawarkan kinerja lebih tinggi dan Docker mempengaruhi pengembang

172

Firmansyah Adiputra, Container dan Docke…

sehingga yakin bahwa layanan tersebut sesuai dengan kemampuan pengembang, akan berjalan dimanapun Docker bukan mengikuti kemampuan berjalan. Ada dua masalah penting yang administrator web hosting, (4) diselesaikan oleh Docker [9], yang mengaplikasikan arsitektur micro-

Gambar 3. Driver eksekusi dan fitur kernel yang digunakan oleh Docker

pertama adalah beratnya dan besarnya service, (5) memodelkan jaringan sumber daya komputer yang digunakan (terutama data center), (6) oleh salinan OS yang berjalan di atas memungkinkan produktifitas full-stack hypervisor yang berjalan di atas hardware ketika offline, (7) mengurangi biaya fisik. Yang kedua, ungkapan “tadi debugging, (8) memudahkan aplikasi ini bekerja di komputer saya dokumentasi ketergantungan dan touch- tetapi sekarang tidak bekerja seperti points dari software, (9) memungkin tadi”. Dengan docker, pengembang delivery berkelanjutan. Hal tersebut di aplikasi bekerja dengan anggapan “apa disampaikan juga oleh Matthias dan yang dibangun dan dijalankan saat Kane [11]. Boettiger melengkapinya [2] pengembangan dan test adalah sama dengan menyatakan bahwa Docker dengan yang dibangun dan jalankan saat mampu (1) melakukan virtualisasi pada produksi”. Ini sejalan dengan Miell & level sistem operasi, (2) men-deploy Sayers yang menyatakan bahwa Docker container secara portabel meskipun lintas adalah solusi standard untuk platform, (3) menyediakan fitur menyelesaikan salah satu area berbiaya pemanfaatan ulang komponen, (4) tinggi dalam siklus pengembangan sharing, (5) archiving, dan (6) versioning perangkat lunak, yaitu deployment [10]. dari image container. Docker memberikan beberapa Secara teknis, Docker keuntungan bagi pengembang perangkat memanfaatkan fitur-fitur dari kernel lunak, termasuk (1) dapat menggantikan Linux dimana daemonnya berjalan demi peran dari VM, (2) memudahkan terwujudnya container yang ringan dan pembuatan prototipe banyak software, stabil [1]. Gambar 3 memperlihatkan dengan setiap software dan file terkait driver-driver eksekusi dan fitur-fitur ada di container terisolasi, (3) kernel yang dapat digunakan oleh menyederhanakan pemaketan software Docker.

173

Jurnal Ilmiah SimanteC Vol. 4, No. 3 Juni 2015

Fitur kernel yang sangat terkait sehingga mempengaruhi (1) waktu start- dengan eksekusi container adalah up: Docker 1.5 detik dan KVM 11.5 namespace, cgroups dan sistem File detik, (2) kecepatan operasi: Docker UNION. Namespaces merupakan menyelesaikan 100000! selama 4.546 building blocks dari suatu container. Ada detik (deviasi standar 0.02 detik) dan banyak jenis namespaces dan semua KVM memerlukan 4.793 detik (deviasi mengisolasi container aplikasi. standard 0.05 detik). Sedangkan Namespaces tersebut dibuat pengujian lainnya [14] memperlihatkan menggunakan system call clone. Suatu kinerja LXC yang lebih baik dari pada namespace dapat disambungkan ke KVM. Pengujian tersebut menggunakan namespace. Beberapa namespace yang Phoronics Test Suite memperlihatkan digunakan oleh Docker adalah PID, Net, bahwa sistem Linux natif mampu IPC, Mnt, Uts dan User. Control Groups memroses 9708.01 request per detik, (cgroups) menyediakan pembatasan dan LXC 76000.65 request per detik dan accounting terhadap sumber daya dari KVM 7124.55 request per detik. KVM container. Dokumentasi Kernel Linux memberikan kinerja sedikit lebih baik menyatakan bahwa croups menyediakan untuk operasi baca tulis record dalam mekanisme untuk mengagregasi/ ukuran kecil. Namun saat ukuran record mempartisi himpunan tugas dan semua diperbesar, kinerjanya menurun di bawah sub-tugas berikutnya ke dalam kelompok LXC. hirarkis sesuai dengan perilakunya. Terdapat pula eksperimen [15] yang cgroups ini dapat dibandingkan dengan membangun aplikasi web berupa blog perintah shell ulimit atau system call (wordpress) dalam dua versi: pada mesin setrlimit. cgroups membolehkan Linux natif dan berbasis container pembatasan sumberdaya ke suatu grup Docker. Hasilnya menunjukkan bahwa proses, tidak hanya terhadap proses kinerja kedua pendekatan ini hampir tunggal. cgroups dapat dipecah ke dalam sama. Sejalan dengan itu, sebuah beberapa subsistem seperti CPU, penelitian lain [15] membandingkan himpunan CPU, blok memory dan I/O. kinerja 5 konfigurasi server MySQL yang melayani banyak akses secara PENELITIAN TERKAIT concurrent: (1) MySQL berjalan secara Docker dan LXC dalam sistem web normal pada mesin Linux (natif), (2) hosting merupakan teknologi yang baru MySQL di bawah Docker menggunakan dan belum ditemukan referensi host networking dan volume (Docker penerapannya di Indonesia. Beberapa net=host volume), (3) menggunakan publikasi ilmiah di IEEE dan Google volume tetapi networking Docker normal Scholars memperlihatkan bahwa adopsi (Docker NAT volume), (4) menyimpan Docker dalam penelitian infrastruktur database di dalam sistem file container data center baru dimulai tahun 2014. (Docker NAT AUFS) dan (5) MySQL Teknologi virtualisasi dan LXC berjalan di bawah mesin virtual KVM. pernah diperbandingkan untuk Hasil pengujian memperlihatkan kinerja menjalankan beberapa komponen yang hampir sama antara MySQL pada aplikasi [12]. Keduanya mampu Linux natif dengan MySQL yang menyediakan portabilitas, isolasi dan dijalankan di dalam container Docker optimisasi sumber daya hardware. LXC (Gambar 4). KVM memerlukan overhead memerlukan sumber daya yang jauh lebih (biaya) lebih dari 40% dalam semua kecil sehingga sangat tepat untuk kasus yang diukur. AUFS meminta mengekskusi proses-proses kecil yang overhead yang signifikan karena operasi terisolasi. I/O melalui beberapa layer. Terdapat hasil pengujian [13] yang mengatakan bahwa image dari Docker jauh lebih kecil daripada KVM (VM)

174

Firmansyah Adiputra, Container dan Docke…

SIMPULAN International Conference on Cloud Artikel ini telah mereview beberapa Engineering (pp. 610–614). IEEE. tulisan mutakhir mengenai teknik virtualisasi, baik berbentuk mesin virtual [6] Lxc, 2015. Linux Continer. Website: maupun container. Perbandingan http://linuxcontainers.org, diakses keduanya memperlihatkan bahwa teknik tanggal 24 April 2015. container merupakan solusi tepat dapat mengelolaan banyak aplikasi web pada [7] Docker, 2015. Docker Docs. Website: suatu sistem hosting. Salah satu software https://docs.docker.com/, diakses yang fokus dalam kontainerisasi aplikasi tanggal 15 Mei 2014. web ini adalah Docker. Kontaineriasi yang dilakukan dengan Docker terbukti [8] Hane, O., 2015. Build Your Own mampu menghadirkan layanan aplikasi PaaS with Docker. Packt web yang unggul dari sisi kinerja, Publishing. ketersediaannya tinggi dan hemat sumber daya server. Pada penelitian lebih lanjut, [9] Anderson, C., 2015. Docker. akan dirancang dan diimplementasikan Software Engineering, IEEE, 102– high availability web hosting system yang 105. melibatkan teknologi container, replikasi, reverse proxy dan load balancing. [10] Miell, I., dan Sayers, A.H., 2015. Docker in Practice, MEAP Edition DAFTAR PUSTAKA Version 3. Manning Publications.

[1] Khare, N., 2015. Docker Cookbook. [11] Matthias, K., & Kane, S. P., 2015. Packt Publishing. Docker Up & Running. OReilly.

[2] Boettiger, C., 2015. An introduction [12] Scheepers, M. J., 2014. to Docker for reproducible research Virtualization and Containerization , with examples from the R of Application Infrastructure : A environment. ACM SIGOPS Comparison. 21st Twente Student Operating Systems Review, Special Conference on IT (pp. 1–7). Issue on Repeatability and Sharing Enschede,The Netherlands: of Experimental Artifacts. University of Twente, Faculty of Electrical Engineer ing, [3] Zhang, Q., Cheng, L., dan Boutaba, Mathematics and Computer R., 2010. Cloud computing: state- Science. of-the-art and research challenges. Journal of Internet Services and [13] Seo, K., Hwang, H., Moon, I., Applications, 7(18). Kwon, O., & Kim, B., 2014. Performance Comparison Analysis [4] Pamidi, M. R., & Vasudeva, A., 2015. of Linux Container and Virtual Impact of Containers on Data Machine for Building Cloud Center Virtualization. Website: Related Research. Advanced http://www.itnewswire.us/Container Science and Technology Letters, s.pdf, diakses tanggal 24 April 66, 105–111. 2015. [14] Sudha, M., Harish, G. M., & Usha, [5] Dua, R., Raja, A. R., & Kakadia, D., J., 2014. Performance Analysis of 2014. Virtualization vs Linux Containers - An Alternative Containerization to support PaaS. Approach to Virtual Machines. International Journal of Advanced Research in Computer Science and

175

Jurnal Ilmiah SimanteC Vol. 4, No. 3 Juni 2015

Software Engineering, 4(1), 820– 824.

[15] Christner, B., 2015. WordPress Bare Metal vs WordPress Docker Performance Comparison. Website: http://blog.loadimpact.com/blog/wo rdpress-bare-metal-vs-wordpress- docker-performance-comparison/ diakses tanggal 14 Mei 2015.

[16] Felter, W., Ferreira, A., Rajamony, R., & Rubio, J., 2015. An Updated Performance Comparison of Virtual Machines and Linux Containers (pp. 171–172). IEEE.

176