Istio, an open platform to connect, manage, monitor, and secure microservices, was launched on May 24, 2017 with a joint announcement by IBM, Google, and Lyft. This exciting project is evolving at a rapid pace and the ecosystem continuously expands around Istio. Here are some of the Istio ecosystem projects I’ve played with lately on my Kubernetes cluster deployed in IBM Cloud!
1. Using Weave Scope
In addition to Servicegraph mentioned in istio.io, Weave Scope provides slick visualization for connections among pods and services, resource utilization among containers or hosts, and many other things. For example, you can see all the pods from your microservices talk to Pilot, because every single envoy side car that is attached to your microservice needs to interact with Pilot. You may also surprisingly find out that the istio-ca pod doesn’t interact with any other Isito components or your microservices.
2. Istio Dashboard
Istio dashboard, powered by Grafana and Prometheus, shows a vivid dashboard of the service mesh itself and each of the services managed by Istio. You can easily visualize detailed metrics such as global service mesh success rate, success rate per service, response time for each service, and so on without the need for you to do anything to your microservices.
3. ZipKin for distributed tracing
Zipkin provides distributed tracing for each request as users visit your microservices. You can easily open a specific request and trace time spans for each of your services, communication among the services, and communication through the Istio components.
Istio-Analytics, an IBM research project, provides deep analytics based on aggregated distributed tracing from Zipkin over a configurable time window. For example, you can easily visually compare the base deployments and canary deployments for each of the services. You can also analyze fault injection behavior of traces aggregated over time.
The projects above are just a few that I’ve played with lately. The list doesn’t stop here. There are many other projects that I’m watching:
- Jaeger: The Istio community has added tighter integration with Jaeger in Istio v0.3 and I’m eager to try it out.
- Istio-vet: Extra validation is always good. Troubleshooting Istio is not easy at the moment and I’m excited to see tools evolving in this space.
- Linkerd: Linkerd announced support for Istio earlier this year.
- Nginx: Nginx also announced that they will implement Nginx as service proxy for Istio.
- Mixer adapter guide: This can really help open up a broader ecosystem for Istio and enable developers to add more adapters.
With KubeCon coming up in Austin, I’m excited and eager to learn more about ecosystem projects around Istio at the conference. In the near term, I expect to see more vendor and cloud provider integration around Istio and possibly managed Istio services. I would personally love to see projects leveraging Istio to visually manage and display traffic rules or policies. Check out my video below on how to use Weave Scope, Istio Dashboard, Zipkin and Istio-Analytics…