As modern digital computing infrastructure continues to evolve, new layers of automation enable increasingly rapid change and adaptation. Once containerization had made it possible to deploy new capabilities in seconds, then the advent of Kubernetes and similar tools added a layer of orchestration to co-ordinate container deployments at scale. A by-product was the easy abstraction of functions into a 'serverless' model, where the service was just there, on demand, in the infrastructure. Now a new layer known as the 'service mesh' is coming into being to add governance, management and communication across all of these capabilities. This week saw the release of version 1.0 of a new open source framework for service mesh known as Istio, backed, like Kubernetes before it, by Google, along with IBM.
More value than Kubernetes
You probably haven't heard of Istio, but you will soon if you do any form of agile digital development or operations. Google Cloud CTO Urs Hölzle told me last week that he predicts near universal adoption:
My expectation would be, 90% of Kubernetes users use Istio two years from now. It's such a natural fit to what Kubernetes provides, it almost feels like the next iteration of Kubernetes. It's done by the same team, the two work well together.
Istio just turned 1.0. Until now it's been relatively unknown. Today it has very little usage, because it wasn't production ready until this week.
Hölzle didn't exactly say that Istio will be bigger than Kubernetes, but he came pretty close:
You could argue the value you get from Istio is larger than Kubernetes.
Istio, Kubernetes and serverless
In part, Hölzle's confidence stems from Google's decision to standardize on Istio as the management layer of its Cloud Services Platform (CSP), which it announced at its Cloud Next conference last week. This works alongside two other initiatives also launched last week. One is Knative, a Kubernetes-based open source framework for building, deploying and managing serverless workloads, which as Kurt Marko explains in his Cloud Next write-up earlier this week, "is much more than just a serverless wrapper for containers, but a development framework for containerized applications." The other is an on-premise version of the Google Kubernetes Engine (GKE), the cloud vendor's container management tool. Combined with Istio's management layer, this effectively means that an organization can use CSP to manage an ecosystem of containers and serverless across its entire IT infrastructure, from on-premise to public cloud.
Istio is a joint effort launched just over a year ago by Google, IBM and Lyft to create an open technology framework to connect, secure, manage and monitor networks of cloud microservices. Each of the three participants contributed existing technologies they had developed separately.
Easing enterprises into the cloud
Hölzle believes Istio will speed enterprise adoption of public cloud because it enables more homogeneity between on-premise and cloud:
It's quite plausible a company can decide to move everything to Istio, including old code they don't want to rewrite — the motion is more like a wrapping motion than a rewrite motion.
We believe GKE on-prem is the way many customers will get deeper into the cloud. It's very integrated with modern cloud thinking, but it leaves them where they are and it leaves them with a choice when and where to move.
It's move when you like and you have a choice of any vendor. We hope many companies will make this a centerpiece of their journey to the cloud and this hopefully makes it a much smoother path to the cloud ...
Once people are familiar with the Kubernetes and Istio way of managing and orchestrating, cloud will be very not scary.
Google still wants to see them in the cloud, and Hölzle argues that cloud-native functions such as BigQuery will continue to give them reasons to end up there. Meanwhile, it is relying on partners such as Cisco to deliver the on-premise versions of GKE and Knative rather than becoming a direct seller of the technology itself.
Partner and developer adoption
Partners will also find Istio helpful to their own cloud transitions as they move away from hardware products into software and services in fields such as security, believes Hölzle:
Many partners are making a transition to selling software and selling services and this is an ideal entry point to getting into that.
If you are in a customer with Istio and you are their security provider and they move from on-prem to the cloud, you keep their business. Only the location changes.
In the current model if you're this on-prem provider, all the APIs are different, all the questions that need to be answered are new, and you might lose your incumbent status because you can't easily port to the cloud.
Developers will need to be persuaded too. But Adam Seligman, VP Developer Relations at Google, believes they'll be excited by what Istio opens up for them:
It doesn't require massive reprogramming to use Istio. Existing apps and functions and services can start using Istio for traffic routing and immediately get the benefits of [having] insights into what's going on. You take an app that's got no Istio, you inject it in, and then suddenly you get all this visibility you couldn't get before. I think that's going to excite a lot of developers and I think it'll accelerate the adoption of Istio ...
I think developers need to be educated, but will get really excited around traffic shaping and insights for SLO [service level objective] monitoring and canary deploys and starting to do a/b testing and even multivariate testing.
Istio isn't the only service mesh in town — linkerd, an open source project backed by Bouyant, predates Istio and is already in production. But the backing of Google, along with IBM and heavyweight partners such as Cisco, brings considerable heft to Istio. And in the end, what matters here is the principle of service mesh rather than the specific implementation. There's always been an argument against going too gung-ho into microservices because the more autonomous services you have, the more complex it becomes to manage them. With its backing of Istio, Google is validating an approach to microservices architectures that tackles this gnarly problem, so that all those loosely coupled endpoints can be sensibly orchestrated to produce useful business outcomes. This seems like it should be a very significant development in the evolution of cloud computing. Adoption will determine how significant it becomes.