Observability for Serverless and Microservices
As we have seen up to this point of the book, distributed systems contain a complexity that brings to a solution some concerns that you can’t ignore. The implementation of a single microservice, using techniques such as serverless or containerization, is generally quite simple, but observing the entire solution is a difficult task and is certainly one of these concerns. The adoption of the observability concept is a good answer to this problem.
Observability is defined by three primary signals: logs, metrics, and traces. A log is an immutable, time-stamped record of an event. A metric is a numerical representation of system performance over time. A trace represents the journey of a request across services in a distributed system. Together, these three signals provide insight into system behavior, enabling proactive maintenance and fast troubleshooting.
Different from traditional monitoring, which generally focuses on predefined...