Written by Lin Sun, Solo.io, Director Open Source, founding Istio TOC and Steering Committee member
On May 24, 2017, IBM and Google announced the launch of Istio, an open technology that enables developers to seamlessly connect, secure, and manage networks of different microservices—regardless of platform, source, or vendor. I still remember in the very early days of the Istio project only Googlers and IBMers participated, from the roadmap discussion to scrums. It wasn’t an open community in the summer of 2017, but the project has opened up tremendously since. Members from Google, Solo.io and IBM are now on the Istio Technical Oversight Committee, and members from Google, Solo.io, IBM, RedHat, Intel, DaoCloud, Huawei and Tetrate are holding leadership positions in the community. Recently, Google announced the intention of donating Istio to the Cloud Native Computing Foundation (CNCF), which generated much excitement among the community and further solidified Istio’s position as the de facto service mesh solution.
The right architecture choice since the beginning, continuous innovation based on users feedback, open-community participation and diverse vendor support has made it the most widely deployed service mesh in the world. The explosion in adoption of enterprise service mesh technologies proves the shift to microservices is accelerating. In the same way Kubernetes has become the industry standard for container orchestration, Istio has become the Kubernetes of service mesh, with over 1000 contributors from 900+ companies trusting Istio to network their business-critical workloads.
The Istio project has tremendous collaboration where ideas are often challenged, and implementations are constantly reworked to create better, simpler solutions for our users.
A diverse community drives better innovation. With each release, the community listens to feedback from users and makes changes to simplify Istio’s use. One of our key goals is: simple scenarios should be straightforward, and complicated scenarios should be possible. Below are a few secret sauces the community uses to make Istio successful:
Focus on day 2 operation
Users of Istio always start with day 0 and day 1, but day 2 is even more important for them to keep lights-on for their applications running within Istio, upgrade to newer Istio control planes and data planes without causing any disruption to their applications. The community spent numerous efforts on making upgrading easier, from collecting and analysing the upgrade surveys for each release, improving upgrade strategies to allow canary upgrade of Istio control plane in addition to in-place upgrade, increased support windows for upgrade, along with sharing security assessment and best practices.
Keep Istio boring
One of the key goals of the Istio project is to make Istio transparent to applications, especially applications running on Kubernetes so users don’t need to think about running Istio. Last year, the community made efforts to modify pod networking so that pods running with sidecar can behave the same as pods running without sidecar in Kubernetes. Community is currently reviewing other networking behaviours such as egress traffic to ensure it is consistent as Kubernetes. Further, many core features have been promoted to the Beta and Stable so that users can feel confident to run Istio in production while using these core features.
From WasmPlugin resource, telemetry resource, proxyConfig resource, to discovery selectors or gateway evolutions through injecting gateway similarly as sidecars and implementing Kubernetes’s Gateway APIs, Istio community led these innovations based on users requests along with industry standards. These innovations enable users to run Istio in production declaratively without restarting any of their applications and further enables admins to easily upgrade their gateway deployments with a simple restart.
If you’d like to join us and become an Istio contributor to make Istio better, you can do so via open Slack, attend the user community meeting or any working group meeting. Once you have a pull request merged, you can submit a membership request to become an Istio contributor and developer! I look forward to seeing you and your contribution in the community.