Monitoring and comparative analysis of containerized environments
Abstract
This paper systematically examines monitoring tools for containerized applications, microservices, and DevOps environments, and provides an experimental evaluation across two deployment scenarios. The study was conducted across two infrastructures: on-premises (Docker Swarm, Kubernetes) and cloud-based (Google Kubernetes Engine). A test application was deployed, and load and stress tests were performed using Apache JMeter and k6 with virtual user counts ranging from 100 to 1,000. Metrics including CPU, memory, I/O, and network utilization were collected using Prometheus, Grafana, cAdvisor, and Docker stats. Based on exploration and evaluation, 69 unique monitoring-related tools were identified and grouped into four non-mutually exclusive categories: container-based, cloud-based, microservices-oriented, and DevOps-focused (18, 25, 13, and 38 assignments, respectively; 94 assignments in total because some tools belong to multiple categories). A classification is presented according to visualization capabilities, supported metrics, and quality attributes, including performance, security, interoperability, and usability. Experimental results demonstrate that both monitoring stacks captured variations in processor utilization under load at the resolution configured by their default sampling intervals (15–30 s for Prometheus + cAdvisor and 60 s for Google Cloud Monitoring), with the 1,000-virtual-user stress bursts visible as sharp CPU peaks in both stacks. The contribution of this work is a practical guideline for selecting monitoring tools, developed on the basis of a reference experimental environment.