Implementasi Monitoring Platform untuk Microservice Architecture menggunakan Elastic Stack (Studi Kasus : Alterra Indonesia) - Khabban Sayyidi Razin Surya; Adhitya Bhawiyuga; Achmad Basuki (Fakultas Ilmu Komputer (FILKOM), Universitas Brawijaya, 2022)
Microservice architecture is one of the architectures that can be used in software development, by making every business process in the application into a microservice. Microservices have advantages such as easy scalability, extensibility with different technologies, and increased software agility. However, in developing using microservices there are challenges regarding how to know the behavior of each running microservice, this challenge is felt when there are too many microservices running. The monitoring platform is the answer to these challenges, the monitoring platform will help to provide visibility to the running microservices. The monitoring platform will help show the workload of each microservice, incoming and outgoing network packets, and record event logs for each microservice. As the number of running microservices grows, new challenges will emerge for the monitoring platform. The monitoring platform must be able to receive data from various microservices with various forms of data. The researcher tries to solve this problem by implementing a monitoring platform for microservice architecture using elastic stack. This monitoring platform will be built on several servers with elastic stack components installed and each server has its own function. The monitoring platform will centralize all microservices data on a single platform, and the platform provides a single dashboard to unify the performance of all microservices without the need to move to another dashboard. To ensure this platform can receive a lot of data from all microservices and can always be accessed at any time, several tests were carried out. Fault tolerance testing to ensure the platform will continue to run even if one server is down. Load balancer testing will be carried out to ensure that the platform load is evenly distributed on each server. snapshot and restore to ensure data is stored for a long time, latency testing to ensure data sent to the elastic stack does not take a long time, and lastly is confidential testing to ensure only authorized users can ensure certain monitoring data.