Kubernetes Won. Now the Fight Moves Up a Layer
With Kubernetes now the default for container orchestration, 2020's cloud-native attention is shifting to service meshes and developer-experience tooling.
Nobody seriously argues about container orchestration anymore. A few years ago it was a real bake-off — Kubernetes versus Docker Swarm versus Mesos, with plenty of engineers betting on the “simpler” option winning out. That debate is over. Every major cloud provider now ships a managed Kubernetes offering, most new infrastructure tooling assumes it as the substrate, and job postings that used to list “container orchestration experience” now just say “Kubernetes.” Winning that decisively is rare in infrastructure software, and it’s worth pausing on before moving to what comes next.
Because something does come next. Once you accept Kubernetes as the given, the interesting problems move up a layer. Running a cluster is table stakes; running dozens of services on that cluster, safely, with visibility into how they talk to each other, is where teams are actually losing time in December 2020. That’s the gap service meshes are trying to fill. Istio and Linkerd have both been circling this problem for a couple of years now — sidecar proxies that handle retries, mutual TLS, traffic shaping, and observability without every service team having to reinvent that logic in-house. Istio has the bigger mindshare and the backing to match, but it’s also gotten a reputation for being heavy to operate, which has kept Linkerd’s smaller, more opinionated approach relevant for teams who just want the basics without a second control plane to babysit.
The other place attention is piling up is developer experience — the unglamorous work of making a Kubernetes-based stack tolerable for the people who actually have to ship features on it. YAML sprawl is a real complaint, not a meme: a moderately complex service can generate hundreds of lines of manifest before you’ve written a line of business logic. Tools like Helm have helped, but “helped” is doing some work in that sentence — templating YAML with more YAML was never going to be anyone’s favorite abstraction. Expect more experimentation here in 2021: better local development loops that don’t require a full cluster to iterate, and packaging formats that try to hide Kubernetes’ object model rather than just templating it.
None of this is really a surprise if you’ve been watching the pattern in infrastructure software generally. The lower layer commoditizes, the ecosystem consolidates around one implementation, and the money and attention move to whatever sits on top of it and still hurts. Networking did this. Storage did this. Container orchestration is just the latest to settle. If you’re planning a platform team’s roadmap heading into next year, orchestration itself is probably not where your differentiation lives anymore — the mesh and the developer experience wrapped around it is.