Image: Oleg Mishutin, Getty Images/iStpckPhoto

As consumers, we’re used to getting and installing apps via Apple’s App Store or Google Play. As enterprise buyers, we undergo Dante’s nine circles of hell just to get garbage cobbled together by an overpriced systems integrator. Or we used to, until Kubernetes came along.

SEE: Managing the multicloud (ZDNet/TechRepublic special feature) | Download the free PDF version (TechRepublic)

Talking to Alexis Richardson, CEO of Weaveworks, which popularized GitOps, a new way to operate and manage Kubernetes in production. The reason enterprises have missed the “app store moment” is because “everybody’s infrastructure has been different for so long.” He went on, “Containers are the way to solve that problem because they provide the next level of abstraction to encapsulate applications.” Containers come close to this app store ideal, but it’s really Kubernetes that adds the security, management, and other features that will finally turn enterprise software into an asset rather than an embarrassment.

Multicloud is really about people

A central tenet driving Kubernetes adoption is multicloud, but perhaps not in the way people sometimes use that word. No, it’s not about writing an application that magically moves seamlessly across different clouds, hunting for that lowest-priced compute instance. Instead, Richardson described, “Multicloud means that they might have a single monitoring strategy, a single orchestration strategy, a single application deployment strategy, and all three of those form fundamental components of their application platform and they use the same set of components, whether they’re running app workloads on Google, Amazon, Microsoft, or on-prem, or in other new places like edge.”

The importance for companies is that they want to use this same core platform everywhere because it means “the same skillset, the same tools, the same way of thinking, [just] not the same data centers.” By standardizing, enterprises are able to make better use of their people “because people are the expensive thing.” Machines are cheap. People are, or can be, pricey.

SEE: Meet the hackers who earn millions for saving the web, one bug at a time (cover story PDF) (TechRepublic)

For its part, Weaveworks hopes to make that application platform a reality. To have all the different variations of application workloads that an organization will have, with each one running on different platforms, “enterprises need a way to describe, configure, manage, support, and patch the whole stack reproducibly, wherever they want to with compliance, security, and audit. That is what GitOps gives you, and Weaveworks is the only product in town that provides that as a full-stack approach.” As Weaveworks describes, GitOps is a way to do Kubernetes cluster management and application delivery by using Git as a single source of truth for declarative infrastructure and applications.

It’s a bold claim, and only made remotely possible because of Kubernetes, which plays a key role in this standardization.

Still, Kubernetes has a ways to go. “Kubernetes for the last few years has been a bit like buying a mobile phone in 1993 when it was too heavy to pick up,” he noted. Even so, those who persisted uncovered big productivity improvements and ended up changing the way they operate. As Kubernetes has evolved, Richardson said a bright future is becoming more attainable: “Pretty soon it will be like iPhones and wristwatches where everything is slick, easy, and simple because the industry is pushing it in that direction.”

But to get to this app store experience, Kubernetes vendors are going to need to take one more step.

Kubernetes plays full hybrid/multicloud buzzword bingo

“Kubernetes is a way to consolidate variation of different types of deployments onto one model,” said Richardson. One model for managing applications, but plenty of variability between clouds (and other vendors). To get the level of consistency needed for an app store model within the Azure ecosystem, for example, Richardson argued that we need a unified Kubernetes experience within that ecosystem: The same Kubernetes running self-managed on-premises or in the cloud, and fully managed in the cloud.

Red Hat has been offering this for some time (the same OpenShift running as a Kubernetes distribution that enables an enterprise to go multicloud or hybrid cloud with OpenShift), and Google (which founded Kubernetes) has spent the last year enabling Anthos to be able to manage Kubernetes anywhere, including on rival clouds. But both options are a bit different from what AWS announced at AWS re:Invent: Its own Kubernetes distribution, Amazon EKS Distro. This is the same Kubernetes distribution that AWS runs for EKS, which is now available to run on-premises.

“This is an incredibly big step forward,” Richardson suggested, and not just for AWS:

Once you have a consistent way of deploying applications on AWS [through EKS Distro or EKS], or other distributions of Kubernetes on other clouds, then you open the door to this enterprise marketplace. AWS can now do things like testing of applications in its marketplace, make sure that the containers will run anywhere that EKS Distro is installed, or anywhere that EKS runs, and therefore provide some level of certification to ISVs that their application will run the way it’s intended, wherever they like, and then be supportable with patches, updates, maintenance, which creates the model required for those ISVs to make money without having to install the bits on the customer’s side themselves.

Today it’s AWS making the announcement, but it’s not hard to see other cloud vendors taking the same approach. Sure, this will result in different “app stores,” as it were, but what a great thing for enterprises. Serious choice and serious simplicity.

An app store-like experience, in other words. “My vision of Kubernetes is that it will become completely ubiquitous, embedded in every single thing, but also invisible, boring. It will be in your watch, it will be in your phone, it will be in your light switch, it’ll be in your car, in your plane, and your train,” declared Richardson. Kubernetes gets us one step closer to this vision by making a common application platform possible, no matter where a company chooses to deploy its applications.

But that app store experience? That becomes reality when enterprises can run the same flavor of Kubernetes on-premises or in the cloud, however they want.

Disclosure: I work for AWS, but the views expressed herein are mine. I am not part of the AWS team responsible for Amazon EKS Distro.

Also see