Chapter 6. Measurement
This chapter covers
- Monitoring monoliths versus microservices
- Monitoring systems with many small parts
- Using scatterplots to visualize system behavior
- Measuring messages and services
- Using invariants to validate system health
Microservice systems need to be monitored. More than that, they need to be measured. The traditional approach to monitoring, where you collect time-series metrics such as CPU load and query response times, isn’t as useful when you have a system of many small moving parts. There are too many microservices to think about each one individually.
Instead, we must widen the concept of system observation. You want to measure the system, rather than monitor it. A microservice system grows organically as business needs change, and taking a measurement-oriented approach allows you to discover and understand the system as it is, rather than how it was designed. Such measurements aren’t limited to the dimension of time. You also want to measure the ever-changing network of relationships within the system.
As always, you need to ask where the value is. What purpose does measurement serve? You want to do three things: