Cloud Computing Platform as a Service dengan Dokku

dokumen-dokumen yang mirip
Analisis Overhead Server Cloud Infrastructure pada Proxmox VE Hypervisor

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

CLOUD COMPUTING TECHNOLOGY

RANCANG BANGUN VIRTUAL MACHINE BERBASIS CLOUD COMPUTING MENGGUNAKAN SERVER PROXMOX UNTUK OPTIMALISASI SUMBER DAYA KOMPUTER SERVER

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

Pengantar Cloud Computing Berbasis Linux & FOSS

BAB I PENDAHULUAN 1.1 Latar Belakang dan Permasalahan

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

IMPLEMENTASI CLOUD COMPUTING MENGGUNAKAN OPENVZ DALAM PERKULIAHAN PRAKTIKUM SISTEM OPERASI

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah

BAB I PENDAHULUAN 1.1 Latar Belakang

Cloud Computing Windows Azure

BAB 1 PENDAHULUAN Latar Belakang

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

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

Vendor PaaS. Oleh: Luthfan Hadi Pramono, S.ST, M.T. STMIK - AKAKOM

Linux with CloudComputing UbuntuOne. Kelompok Studi Linux UNG 2013

BAB I PENDAHULUAN 1.1 Latar Belakang dan Permasalahan

Distributed Replicated Block Device (DRBD) sebagai Alternatif High Availability Data Replication pada Cloud Computing

Desain Open University Menggunakan Arsitektur Cloud

PENERAPAN MULTI VIRTUAL APPLIANCE SERVER PADA PENGEMBANGAN LABORATORIUM MENGGUNAKAN TEKNOLOGI VIRTUALISASI

IMPLEMENTASI SISTEM KOMPUTASI AWAN PRIVATE BERBASIS OPENNEBULA BERKEMAMPUAN LIVE MIGRATION

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

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

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

BAB 1 PENDAHULUAN. kebutuhan yang sangat penting bagi banyak orang. Dengan internet kita dapat

Cloud Computing Perangkat Lunak Cloud Computing

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB I PENDAHULUAN Latar Belakang

Gambar 1.1 Contoh laporan billing di Windows Azure

ANALISA DAN PERANCANGAN INFRASTRUKTUR AS A SERVICE BERBASIS CLOUD COMPUTING PADA CV. ULTRA ENGINEERING

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI CLOUD COMPUTING BERBASIS WEB EYEOS DI UNIVERSITAS MUSI RAWAS

Adiharsa Winahyu Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta

Vol. 4, No. 1, Tahun Jurnal Aksara Komputer Terapan Politeknik Caltex Riau

1.2. Rumusan Masalah Batasan Masalah

ANALISIS PERBANDINGAN PERFORMANSI DATA SERVER METODE KVM (KERNEL BASIS VIRTUAL MACHINE) DENGAN OPENVZ (CONTAINER/CT)

UJI AVAILABILITAS LOAD BALANCING WEB SERVER MENGGUNAKAN LINUX VIRTUAL SERVER

ANALISIS SKALABILITAS SERVER VIRTUALISASI PADA AKADEMI MANAJEMEN INFORMATIKA DAN KOMPUTER NEW MEDIA


Bab 3 Metode dan Perancangan Sistem

PERANCANGAN DAN IMPLEMENTASI TOPOLOGI JARINGAN VIRTUAL WEB SERVER DI PT XYZ MENGGUNAKAN PROXMOX VE

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

BAB I PENDAHULUAN 1.1. Tujuan 1.2. Latar Belakang

MOBILE CLOUD BERBASIS VIRTUAL SMARTPHONE OVER IP

ANALISIS AVAILABILITAS LOAD BALANCING PADA WEB SERVER LOKAL

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

PENERAPAN CLOUD COMPUTING PADA WEBSITE PEMESANAN KAMAR KOST DENGAN MODEL LAYANAN SOFTWARE AS A SERVICE

CLOUD COMPUTING PENGANTAR KOMPUTER & TI 1A :

IMPLEMENTASI CLOUD COMPUTING UNTUK MEMAKSIMALKAN LAYANAN PARIWISATA

ANALISIS SKALABILITAS PRIVATE CLOUD COMPUTING BERBASIS INFRASTUCTURE AS A SERVICE (IAAS) SKRIPSI

INTRO TO CLOUD COMPUTING

CLOUD-BASED INFORMATION COMMUNICATION TECHNOLOGY - LEARNING MANAGEMENT SYSTEM SOLUTIONS

RANCANGAN NETWORK MONITORING SYSTEM UNTUK PEMANTAUAN SUMBER DAYA VIRTUAL SERVER PADA JARINGAN CLOUD COMPUTING UNIVERSITAS SEMARANG

BAB I PENDAHULUAN. dimanfaatkan secara optimal maka diperlukan adanya server. Tujuan. penelitian ini adalah untuk maintenance secara efesien.

Analisis dan Perancangan Infrastruktur Jaringan Cloud Computing. Pada PT Indonusa System Integrator Prima. Anthonius Bernadh

Analisa Performansi Server Cloud Berbasis Proxmox Ve untuk Multi Server dan Multi Platform pada Praktikum Administasi Jaringan Komputer

JURNAL DASI ISSN: Vol. 15 No. 1 Maret 2014

BAB 2 LANDASAN TEORI

Definisi Cloud Computing

ANALISIS PEMANFAATAN LAYANAN BERBASIS CLOUD MENGGUNAKAN MICROSOFT AZURE

Jurnal Komputer Terapan Vol. 3, No. 1, Mei 2017, Jurnal Politeknik Caltex Riau

BAB IV IMPLEMENTASI DAN PEMBAHASAN

Implementasi dan Analisis Performansi Server Aplikasi Mobicents pada Cloud Computing dengan WebRTC

BAB I PENDAHULUAN 1.1. Latar Belakang

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

Desain Dan Analysis Kinerja Virtualisasi Server Menggunakan Proxmox Virtual Environment

RANCANG BANGUN APLIKASI CHATTING BERBASIS WEB MENGGUNAKAN DOCKER

TUGAS MAKALAH INTEGRASI DAN MIGRASI SISTEM TEKNOLOGI INFORMASI TI024329

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENDAHULUAN. 1.1 Latar Belakang Masalah BAB I

BAB I PENDAHULUAN. Media penyimpanan digunakan untuk menyimpan file. File yang disimpan dapat

IMPLEMENTASI CLOUD COMPUTING UNTUK MEMAKSIMALKAN LAYANAN PARIWISATA

MAKALAH. Virtualisasi Cloud Computing Dan Teknologi Open Source

BAB I PENDAHULUAN. Gambar I. 1 Statistik Penggunaan Internet di Indonesia. Sumber: (APJII, 2012)

IMPLEMENTASI NODE.JS DAN MONGODB SEBAGAI CLOUD APPLICATION MOBILE SERVER

Model Implementasi Centralized Authentication Service pada Sistem Software As A Service

PENERAPAN LAYANAN PRIVATE CLOUD COMPUTING PADA LABORATORIUM KOMPUTER UNIVERSITAS BINA DARMA PALEMBANG

BAB 1 PENDAHULUAN 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA. penghubung tersebut dapat berupa kabel atau nirkabel sehingga memungkinkan

PERANCANGAN SERVER DENGAN MEMANFAATKAN PROXMOX DI PENGELOLA DATA ELEKTRONIK KABUPATEN SRAGEN

BAB IV HASIL DAN PEMBAHASAN

CLOUD COMPUTING DAN PEMANFAATAN DALAM OFFICE AUTOMATION

PERANCANGAN VIRTUAL PRIVATE SERVER MENGGUNAKAN PROXMOX PADA AMIK IBNU KHALDUN PALOPO

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

Kusuma Wardani

APLIKASI WEB DINAMIS LANJUT TUGAS 1

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI

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

Implementasi Cloud Computing Menggunakan Metode Pengembangan Sistem Agile

ANALISIS PERANCANGAN DEDICATED WEBSERVER BERBASIS CLOUD COMPUTING NASKAH PUBLIKASI

IMPLEMENTASI DEDICATED SERVER DI SMP BIRRUL WALIDAIN MUHAMMADIYAH SRAGEN

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

S-1 TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO JAWA TENGAH

Tugas Teknologi Open Source

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

Transkripsi:

Vol. 4, No. 1, Tahun 2015 87 Jurnal Aksara Komputer Terapan Politeknik Caltex Riau Website : https://jurnal.pcr.ac.id/index.php/jakt/about/index Email : pustaka@pcr.ac.id Dolly Ervina 1, Muhammad Arif Fadhly Ridha 2, dan Rahmat Suhatman 3 1 Program Studi Teknik Informatika, Politeknik Caltex Riau, email: dhani_kwok@yahoo.com 2 Program Studi Teknik Informatika, Politeknik Caltex Riau, email: fadhly@pcr.ac.id 3 Program Teknik Informatika, Politeknik Caltex Riau, email: rahmat@pcr.ac.id Abstrak Dengan berkembangnya teknologi pada zaman yang modern ini, tentu telah membantu kepentingan banyak orang dalam membuat, mengubah, menyimpan, dan menyebarkan informasi. Munculnya teknologi cloud computing yang memudahkan pekerjaan dengan adanya koneksi internet. Aplikasi berbasis web seperti gmail, facebook dan twitter merupakan layanan dari cloud computing yang dikenal sebagai Software as a Service. Pengembang dapat mengembangkan aplikasi tersebut dengan menggunakan bahasa pemrograman dan tools yang didukung oleh layanan Platform as a Service. Salah satu platform berbasis cloud yang masih aktif dikembangkan hingga saat ini adalah Dokku. Dengan Dokku, pengembang dapat memilih untuk mengembangkan aplikasi dengan berbagai macam bahasa pemrograman, beberapa diantaranya yaitu: Ruby, Node.js, dan Java. Metode pengujian yang dilakukan pada penelitian ini meliputi performance dan portability pada platform, serta deployment time aplikasi yang berjalan di atas platform Dokku. Sebagai hasil, deployment time dan response time aplikasi Node.js adalah yang paling cepat serta menggunakan CPU dan memori paling rendah dibanding Java dan Ruby. Dokku dapat dikategorikan sebagai platform yang portable, mendukung multi-app, multi-user, tetapi tidak mendukung multi-host. Kata kunci: Cloud Computing, Platform as a Service, Dokku Abstract By the development of technology in this modern age, it would have helped the interest of many people by creating, modifying, storing, and disseminating information. The arising of cloud computing technology has facilitate people s work by using internet connection. Web-based applications such as gmail, facebook, and twitter are service of cloud computing, which is known by Software as a Service. Developers could develop the applications with programming language and tools which is supported by a service known by Platfotm as a Service. One of cloud-based platform which is still on active development in this time is Dokku. By using Dokku, developers could choose the programming language to develop application with various programming language, such as Ruby, Node.js and Java. The testing method in this research includes performance, portability of the platform, and application deployment which running on Dokku. As a result, deployment time and response time of Node.js application is the fastest, and lowest at using CPU and memory amongst Java and Ruby. Dokku can be categorized as a portable platform, support multi-app, multi-user, but does not support multi-host. Keywords: Cloud Computing, Platform as a Service, Dokku

Vol. 4, No. 1, Tahun 2015 88 1. Pendahuluan Dengan berkembangnya teknologi pada zaman yang modern ini, tentu telah membantu kepentingan banyak orang dalam membuat, menyimpan, mengubah, dan menyebarkan informasi. Pengguna dapat memanfaatkan teknologi Cloud Computing agar mempermudah dalam menyebarkan dan mengakses informasi, secara online atau dengan adanya koneksi internet. Aplikasi seperti gmail, facebook dan twitter yang digunakan pengguna (enduser) untuk menyebarkan informasi, merupakan layanan dari Cloud Computing yang dikenal dengan Software as a Service (SaaS). Developer dapat mengembangkan aplikasi tersebut dengan menggunakan bahasa pemrograman dan tools yang didukung oleh layanan Platform as a Service (PaaS). Dokku merupakan PaaS yang mengadopsi aplikasi gaya Heroku (Herokustyle application) dan merupakan salah satu alternatif bagi bisnis kecil yang tidak berkeinginan untuk menggunakan layanan public cloud. Platform Dokku dibangun menggunakan Docker dan Buildpacks. Buildpacks yang diinstal pada server memungkinkan pengembang untuk mengembangkan aplikasi dengan bahasa pemrograman Ruby, Node.js, Java, PHP, Clojure, Scala, dan Python. [7] Dengan menggunakan platform Dokku, pengembang dapat membuat, menyebarkan, menjalankan, dan mengelola aplikasi sesuai keinginannya dengan cepat seperti sedang menggunakan platform Heroku. Selain itu, developer dapat menyelesaikan pekerjaannya dengan lebih baik tanpa memikirkan infrastrukur cloud. Penulis juga menyediakan layanan yang bertanggung jawab dalam mengelola infrastruktur, sistem operasi, middleware, dan lingkungan runtime dengan platform Dokku serta mengukur kinerja dan portabilitas platform Dokku. 2. Landasan Teori Gonidis [5] membahas tentang portabilitas (portability) aplikasi pada platform cloud. Pada PaaS, kebutuhan portabilitas adalah dapat melakukan deploy aplikasi pada platform cloud yang berbeda. Julham dan Adam [6] menganalisis kinerja private cloud untuk pembelajaran prodi Manajemen Informatika Politeknik Negeri Medan. Kinerja private cloud diukur dengan parameter berikut, yaitu CPU usage, RAM usage, SWAP usage, dan Load average. Banarjee dkk [1] melakukan penelitian tentang implementasi dan mengelola framework untuk PaaS. PaaS menyediakan platform komputasi, termasuk sistem operasi, lingkungan untuk mengeksekusi bahasa pemrograman, database, web server, dan lain-lain. Rizani [14] melakukan penelitian adalah implementasi private PaaS menggunakan Stackato untuk pemrograman Java. Metode yang digunakan dalam pengerjaan proyek akhir ini menggunakan metode Waterfall Model dengan tahap analisis, design, coding, testing, dan maintenance. Xiong [18] melakukan penelitian tentang analisa performance dan cost pada scalable architectures untuk PaaS. Terdapat dua pendekatan utama pada scaling, yaitu vertical scaling dan horizontal scaling. Pada penelitian ini digunakan horizontal scaling, dengan mengevaluasi workload, resource utilization, dan response time. 2.1 Cloud Computing Cloud Computing adalah sebuah model komputasi (computing model), dimana sumber daya seperti processor/computing power, storage, network, dan software menjadi abstrak dan diberikan sebagai layanan di

Vol. 4, No. 1, Tahun 2015 89 jaringan/internet menggunakan pola akses remote. Model billing dari layanan ini umumnya mirip dengan modem layanan publik. Ketersediaan on-demand sesuai kebutuhan, mudah untuk dikontrol, dinamik dan skalabilitas yang hampir tanpa limit adalah beberapa atribut penting dari cloud computing. [13] Model layanan cloud computing ada 3, yaitu Software as a Service (SaaS), Platform as a Service (PaaS),dan Infrastructure as a Service (IaaS). Model deployment cloud computing antara lain Private cloud, Community cloud, Public cloud, dan Private cloud.[15] 2.2 Virtualisasi Virtualisasi adalah sebuah konsep dimana memperbolehkan sumber daya yang ada dalam mesin komputer untuk dibagi menjadi banyak bagian secara bersamaan. Setiap bagian tersebut dioperasikan secara mandiri atau tanpa mengganggu antara satu dengan yang lain. Bagian ini yang kemudian disebut sebagai Mesin Virtual. [2] Proxmox VE adalah solusi manajemen virtualisasi open source lengkap untuk server. Proxmox VE berbasiskan virtualisasi KVM dan virtualisasi berbasis container (OpenVZ) dan dapat mengelola virtual machine, storage, virtualized network, dan HA Clustering. [12] 3.2 Topologi Jaringan Berikut adalah rancangan topologi yang digunakan: Gambar 1 Topologi pada jaringan Public Gambar 2 Topologi pada jaringan Private Berikut ini adalah rancangan Tabel 1 Pengalamatan Jaringan 3. Metodologi Penelitian 3.1 Perancangan Platform as a service dokku Penelitian ini membangun dan menyediakan layanan Platform as a Service berbasis cloud dengan Dokku. Perangkat yang digunakan adalah sebuah server dan PC untuk client/developer. Pada server akan dibuat Virtual Private Server (VPS) atau node yang dipasangkan sistem operasi Ubuntu Server 14.04 dengan Proxmox VE sebagai server virtualisasi. Di dalam VPS akan dipasang Dokku sebagai penyedia platform berbasis cloud. 4. Hasil dan Pembasan 4.1 Pengujian Performance Pengujian performance ini dievaluasi menggunakan aplikasi New Relic. Pada bagian ini dilakukan pengujian kinerja platform (performance) dengan mengevaluasi beberapa metrik, yaitu workload, response time, dan resource utilization. 4.1.1 Workload Pengujian workload dilakukan bertahap, mulai dari 1, 3 hingga 5 pengguna, dimana masing-masing tahap

Vol. 4, No. 1, Tahun 2015 90 dilakukan selama 5 menit untuk melihat rata-rata Response Time 4.1.2 Response Time Pengujian Response Time diukur dari waktu yang dibutuhkan antara dimulainya permintaan (request) dari pengguna dan penerimaan respon (response) dari sudut pandang pengalaman pengguna. Pengujian ini diukur menggunakan aplikasi New Relic Browser. Berikut adalah hasil Gambar 5 Grafik Rata-rata Memory Utilization Berdasarkan gambar 4 dan gambar 5, hasil rata-rata penggunaan CPU dan memori, aplikasi dengan bahasa Ruby memakai CPU dan memori yang paling tinggi, sedangkan aplikasi dengan bahasa Node.js memakai CPU dan memori yang paling rendah. Gambar 3 Grafik perbandingan response time aplikasi dari sisi 1, 3 dan 5 pengguna Secara keseluruhan, aplikasi dengan bahasa Java memiliki response time tertinggi (paling lambat), sedangkan aplikasi dengan bahasa Node.js memiliki nilai response time terendah (paling cepat) diantara bahasa pemrograman Java dan Ruby. Berikut adalah faktor-faktor yang mempengaruhi response time aplikasi web pada pengujian ini, yaitu Procfile, plugin dan jumlah request. 4.1.3 Resource Utilization Pengujian metrik Resource Utilization dievaluasi untuk mengetahui berapa banyak bagian dari CPU yang digunakan saat deployment aplikasi dan memori fisik yang terpakai saat deployment aplikasi. Gambar 4 Grafik rata-rata CPU Utilization 4.2 Pengujian Deployment Time pada jaringan private dan public Pengujian ini dilakukan untuk melihat waktu yang dibutuhkan untuk deployment aplikasi dengan bahasa pemrograman Node.js, Java dan Ruby dengan menggunakan jaringan private dan public Gambar 6 Grafik perbandingan deployment time dengan jaringan private dan public Berdasarkan gambar 6, deployment dengan jaringan private lebih bagus daripada deployment dengan jaringan public, karena proses deployment pada jaringan private lebih cepat secara keseluruhan. Secara keseluruhan waktu yang dibutuhkan deployment pada jaringan private lebih cepat daripada hasil deployment time dengan jaringan public. Salah satu faktor hal ini terjadi dikarenakan bandwidth pada jaringan private lebih besar dibanding bandwidth jaringan public.

Vol. 4, No. 1, Tahun 2015 91 4.3 Pengujian Multi-user Pengujian ini dilakukan untuk mengetahui apakah platform Dokku dapat mendukung kolaborasi atau kerja sama antara para pengembang aplikasi web dalam mengembangkan aplikasi yang akan dibuat. Hasil yang diperoleh adalah pengembang satu dan pengembang lainnya dapat saling bekerja sama dalam membangun sebuah aplikasi web, yaitu dalam hal memperbaharui atau memperbaiki aplikasi. Berikut adalah hasil screenshot kolaborasi antar developer dalam mengembangkan aplikasi Node.js. pada proyek tersebut dengan git show. Proyek atau aplikasi tersebut dapat di-clone oleh developer lain yang ingin mengubah aplikasi yang telah dimodifikasi. 4.4 Pengujian Multi-App Pengujian multi-app dilakukan untuk mengetahui apakah Dokku dapat memproses tiga deployment aplikasi dengan bahasa berbeda pada waktu yang bersamaan atau tidak. Berikut adalah screenshot deployment aplikasi Node.js, Java dan Ruby yang dijalankan pada waktu yang bersamaan. Gambar 7 Developer melakukan clone proyek yang terdapat pada server Pada gambar 7, developer menyalin (cloning) proyek yang sudah tersimpan pada server. Kemudian developer menambah beberapa kata pada file index.ejs. Gambar 9 Proses deployment aplikasi Node.js, Java dan Ruby pada waktu bersamaan Pada gambar 9, diperoleh hasil positif terhadap multi-app. Pengujian ini dilakukan pada PC developer dengan menggunakan aplikasi Git Bash. Hasil pengujian menunjukkan bahwa tiga aplikasi dengan tiga bahasa berbeda dapat di-deploy di atas platform Dokku secara bersamaan. 4.5 Pengujian Multi-APP Gambar 8 Developer menambahkan sebuah kalimat pada file index.ejs Setelah menyimpan file index.ejs, developer II harus menambahkan file yang telah diubah dengan git add views/pages/index.ejs. Kemudian developer harus melakukan commit dengan git commit m tambah note index. Berikutnya developer push proyek tersebut ke server. Pada server dapat dicek pesan perubahan Pada pengujian ini menguji skalabilitas platform Dokku dengan menggunakan horizontal scaling atau scaling out, yaitu meningkatkan kapasitas aplikasi keseluruhan dengan menambahkan node baru pada server fisik. Pada Proxmox, ditambahkan 1 node lagi yang telah diinstalkan Dokku

Vol. 4, No. 1, Tahun 2015 92 Gambar 10 Penambahan node pada Proxmox Jika ditambah sebuah node baru pada Proxmox dengan VM ID 102 (seperti gambar 4.19), node dengan VM ID 100 dan VM ID 102 tidak dapat saling berhubungan karena Dokku tidak menyediakan perintah untuk menghubungkan node satu dengan node lainnya, seperti load balancer. Pengujian penambahan node ini menunjukkan bahwa Dokku tidak mendukung multi-host karena Dokku bukan diciptakan untuk jangkauan yang luas. 4.6 Pengujian Multi-APP Pengujian Portability dilakukan untuk menguji apakah aplikasi yang dengan bahasa pemrograman Node.js, Java dan Ruby dapat berjalan di atas platform lain, yaitu platform OpenShift Origin. Untuk menguji potabilitas platform Dokku, aplikasi dengan bahasa pemrograman Node.js, Java dan Ruby akan di-push ke platform OpenShift Origin. Berikut adalah tampilan pembuatan aplikasi di OpenShift Origin. Gambar 4.12 Membuat Aplikasi Java dengan JBoss Setelah membuat aplikasi, pengguna dapat melakukan git clone aplikasi yang telah dibuat pada komputernya via Git Bash. Pengguna kemudian menyalin script yang ada pada aplikasi sesuai template OpenShift Origin. Pada PaaS, portabilitas diukur dengan kemampuan untuk melakukan deploy antar platform yang berbeda. Pada pengujian ini, aplikasi Node.js dari Dokku dapat bermigrasi ke OpenShift Origin karena OpenShift Origin mendukung bahasa pemrograman Node.js. Agar aplikasi dengan bahasa Node.js yang telah di-deploy pada Dokku dapat berjalan di platform OpenShift Origin, dibutuhkan perubahan-perubahan yang tidak terlalu banyak, seperti tata letak file dan konfigurasi file penghubung yang berbeda dengan Dokku. Dalam hal ini, Dokku dapat dikategorikan sebagai platform yang portable karena Dokku tidak membutuhkan API (Application Programming Language) atau bahasa khusus dalam membuat aplikasinya. Aplikasi yang di-deploy di atas platform Dokku dapat berpindah ke platform lain yang mendukung bahasa Node.js, Java, Ruby, dan bahasa pemrograman lainnya. 5. Kesimpulan dan Saran 5.1 Kesimpulan Kesimpulan yang dapat diperoleh dari Proyek Akhir ini adalah sebagai berikut. 1. Response time aplikasi dengan bahasa pemrograman Node.js lebih cepat daripada response time aplikasi dengan bahasa Java dan Ruby. Hal ini dipengaruhi oleh beberapa faktor, yaitu Procfile, plugin, dan jumlah request. 2. Aplikasi dengan bahasa Ruby memakai CPU dan memori paling tinggi, karena pada saat

Vol. 4, No. 1, Tahun 2015 93 deployment, Ruby banyak mengunduh aplikasi atau plugin pendukung. 3. Deployment time aplikasi menggunakan bahasa Node.js adalah yang paling cepat secara keseluruhan dibandingkan deployment time aplikasi menggunakan bahasa Ruby dan Java, karena proses pengenalan aplikasi (detecting app) dan proses compiling Node.js lebih cepat daripada Java dan Ruby. 4. Deployment dengan jaringan private lebih cepat secara keseluruhan daripada jaringan public karena bandwidth jaringan private lebih besar daripada jaringan public. 5. Dokku dapat dikategorikan sebagai platform yang portable karena Dokku tidak membutuhkan API (Application Programming Language) atau bahasa khusus dalam membuat aplikasinya. Aplikasi yang di-deploy di atas platform Dokku dapat berpindah ke platform lain yang mendukung bahasa Node.js, Java, Ruby, dan bahasa pemrograman lainnya dengan sedikit perubahan tata letak file dan konfigurasi. 6. Aplikasi dengan bahasa Node.js, Java dan Ruby dapat di-deploy dalam waktu bersamaan. Hal ini menunjukkan bahwa Dokku mendukung multi-app. 7. Dokku cocok digunakan sebagai media untuk kolaborasi antar pengembang aplikasi web. Pengembang satu dan pengembang lainnya dapat bekerja sama dalam mengembangkan suatu aplikasi dengan bahasa pemrograman yang tersedia dengan menggunakan clone dan commit pada proyeknya. Hal ini menunjukkan bahwa Dokku mendukung multi-user. 8. Proxmox memungkinkan untuk penambahan node baru, tetapi Dokku tidak menyediakan perintah untuk menghubungkan node satu ke node lainnya. Hal ini menunjukkan bahwa Dokku tidak mendukung multi-host. 9. Aplikasi yang telah berhasil dideploy dapat diakses melalui port sesuai dengan hasil yang diperoleh. 5.2 Saran Berikut adalah saran untuk pengembangan selanjutnya. 1. Penambahan variasi bahasa pemrograman seperti PHP, Python, Clojure, Go, dan Scala. 2. Penambahan metode pengujian pada sisi keamanan (security) dan skalabilitas (scalability). 3. Mengembangkan web interface untuk pengembang aplikasi web pada platform Dokku. Daftar Pustaka [1] Banarjee, S., Gupta, N., & Gupta, V. (2014). Implementation and Management of Framework for PaaS in Cloud Computing. Uttar Pradesh: Academic Science. [2] Bayu, T. I. (2010). Penerapan Teknologi Virtualisasi Tingkat Sistem Operasi pada Server Linux Ubuntu 8.04 menggunakan OpenVZ. Salatiga: Universitas Kristen Satya Wacana. [3] Carlson, L. (2013). Programming for PaaS. Sebastopol: O Reilly Media Inc. [4] Git. (t.t). About. Diakses 18 Februari 2015, diambil dari http://gitscm.com/about. [5] Gonidis, F., Paraskakis, I., & Kourtesis, D. (2012). Addressing the Challenge of Application Portability in Cloud Platforms. Thessaloniki: University of Sheffield. [6] Lindsay, J. (t.t). Dokku Documentation. Diakses 17 Desember 2014, diambil dari http://progrium.viewdocs.io/dokku.

Vol. 4, No. 1, Tahun 2015 94 [7] Mahmood, Z. (2013). Cloud Computing Methods and Practical Approaches. London: Springer. [8] Marinescu, D. C. (2013). Cloud Computing Theory and Practice. Waltham: Elsevier Inc. [9] Mell, P., & Grace, T. (2011). The NIST Definition of Cloud Computing Recommendations of the National Institute of Standards and Technology. Gaithersburg: National Institute of Standards and Technology. [10] Proxmox. (t.t). Proxmox Technology. Diakses 14 Januari 2015, diambil dari https://www.proxmox.com/about/pro xmox-technology. [11] Proxmox. (t.t). Proxmox Virtual Environment. Diakses 14 Januari 2015, diambil dari https://www.proxmox.com/proxmoxve. [12] Purbo, O. W. (2012). Petunjuk Praktis Cloud Computing Mengunakan Open Source. Yogyakarta: Penerbit ANDI. [13] Rizani, M. N. (2014). Implementasi Private Platform as a Service Menggunakan Stackato untuk Pemrograman Java (pp. 2 4). Bandung: Telkom University. [14] Sabharwal, N., & Wali, P. (2013). Cloud Capacity Management. Apress. [15] Sosinsky, B. (2011). Cloud Computing Bible. Indianapolis: Wiley Publishing Inc. [16] Ubuntu. (t.t). The Ubuntu Story. Diakses 14 Januari 2015, diambil dari http://www.ubuntu.com/about/aboutubuntu. [17] Xiong, H. (2014). Scalable Architectures for Platform-as-a- Service Clouds: Performance and Cost Analysis. Dublin: Dublin City University.