Implementasi Monitoring Platform untuk Microservice Architecture menggunakan Elastic Stack (Studi Kasus : Alterra Indonesia)
Kata Kunci:
Microservice Architecture, Microservice, Monitoring Platform, Elastic StackAbstrak
Microservice architecture merupakan salah satu arsitektur yang dapat digunakan dalam pengembangan perangkat lunak, dengan cara membuat setiap proses bisnis pada aplikasi menjadi microservice. Microservice memiliki keuntungan seperti kemudahan melakukan skalabilitas, dapat dikembangkan dengan teknologi berbeda, dan meningkatkan agility perangkat lunak. Namun dalam melakukan pengembangan menggunakan microservice terdapat tantangan mengenai bagaimana mengetahui perilaku setiap microservice yang berjalan, tantangan ini sangat terasa apabila microservice yang berjalan sangat banyak. Monitoring platform adalah jawaban dari tantangan tersebut, monitoring platform akan membantu untuk memberikan visibilitas terhadap microservice yang berjalan. Monitoring platform akan membantu menampilkan beban kerja setiap microservice, paket jaringan masuk dan keluar, dan mencatat event logs setiap microservice. Seiring berkembangnya jumlah microservice yang berjalan, akan muncul tantangan baru terhadap monitoring platform. Monitoring platform harus dapat menerima data dari berbagai microservice dengan bentuk data yang beraneka ragam. Peneliti mencoba untuk menyelesaikan masalah tersebut dengan melakukan implmentasi monitoring platform untuk microservice architecture menggunakan Elastic Stack. Monitoring platform ini akan dibangun pada beberapa server yang telah terpasang komponen elastic stack dan setiap server memiliki fungsi masing-masing. Monitoring platform akan mensentralisasikan semua data microservice pada satu platform, dan platform menyediakan satu dasbor untuk memantau kinerja dari semua microservice tanpa perlu pindah ke dasbor lain. Untuk memastikan platform ini dapat menerima data yang banyak dari semua microservice dan selalu dapat diakses kapan pun, terdapat beberapa pengujian yang dilakukan. Pengujian fault tolerance untuk memastikan platform akan tetap berjalan walau pun terdapat satu server yang mengalami gangguan. Pengujian load balancer akan dilakukan untuk memastikan beban platform merata setiap server. Pengujian snapshot dan restore untuk memastikan data tersimpan dengan waktu yang cukup lama, pengujian latensi untuk memastikan data yang dikirim ke elastic stack tidak memakan waktu yang lama, dan terakhir adalah pengujian confidential untuk memastikan user yang terotorisasi saja yang dapat membuat data monitoring tertentu.