Is Kubernetes Fit For Purpose?

Are Kubernetes clusters fit to run many of the applications being deployed on them? That question became the focal point of a panel discussion yesterday in Seattle, Washington, hosted by Tetrate, a provider of an instance of the Istio service mesh.

Kelsey Hightower, principal engineer for Google Cloud, said one of the reasons there is a general sense of frustration with the complexity of managing Kubernetes clusters is that the platform was built for organizations that need to manage IT at levels of hyperscale that most organizations don’t need.

As more enterprise IT organizations start to build and deploy cloud-native applications based on microservices, they are discovering that Kubernetes is one of several complex building blocks that need to be mastered, he added. Those building blocks can’t be effectively managed using Bash scripts, so Kubernetes provides an alternative approach for managing IT infrastructure at scale that is more effective, noted Hightower. That doesn’t necessarily mean, however, that Kubernetes will ever become simple to manage, he added.

However, that doesn’t mean Kubernetes is well-suited for every use case. Many organizations simply should not have built a microservices-based application in the first place when other application architectures are simpler to manage and would be a better fit, noted Hightower. In fact, Google offers a wide range of services on its cloud platform for precisely that reason, he noted.

Matt Klein, a software engineer for Lyft who led the development of the open source Envoy proxy software project, said many organizations fail to appreciate the inherent cost and complexity associated with building and maintaining an application environment based on microservices. Many of those organizations would simply be better off relying on serverless computing frameworks that abstract away much of the underlying complexity associated with managing Kubernetes clusters, he added.

Zach Butcher, an engineer for Tetrate and contributor to the open source Istio service mesh, said Kubernetes’ fitness for more than a relatively narrow range of cloud-native applications might come down to how the management plane for the platform evolves. There is still no widely implemented open source platform that makes Kubernetes, and all its associated building blocks, accessible to the average IT administrator, he noted.

It’s not clear whether developers are now building microservices-based applications because it’s fashionable or because it’s required. Regardless of the motivation, the number of cloud-native applications being built and deployed continues to steadily increase.

Some IT operations teams have even gone so far as to mandate the adoption of Kubernetes as part of an effort to control cloud costs because the platform makes it simpler to dynamically scale cloud resources up and down as needed. However, those mandates might also push developers to build an application based on a microservices architecture regardless of whether that use case lends itself to that approach.

In the long term, it’s apparent IT organizations will be managing a mix of IT platforms alongside Kubernetes clusters for many years to come. What type of application gets deployed on which platform, however, needs to be carefully considered. Just because something can be done, it doesn’t always follow that it should be done.

Mike Vizard

Mike Vizard is a seasoned IT journalist with over 25 years of experience. He also contributed to IT Business Edge, Channel Insider, Baseline and a variety of other IT titles. Previously, Vizard was the editorial director for Ziff-Davis Enterprise as well as Editor-in-Chief for CRN and InfoWorld.

Mike Vizard has 1615 posts and counting. See all posts by Mike Vizard