Distributed applications are complex and bring in their own set of challenges for developers to debug and fix production issues. Though the microservices architecture helps maintain a smaller team that works autonomously and focuses on separate business domains, it introduces newer challenges due to its distributed nature. By Nish.
For example, in case of an issue during a business transaction, the request needs to be traced end-to-end, which may span across multiple services and infrastructure. This is where monitoring and observability come into the picture. While monitoring records the overall health of an application while observability helps you dig deeper with contextual data.
The article also covers:
- Health checks
- Logging
- Structured logging
- Centralized logging & correlation ID
- Distributed tracing
Distributed tracing is the equivalent of call stacks for modern cloud and microservices architectures, with the addition of a performance profiler tossed in. Distributed tracing or distributed request tracing helps look at the request end-to-end and enables you to identify a problem holistically. Open-source distributed tracing systems like the openzipkin/zipkin are prevalent in this space. You will get link to video link in which authors looked at observability and monitoring’s key pillars like logging, metrics, and tracing and deep-dived into the health checks.
The authors also have built a series of modules to help you learn to build .NET microservices and cloud-native technologies. Check out the links in the article that will help you understand monitoring and observability Excellent!
[Read More]