Conceptual and Comparative Analysis of Application Metrics in Microservices
Lucas Eduardo Gulka Pulcinelli, Diego Frazatto Pedroso, Sarita Mazzini Bruschi · 2023
Cloud computing represents an extensively implemented paradigm for provisioning distributed services, offering a significant degree of scalability for global applications. Nonetheless, when confronted with the necessity to scale, the system encounters monitoring challenges, as it must contend with an increased volume of requests while simultaneously accommodating fluctuating demands across various geographic regions. Aside from that, detecting errors in such a model becomes increasingly difficult, because of the many abstraction layers and interconnected microservices a cloud solution has. In that context, metrics can be used to identify errors and monitor the system's state. The substantial diversity in the types of services and the metrics themselves introduces a formidable complexity to the analysis of an entire cluster. Therefore, it is important to identify the essential metrics in microservices that can be used to recognize issues or bottlenecks. In pursuit of this objective, a cloud-based solution was implemented within an Amazon Web Services Kubernetes cluster to emulate the functionality of an online retail store and an automated testing framework was made to inject errors in different parts of this application while its metrics were obtained. In that way, it was possible to identify the effects that errors have on the metrics of components in the system, rendering the monitoring of the cluster a more direct process and reducing the amount of data to be analyzed in order to identify the presence of errors in a cloud environment.