Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| arch:intelligent_monitoring_for_msa_what_are_the_design_choices [2026/08/29 07:53] – Bulk sync migration user | arch:intelligent_monitoring_for_msa_what_are_the_design_choices [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Intelligent monitoring for MSA, what are the design choices? ====== | ||
| + | By Sofya Donskaya (sadonskaya@edu.hse.ru) | ||
| + | |||
| + | ===== Introduction ===== | ||
| + | |||
| + | Nowadays, a micro service architecture (MSA) became one of the most popular type of the IT product’s architecture and consists of independently deployable services, which together bring value to the business’s needs. Each of the service provides a unique business capability and exchange data with other services by different means, which need to be well-defined and lightweight. [1] | ||
| + | |||
| + | ===== Relevance MSA monitoring ===== | ||
| + | |||
| + | More and more IT projects start relying on this approach. That is why, it is highly important not only to develop micro service but also to track them regarding the main characteristics in order to save and improve their usage. The main characteristics can be as the following: availability, | ||
| + | |||
| + | ===== Priniciples of monitoring for MSA ===== | ||
| + | |||
| + | The monitoring systems have to be based on the best practices and principles. The first principle of monitoring micro services is about to monitor containers and what is inside them. To have a decent level of the micro services’ deployment you need to have a system for automated and dynamic monitoring for containerized infrastructure. This solution has to provide logical visualization and topologies that fix and represent the model of how the software is deployed with metrics aggregation and analysis for intelligent monitoring. The second principle is about to alert on service performance, | ||
| + | |||
| + | ===== Monitoring system' | ||
| + | |||
| + | The idea of monitoring systems is highly in used when the MSA is being implemented. It relies on metrics that are time series data, which solves a challenge of SLO-based alerting and root cause analysis, and uses different methods as for design choices. For example, distributed tracing allows following the course of a request of transaction as it goes throughout the monitored micro services. This process pinpoints bottlenecks and serious issues that can have a big impact on their services’ performance. It begins when a user interacts with an application and send an initial HTTP request with a unique trace identifier (ID). While the request is being in motion through the host system, each operation worked on it, also called “span”, is being tagged with the first request’s trace ID, its own unique ID and the ID of the operation that created the request (“parent span”). [4] Every span is considered being a single step and contains valuable data relating to the micro service’s process that is performing the operations, such as the service’s name, a process handling the request’s address, logs and events, tags, detailed stack traces and error messages. A good example of this approach’s implementation would be Elastic as one of the most popular stacks with Logstash aggregating log files, ElasticSearch indexing and searching data and Kibana visualizing data. [4] | ||
| + | |||
| + | ===== Monitoring system' | ||
| + | |||
| + | The other design approach to monitoring would be the RED method as a monitoring methodology created by Tom Wilkie based on best practices of Google. This method is about three metrics such as a rate (the number service’s requests processing by it per a second), an error (the number of requests failed per second) and duration (time for each request to be processed). [5] These three metrics provide a broaden understanding of the micro services’ performance. The R evaluates the traffic, the E gives you information if the service is functioning within your SLO and the D represents the overall user experience of the IT product. [5] | ||
| + | |||
| + | ===== Conclusion ===== | ||
| + | |||
| + | Taking everything into consideration, | ||
| + | |||
| + | ===== References ===== | ||
| + | |||
| + | - Chris Richardson - Microservice Architecture (url: [[https:// | ||
| + | - Apurva Dave and Loris Degioanni - The Five Principles of Monitoring Microservices (url: [[https:// | ||
| + | - Alertsite - Monitroing microservices (url: [[https:// | ||
| + | - Splunk - What is Distributed Tracing? (url: [[https:// | ||
| + | - Tim Yocum - The RED method: A new strategy for monitoring microservices (url: [[https:// | ||
| + | - Muhammad Waseem, Peng Liang, Mojtaba Shahin, Amleto Di Salle, Gast´on M´arquez - Design, Monitoring, and Testing of Microservices Systems: The Practitioners’ Perspective - School of Computer Science, Wuhan University, 430072 Wuhan, China | ||