Distributed microservices-based applications have many advantages and disadvantages, as we discussed in Chapter 1, Monoliths Versus Microservices. It is very difficult to test, debug, and monitor microservice applications without the proper tools. Istio makes these tasks much easier by providing proper utilities to visualize metrics, logs, traces, runtime component dependencies, traffic flow, and so on from a central place.
In this chapter, we will cover the telemetry and observability features that are available in Istio. We will enable these features for a demo application through Istio's metrics collectors and visualization tools, that is, Prometheus, Grafana, and Kiali.
In a nutshell, we will cover the following topics:
- Built-in metrics collection
- Distributed tracing
- Exploring Prometheus
- Visualization and observability