The Istio team has released v1.5 of the service mesh, which they say represents a significant simplification of the architecture which should make it much easier to adopt and integrate with existing stacks.
The key change is the consolidation of the control plane into a single binary, called Istiod, which was flagged up by the project earlier this week.
As the Istio team put it, “We are dramatically simplifying the experience of installing, running, and upgrading Istio by ‘embracing the monolith’ and consolidating our control plane into a single new binary – Istiod.”
They said this would make operators’ lives “much easier with fewer moving parts which are easier to debug and understand. For mesh users, Istiod doesn’t change any of their experience: all APIs and runtime characteristics are consistent with the previous components.”
In a blog covering the release, IBM’s Steven Dake said Istio had become steadily more complex. “Essentially, istiod dramatically simplifies Istio’s architecture, which we think will improve the feasibility of making improvements to the project.”
Going into more detail, he said that the control plane in v1.4 consisted of a range of individual components: sidecar proxy loading provided by the sidecar-injector service; extensibility through the Mixer services; extensibility plugins through Mixer Adapter plugins; sidecar proxy config generation and serving through Pilot service; security from Citadel; validation provided by the Galley.
In v1.5, by contrast, istiod provides proxy sidecar loading, mesh calculation, security and validation, while in the data plane Mixer Adapter plugins are reimplemented within the mesh as Envoy plugins.
The team also said it was debuting a new extensibility model “that unifies Istio’s extensibility model with Envoy’s, using WebAssembly (Wasm).”
Using Wasm “will give developers the ability to safely distribute and execute code in the Envoy proxy – to integrate with telemetry systems, policy systems, control routing and even transform the body of a message. It will be more flexible and more efficient, eliminating the need for running a Mixer component separately (which also simplifies deployments).”
Other improvements include CLI installation via istioctl – currently in beta. “Over a dozen” other improvements are promised with istioctl, including Istioctl Analyze coming out of experimental status, and the addition of a raft of analysers.