howardjohn's Blog

Software Engineer at Solo.io. I work on Istio and write about wherever that brings me. Opinions my own.

How to build a scalable control plane

I've spent the majority of my career building Istio's control plane, Istiod, with an emphasis on making it highly performant and scalable. And while it has come a very (very) long way, it's still a long way off from what a control plane could be. It's not alone. When I worked on building an open benchmark of Kubernetes Gateway control planes, I was surprised to find that no implementation met what I felt was a reasonable bar for a "highly scalable and performant control plane". ...

September 16, 2025 · 4 min

Rust vs Go

An often overlooked part of the Rust license is that within a year of usage, users are required to make a comparison to their (previously) favorite language. While I am a bit late, I am ready to pay my dues. Given the overabundance of Rust vs X content, I'll try to cover only areas that haven't been discussed to death. Lifetimes and Borrows Did I say I wouldn't cover areas everyone has already talked about? I lied! ...

September 16, 2025 · 6 min

You should buy a faster CPU

In the past few years, CPUs have gotten really fast. Shockingly fast! Yet most people are stuck on previous generation mobile chips (whether by choice, or by their companies choice), at a huge detriment to their productivity. Meanwhile, AI coding subscriptions like Cursor are all the rage these days. I'll skip the debate on exactly how useful these tools are, and focus on the pricing. Cursor is $480/year for the team plan (the cheapest corporate plan), and other providers are around the same, setting a clear price point: engineering productivity is worth at least $500/year. ...

August 18, 2025 · 2 min

Your AI workloads still need a service mesh

AI workloads introduce new requirements on networking infrastructure, but the same core requirements that service meshes solve not only remain, but are exacerbated. Your AI workloads still need a service mesh - they just need a better one

August 5, 2025 · 5 min

[Solo.io Blog] Gloo Mesh, The 100 Million Pod Mesh

Gloo Mesh’s ambient multi-cluster mode sets a new benchmark for scalability.

February 5, 2025 · External Post

Exploring the new "go tool" support in Go 1.24

Go 1.24 introduces new support for "Tools", which allows easy consumption of tools (which are written in Go) as a dependency for a project. This could be anything from golangci-lint to protoc-gen-go. In this post, I will cover usage and limitations. Basic usage Adding a tool to a project is nearly the same as a standard runtime dependency, with the additional -tool flag: $ goimports # I don't have goimports yet! zsh: command not found: goimports $ go get -tool golang.org/x/tools/cmd/goimports go: added golang.org/x/mod v0.22.0 go: added golang.org/x/sync v0.10.0 go: added golang.org/x/tools v0.29.0 $ go tool goimports --help usage: goimports [flags] [path ...] Once we add a tool, we can access it by go tool <name>. ...

 · January 20, 2025 · 13 min

Ztunnel through two lenses

Is it a per-node proxy? Is it a sidecar? The reality is somewhere in between

January 16, 2025 · 3 min

[Solo.io Blog] Introducing Ambient Multi-Cluster Mode to Gloo Mesh

Reimagine service mesh with Istio’s ambient mode—lightweight, efficient, and scalable. Gloo Mesh now extends this innovation to multi-cluster environments, delivering unmatched reliability, simplicity, and scale.

January 15, 2025 · External Post

What happens when Ztunnel shuts down?

A deep dive into the termination behavior of Istio ambient mode and how it impacts your applications.

December 20, 2024 · 4 min

[AWS Blog] Transforming Istio into an enterprise-ready service mesh for Amazon ECS

How Istio ambient mode brings an enterprise-ready service mesh to Amazon ECS.

November 27, 2024 · External Post