OLEH :
1.3 Hipotesis
1. Jumlah traffic atau pengunjung website yang terlalu banyak sering menjadi penyebab
utama server menjadi down. Ini biasanya terjadi karena kapasitas hosting yang
digunakan tidak memadai, sehingga mengakibatkan website sulit diakses oleh banyak
pengunjung secara bersamaan.
2. Web sisfo biasanya down pada saat penyusunan KRS dan saat mahasiswa melihat ipk.
Itu dikarenakan banyak mahasiswa yang mengakses web diwaktu yang bersamaan.
BAB II LANDASAN TEORI
2.1 Microservice
Microservice adalah sebuah arsitektur perangkat lunak yang kecil, independen yang
saling bekerja sama untuk membentuk satu kesatuan perangkat lunak. Karakteristik dari
arsitektur microservice adalah kecil dan hanya memiliki satu tugas. Pendekatan
karakteristik dari arsitektur microservice diawali dari prinsip pengembangan perangkat
lunak yang dipopulerkan oleh Robert. C. Martin yang mengatakan bahwa semua modul
yang berubah akibat alasan yang sama harus diletakan pada satu modul yang sama, dan
pisahkan modul yang mengalami perubahan yang disebabkan oleh alasan yang berbeda.
Pendekatan yang dimiliki oleh arsitektur microservice sama dengan prinsip yang
dipopulerkan Robert. C. Martin, modul yang sama diletakan pada satu layanan yang
dibatasi oleh kebutuhan bisnis. Dengan pembatasan tersebut, pencegahan terhadap
pertumbuhan codebase yang begitu besar dapat dilakukan . Karakteristik berikutnya dari
arsitektur microservice adalah autonomous. Artinya arsitektur ini mendukung bahwa satu
layanan merupakan sebuah entitas yang terpisah dengan layanan lainnya. Artinya, satu
layanan bertanggung jawab terhadap proses deployment.
Proses komunikasi antar microservice dapat dilakukan dalam dua cara, yaitu
asynchronous dan synchronous. Bentuk komunikasi dalam model asynchronous
dilakukan dengan menggunakan pub / sub dengan model arsitektur event-driven
communication. Lalu, untuk synchronous dilakukan dalam bentuk HTTP atau gRPC.
Keuntungan arsitektur microservice adalah setiap layanan juga dapat memilih teknologi
yang sekiranya cocok untuk diaplikasikan pada layanan yang bersangkutan, sehingga
pengembangan tidak bergantung pada penggunaan satu teknologi atau bahasa
pemrograman .
2. 2 Aplikasi Web
Aplikasi web adalah sebuah aplikasi yang menggunakan teknologi web browser
sebagai client side dan menggunakan network sebagai komponen komunikasi. Aplikasi
menurut Yuhefizar, 2010 merupakan program yang dikembangkan untuk memenuhi
kebutuhan pengguna dalam menjalankan pekerjaan tertentu. Sedangkan menurut
Supriyanto, 2005 aplikasi adalah program yang memiliki aktifitas pemrosesan perintah
yang diperlukan untuk melaksanakan permintaan pengguna dengan tujuan tertentu.
Penggunaan web browser sebagai client side, membuat pengembangan aplikasi web
harus menggunakan teknologi yang mendukung penggunaan browser seperti HTML dan
Javascript .[2]
Aplikasi web dirancang untuk penggunaan yang cukup luas dan dapat digunakan
oleh siapapun. Aplikasi web saat ini banyak digunakan untuk pembangunan platform
webmail sampai yang popular saat ini e-commerce.
Penggunaan aplikasi web dapat dikategorikan cukup mudah, pengguna tidak perlu
mengunduh aplikasi tersebut, karena dapat diakses melalui network. Pengguna saat ini
dapat menggunakan aplikasi browser seperti Chrome, Firefox dan Safari untuk
mengakses halaman web atau aplikasi web. Agar aplikasi web dapat bekerja dibutuhkan
server yang dapat menyimpan web server, application server dan database untuk
penyimpanan data . Proses yang dibutuhkan aplikasi web untuk dapat bekerja dimulai
ketika pengguna melakukan request ke web server untuk mengakses aplikasi tertentu.
Lalu, web server akan mengarahkan request menuju application server yang nantinya
akan melakukan akses ke database jika memang diperlukan.
Keuntungan yang diberikan oleh aplikasi web dibandingkan aplikasi melalui
platform lainnya adalah tidak butuh instalasi. Mengingat aplikasi web dapat diakses
selama pengguna terhubung dan memiliki sebuah jaringan, maka pengguna tidak perlu
memasang aplikasi web di device yang melakukan akses, sehingga dapat menghemat
penggunaan storage pada perangkat pengguna. Keuntungan berikutnya adalah aplikasi
web dapat diakses pada beberapa platform yang berbeda, sehingga memberikan
kemudahan bagi pengguna untuk mengakses aplikasi web dengan piranti atau perangkat
apapun.
2. 3 Docker
Docker adalah platform as a service yang mendukung virtualisasi pada level
operating system untuk membungkus dan mengantarkan perangkat lunak dalam bentuk
container . Penggunaan docker dipercaya dapat memudahkan developer untuk delivery
produk perangkat lunak tanpa harus memikirkan kompatibilitas terhadap komputer
server. Docker menurut sugianto, 2016 adalah suatu platform terbuka bagi pengembang
perangkat lunak dan pengelola sistem jaringan untuk membangun, mengirimkan dan
menjalanan aplikasi-aplikasi terdistribusi. Definisi tersebut membawa pengertian praktis
bahwa Docker merupakan suatu cara memasukkan layanan ke dalam lingkungan
terisolasi bernama container, sehingga layanan tersebut dapat dipaketkan menjadi satu
bersama dengan semua pustaka dan software lain yang dibutuhkan. [3]
Docker memberikan beberapa keuntungan bagi pengembang perangkat lunak,
termasuk dapat menggantikan peran dari VM, memudahkan pembuatan prototipe banyak
software, dengan setiap software dan file terkait ada di container terisolasi
menyederhanakan pemaketan software sesuai dengan kemampuan pengembang bukan
mengikuti kemampuan administrator web hosting mengaplikasikan arsitektur
microservice memodelkan jaringan (terutama data center) memungkinkan produktifitas
full-stack ketika offline mengurangi biaya debugging memudahkan dokumentasi
ketergantungan dan touchpoints dari software memungkin delivery berkelanjutan. Hal
tersebut di disampaikan juga oleh Matthias dan Kane.
Boettiger melengkapinya dengan menyatakan bahwa Docker mampu melakukan
virtualisasi pada level sistem operasi, men-deploy container secara portabel meskipun
lintas platform, menyediakan fitur pemanfaatan ulang komponen, sharing, archiving, dan
versioning dari image container. Teknologi container telah diimplementasikan oleh
banyak penyedia layanan online di bidang cloud computing dengan pendekatan dan
kelebihan/kekurangannya masing-masing.
Salah satu kasus penggunaan terbesar dan terkuat untuk penerapan kontainer
(Docker) adalah microservices. Microservices adalah cara mengembangkan dan
menyusun sistem perangkat lunak seperti mereka dibangun dari komponen independen
kecil yang berinteraksi satu sama lain melalui jaringan. Hal ini berbeda dengan cara
monolitik tradisional mengembangkan perangkat lunak, di mana ada program tunggal
yang besar, misal program yang ditulis dalam bahasa pemrograman C ++ atau Java.
Ketika datang kebutuhan untuk meningkatkan performa pada sistem monolit, umumnya
satu-satunya pilihan adalah untuk meningkatkan keatas (scale up), di mana permintaan
tambahan ditangani dengan menggunakan mesin yang lebih besar dengan lebih banyak
RAM dan power CPU. Sebaliknya, microservices dirancang untuk skala keluar (scale
out), di mana permintaan tambahan performa dapat ditangani oleh penyediaan beberapa
tambahan mesin virtual untuk menyebar beban kerja sistem.[4]
Pada Bab ini akan diuraikan metodologi penelitian yang terdiri dari urutan kegiatan yang
akan dilakukan dalam suatu penelitian, agar penelitian tersebut mendapatkan hasil seperti yang
diharapkan. Kerangka penelitian merupakan konsep atau tahap-tahap yang akan dilakukan
melalui cara tertentu dengan prosedur sistematis.
Kerangka Kerja adalah suatu Struktural konseptal dasar yang digunakan untuk
memecahan atau menangani suatu malasah kompleks. Tahap penelitian ini menjelaskan
langkah–langkah dalam melakukan pencatatan data serta mengumpulkan beberapa laporan yang
diperlukan untuk dapat dijadikan pedoman dalam membuat penelitian ini.Pada tahapan
penelitian, penulis melakukan beberapa tahapan dalam penelitian, sebagai berikut.
1. Waktu Penelitian
Pengumpulan data serta informasi pada tahap ini dilakukan untuk mengetahui objek yang
diteliti. Dari data serta informasi yang akan dikumpulkan akan didapat data untuk mendukung
penelitian.
2. Tempat Penelitian
3. Metode Penelitian
Metode penelitian adalah langkah yang dimiliki dan dilakukan oleh peneliti dalam rangka
untuk mengumpulkan informasi atau data serta melakukan investigasi pada data yang telah
didapatkan tersebut. Metode penelitian memberikan gambaran rancangan penelitian. Dalam
melakukan penelitian agar mendapatkan hasil yang diharapkan, maka sekiranya diperlukan suatu
metode penelitian yang biasa dilakukan yaitu:
1. Pengamatan (Observasi)
Melakukan pengamatan secara langsung ditempat penelitian untuk mengetahui secara
jelas dan terinci permasalahan yang ada. Metode pengamatan harus dilakukan secara
sistematis guna mendapatkan informasi yang akurat. Kegiatan pengamatan yang
dilakukan memiliki karakteristik tersendiri yaitu objektif, faktual dan sistematik.
2. Wawancara
Wawancara adalah teknik pengumpulan data melalui proses tanya jawab lisan yang
berlansung satu arah , artinya pertanyaan datang dari pihak yang mewawancarai dan
jawaban diberikan oleh yang diwawancara
DAFTAR PUSTAKA
[1] M. F. Razi, “Implementasi Pengendali Elastasitas Sumber Daya Berbasis Docker untuk
Aplikasi Web,” 2017, [Online]. Available:
https://repository.its.ac.id/43341/%0Ahttps://repository.its.ac.id/43341/1/5113100105-
Undergraduate_Thesis.pdf
[2] R. Purnomo and A. Nurdin, “Aplikasi layanan delivery order berbasis web pada rumah
makan podoteko,” vol. 3, no. 2, pp. 23–30, 2017.
[3] M. Fadlulloh Romadlon Bik, “Implementasi Docker Untuk Pengelolaan Banyak Aplikasi
Web (Studi Kasus : Jurusan Teknik Informatika Unesa),” J. Manaj. Inform., vol. 7, no. 2,
pp. 46–50, 2017.