Google today released version 1.0 of Istio, a “service mesh” designed to make it easier to adopt containers and microservices.
Istio does so by offering a layer that does jobs like collecting logs, traces and telemetry, authentication and network policy. Any application needs those services and monolithic applications often include them. But microservices are designed to orchestrate lots of small single-purpose code chunks into useful applications. It would be wasteful and/or super-complex to build those services into each component of a microservice and doing so would not reduce complexity.
Enter Istio, which offers itself as the layer to do all the plumbing, regardless of the function or code used in a microservice.
Google described it simply by saying “With Istio, your DevOps team gets the tools it needs to run distributed apps smoothly.”
Product Manager Dan Ciruli added that “Whereas traditional monitoring gives you low-level metrics such as nodes’ CPU consumption, Istio measures the actual traffic between services: requests per second, error rates and latency. It also generates a dependency graph so you can see how services affect one another.”
Istio’s debut in a ready-for-production 1.0 release matters for three reasons. Firstly, it plays very nicely with Kubernetes, Google’s container orchestration platform and will make it more attractive by giving it a consistent layer of plumbing.
Secondly, Istio does for containers what virtual machine management environments do for VMs and what the likes of NetflixOSS and Steeltoe do for Java and .Net respectively. Istio reaching 1.0 therefore markedly advances microservices’ maturity and brings such architectures closer to rival approaches to application development and deployment.
Lastly, Istio already enjoys very wide support. IBM, Cisco, Red Hat, and VMware are all aboard. Pivotal’s adopting it in Cloud Foundry. And Google’s already fired up Istio-as-a-service.
Google’s also said it has “ambitious plans for adding features and improving Istio’s usability with the ultimate goal of delivering a complete set of tools to manage all of your services, so that you can focus on writing software and running a business.”
It’s therefore not hard to see Istio quickly becoming a widely-adopted part of the microservices and cloud-native development ecosystems. And if it generates anywhere near the enthusiasm achieved by Kubernetes – Google’s last big contribution in this field – it will soon also be very influential.