In cloud era, many organizations are starting journey towards adopting microservice architecture to enable organizations to grow fast, where & when needed. This article has been divided into multiple parts.
In part 1 of series, we touched upon key challenges in traditional (monolithic) architecture and microservice style architecture to start with.
In part 5, focus on additional features of Istio service mesh.
This section details about some more additional features of Istio, especially for application, operational metrics and monitoring.
The Grafana addon provides an Istio dashboard visualization of the metrics (request rates, success/failure rates) in the cluster. Once you’ve installed Grafana, check that you can access the dashboard. Note, no changes made in application code.
By using Grafana dashboard, we can view metrics those are being collected.
Service Invocation Tracing
Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures.
Cloud-native applications in Istio can benefit from Zipkin distributed tracing without having to use any library whatsoever because the actual tracing is performed by the Envoy proxies collocated with the microservices, as explained before. The only (minimal) expected cooperation from the microservices’ code is the propagation of Zipkin-related context in HTTP headers when making outbound calls.
The Zipkin screen shows how much time it took for the request on product page to finish. It also shows how much time it took for the requests on the details, reviews, and ratings services.
The Service Graph addon provides a textual (JSON) representation and a graphical visualization of the service interaction graph for the cluster.
The Service Graph service provides both a textual (JSON) representation (via /graph) and a graphical visualization (via /dotviz) of the underlying service graph.
After setting Istio for IBM Bluecompute sample application and the resulting service graph should look something like this. (Note: reqs/sec – will be changed based on load)
- Building Microservices by Sam Newman (http://shop.oreilly.com/product/0636920033158.do)