Istio 1.0: Come for Traffic Routing, Stay for Distributed Tracing
While first-time users may be drawn to the Istio service mesh initially for the headaches it removes in traffic routing, they may later be pleased at discovering the software’s distributed tracing capabilities, noted Brian “Redbeard” Harrington, Red Hat project manager for the open source service mesh.
Istio is “trying to solve some of the problems that folks will run into before they know they’ll have the problem,” Harrington said, in an interview with The New Stack. “Folks have been focused a lot on the aspects of traffic manipulation, but one of the things I’ve been very excited about has been the implementation of OpenTracing components. As we get to the point where folks realize they will need visibility into their applications, the fact that that this will be there ready to use, I think will be very, very beneficial.”
This week, Google released the first “production-ready” version of Istio. While Red Hat is waiting a bit longer to start commercially offering the open source technology in the same manner in supports other open source software, the open source giant is bullish on the utility of service mesh, Harrington said.
Istio provides a control plane for managing services, allowing them to find one another (“discovery”), and enforcing, by way of APIs, security and policy rules for traffic management. Istio works as “an actual infrastructure layer, rather than something you something you’d tweak inside your actual application code,” Harrington said. “If you are a Go developer or Node developer, components come automatically. You don’t have to write that additional functionality.”
With the advanced traffic management, Istio, along with Kubernetes, can set the stage for managing a single group of resources across multiple clouds, and even in-house. It offers fault-injection, retry logic and circuit breaking. Traffic can be routed to different versions of the application, based on a specific end-client, or slowly bleed traffic from one version of an application to another, or detect protocol-level errors and reroute accordingly.
The traffic routing could help organizations not only make better use of their resources, but also expedite the development process.
With microservice architectures, it is almost impossible to test a particular service outside of the production environment itself. And the rise of fast-paced DevOps practices has led to an increase of errors in code, explained Christian Posta the Red Hat chief architect for cloud development at Red Hat, in a recent podcast interview for The New Stack.
With the ability to easily and quickly reroute traffic to particular servers, a service mesh such as Istio could offer provide a way to test code in production, using through the use of canary rollouts, which provide a way of testing a complex application in a production setting without rolling it out to all users at once.
And, as Harrington noted, the software also collects logs, traces and telemetry, and adds security and policy, eliminating the need to embed client libraries in the code itself to execute these tasks. The software can be used to log traffic across services: capturing requests per second, error rates and latency. It can offer a dependency graph to show how services affect one another.
These features have already been noticed by vendors of observability tools and policy engines. SolarWinds and Datadog are writing Istio adapters for their monitoring software, and deployment tools from Weaveworks and CodeFresh are adapting to the software as well.
Ready for Production?
While Google has proclaimed Istio to be production-ready with the 1.0 release, Red Hat is holding back on offering it to customers until more testing is completed, Harrington said.
“Ultimately, this is the community around Istio calling the project ‘1.0.’ I’m happy that they’ve reached that milestone, but 1.0 for a community open source project may not entirely be aligned with what an enterprise customer thinks of ‘1.0,’” Harrington said.
Over 200 developers have contributed more than 4,000 check-ins with new functionality. IBM, VMware, Cisco and Red Hat have all significantly contributed to the project. Google, which launched the project last year with IBM and Lyft, now offers a managed Istio service.
Nonetheless, Red Hat plans to do additional rounds of testing and performance characterization before formulating a commercial offering of Istio. “I’m very confident in the upstream community and being able to collaborate with them to refine the software further,” Harrington said. The company is preparing the software for a tech-preview release, and has been testing it with select customers.
Thus far, at least 12 companies are already using Istio in production, according to Google, including eBay, Descartes Labs, HP FitStation, Namely, PubNub and Trulia. Auto Trader UK used the software to adopt a container-centric public cloud architecture, based on Kubernetes.
Google and Red Hat are sponsors of The New Stack.
Feature image via Pixabay.