VOOZH about

URL: https://thenewstack.io/istios-complexity-demystified/

⇱ Istio's Complexity Demystified - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2021-10-13 07:48:10
Istio's Complexity Demystified
contributed,sponsor-solo-io,sponsored,sponsored-post-contributed,
Kubernetes / Service Mesh

Istio’s Complexity Demystified

Today, Istio is a lot more streamlined and easier to use. I'm proud to say that simple things are now easy with Istio.
Oct 13th, 2021 7:48am by Lin Sun
👁 Featued image for: Istio’s Complexity Demystified
Featured image via Pixabay
Solo.io sponsored this post.

For a very long time, Istio has been criticized as notoriously complex and hard to use. As someone who worked on the project for over four years, I agreed with this statement in the first two years of Istio. However, since Istio 1.3, the Istio community focused on simplifying and Istio is now a lot more streamlined and easier to use, especially with Istio 1.6 or newer. I personally observed improved simplicity and ease of use myself, and many of our users are reporting similar experiences.

Essentially, today’s Istio is much more straightforward. Anyone who avoided Istio because earlier versions were harder to use should consider taking a second look.

Simple Things Are Easy with Istio

With tremendous focus from the Istio community on simplicity, I’m proud to say that simple things are now easy with Istio. Let me start with three concrete examples:

1. One Command to Install

In the earlier days of Istio, I remember I always had to look up the installation instructions in istio.io. It just was not a simple command to remember. Today, users can install Istio easily using the `istioctl install` command, which sets up the default profile for them. Furthermore, users can specify `–profile` to indicate a different profile. Very easy to remember, right?

👁 Image

Istio install takes about one minute, with only a dozen or so custom resource definitions (CRDs) installed:

👁 Image

2. Analyze Your Istio Resources

Back in earlier days with Istio, I recall spending hours debugging what was wrong with my Istio resources when onboarding a simple guestbook application from Kubernetes to Istio service mesh. Not anymore! `istioctl analyze` can immediately tell me what’s wrong with my Istio resource(s) with consideration of other Istio resources in my cluster.

👁 Image

3. Simple Security Policies

Most of our users are adopting service mesh because their security or architecture team requires them to secure microservice communications. Istio made this very easy: A mesh platform team can just apply authentication policy and enable mutual TLS on any services with the matching label. I love this because it means the service owner doesn’t need to do anything other than label their deployment to require all communications to their services with mTLS. You may be thinking you could manage all these yourself without service mesh, but it would be a lot harder to modify your application code and create a homegrown framework to manage the certificate distribution and rotations.

👁 Image

Complexity with Service Mesh

Lin Sun
Lin is the director of open source at Solo.io. She has worked on Istio service mesh since 2017 and serves on the Istio Technical Oversight Committee. Previously, she served on the Istio Steering Committee for three years and was a senior technical staff member and Master Inventor at IBM for more than 15 years. She is the author of the book 'Istio Explained' and holds more than 200 patents.

The service mesh data plane is a critical component of your infrastructure, which by nature is complex when you need to deal with cloud native workloads along with legacy workloads on VMs or bare metals. Plus, you may run your workloads across different zones, regions and clouds. A service mesh like Istio is straightforward for pure Kubernetes workloads, but the reality of our users is that they all have different requirements, and many of them still have most of their workloads in non-Kubernetes environments. It is critical for them to have these legacy workloads participating in service mesh as they progress through their cloud native journey. Our users even told us that some of these workloads likely will always stay outside of Kubernetes.

This is where many of the challenges with keeping a service mesh simple come into play. With Istio, we need to make scenarios simple, but also enable complex scenarios.

Using the install process as an example, the Istio project has been criticized for providing too many choices. While installing Istio using istioctl is extremely simple, we have users who don’t want to run istioctl in production as it requires updates to their delivery pipeline, and they have to seek additional approval for it. Some common tools like Helm are already supported in their organization, and it would be much easier for them to leverage these pre-approved tools. Furthermore, some of our users want the control plane to run outside of their clusters so it can be managed separately by a different team, thus the external control plane is another installation method we offer. Because there are so many different use cases and requirements for each company or team, I believe it is better to provide choices and flexibility based on various requirements from users than just offering one simple method of installation using `istioctl install`.

Istio has also been criticized for its complexity with networking APIs. Complexity was partly caused by the rich features available while providing consistent API for north-south traffic and east-west traffic. Interestingly enough, over the past years, I have found that all these features were requested by users working to solve various challenges. Application-layer networking is complicated, and many scenarios have to be considered from the edge to the east-west traffic, for example:

  1. What is your host name? Are you terminating or using passthrough for your traffic at the edge?
  2. What protocols and ports are you using?
  3. How are you securing your edge?
  4. How do you want to route traffic to your service?
  5. How do you increase the resiliency of your service?
  6. Do you need a failover policy, perhaps based on locality?

What’s Next for Istio?

With a large number of users in production, the Istio project is committed to focus on Day 2 operation of Istio, as we want to ensure our users are successful in running service mesh globally at scale. I am excited to work with our Istio and Gloo Mesh users at Solo.io to help them adopt Istio on a large scale while bringing their requirements to upstream Istio as well.

As part of the effort that focuses on Day 2 operation, we are also standardizing our APIs as they become more mature and provide clear separation of our APIs based on personas. For example, MeshConfig has been a home for many APIs when experimenting with the feature, but as the feature matures, the community is standardizing these APIs into its own custom resources so users can easily configure telemetry or extension or proxy configuration without asking the platform team to modify the global mesh config.

We will continue to graduate our features from less mature stages (experimental or alpha) to mature stages (beta or stable). As every other successful project, we want to keep the house clean and remove features that are not interesting to our users. This is especially true for features that are stuck at experimental or alpha for a very long time. We will continue to make simple scenarios simple, but enable complex scenarios possible for our users.

Solo.io, the modern API infrastructure company, delivers application networking from the edge to service mesh enabling enterprises to adopt, secure, and operate innovative cloud native technologies.
Learn More
The latest from Solo.io

Experience Istio’s Simplicity Yourself!

If you would like to learn more about Istio or still need to be convinced that it is easy to use, get started with our Istio workshop to experience Istio hands on. (Note: That link is good till end of November and for 500 uses). In this workshop, you can learn how to incrementally adopt Istio from Istio’s ingress gateway to securely expose your services, as well as how to observe the interactions among your services along with various traffic-control scenarios. If you prefer to attend a live workshop, just sign up for one of our upcoming “Get Started with Istio” workshops.

Solo.io, the modern API infrastructure company, delivers application networking from the edge to service mesh enabling enterprises to adopt, secure, and operate innovative cloud native technologies.
Learn More
The latest from Solo.io
TRENDING STORIES
Lin Sun is the head of open source at Solo.io, contributing full-time to the open source community. She is a member of the CNCF Technical Oversight Committee (TOC) and an ambassador, as well as a core maintainer and leader for...
Read more from Lin Sun
Solo.io sponsored this post.
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Pragma.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.