Kubernetes abstracts the operation mode of resources and workloads, unify the tool set, and realize the standardization of man-machine interface. Just as docker-like tools provide application runtime modes of operation; The Spring Framework provides a development pattern for Java applications.

Kubernetes is about portability of skills, tools, and practices across the cloud. Not workload portability. — Bilgin Lbryam @bibryam

Kubernetes Magic is in Enterprise Standardization, not app Portability


Kubernetes won’t magically make your application portable, but it might give you something better.

The cloud offers businesses seemingly unlimited options. However, according to a survey by Canonical- Sponsored, this is not the reason most businesses are adopting cloud-friendly technologies such as Kubernetes. Instead, Kubernetes’ main goal is standardization — to look and operate like everyone else.

Portability is not the goal

I’ve discussed this issue before, referring to Gartner’s guide on Kubernetes and portability. Many people thought Kubernetes (and containers) would make it easy to port between clouds, but it turns out that’s not the case. As Gartner analyst Marco Meinardi writes, when asked if companies should adopt “Kubernetes to make their applications portable…… The answer is: no.” Say again?

Surveys show that the likelihood of [moving applications between cloud providers] is actually very low. Once deployed to a vendor, applications tend to stay there. This is because data lakes are difficult and expensive to migrate, and therefore ultimately become the focus of migration.

Therefore, Kubernetes is usually not accepted by companies to enhance the portability of applications; Conversely, talking about people portability or, in other words, skills portability is closer to the truth. Alexis Richardson, chief executive of Weaveworks, takes the theme home:

The emphasis is on “skill portability” because of the use of the standard operating model and tool chain. Large organizations want developers to use standard ways of working because it reduces training costs and removes barriers to moving employees from project to project. It can also be easier and cheaper to apply policies if your “platform” (or multiple platforms) is based on the same core cloud-native toolset.

Which brings us back to the normative survey.

Samesies

When asked to identify technical goals related to the adoption of cloud-native technologies such as Kubernetes, survey respondents ranked portability last and more immediate questions first:

  • Improved maintenance, monitoring and automation – 64.6%.
  • Infrastructure modernization – 46.4%.
  • Faster uptime – 26.5%.
  • Remove vendor dependencies – 12.8%.
  • Global coverage – 12.5%.
  • Agility around peak traffic – 9.2%.
  • Ensure portability – 8.9%

I like the way Google Cloud developer advocate Kelsey Hightower commented on these results in her research report:

A lot of people think that organizations are turning to Kubernetes because of scale, or because they want to be super-scalers, or have the same traffic levels as Twitter. This is not necessarily the case for most organizations. Many people like the fact that there are many decisions built into K8s, such as logging, monitoring, and load balancing.

People tend to forget how complicated things are just to build an application without all the automation. If you’re on the public cloud, there are native integrations and tools you can use. But if you’re local, that’s not a given — you have to glue the solution together yourself. With Kubernetes, you can combine almost 25 different tools into one.

That’s what people mean by “modern infrastructure” — they’re not talking about doing something that’s never been done before. They’re talking about something they’ve been producing for the last 10 or 15 years. Kubernetes is the checkpoint for all “modern models” today.

In other words, what people really want from Kubernetes is a standard way of thinking about infrastructure. Returning to Richardson’s previous point, while Kubernetes and cloud native technologies enable companies to operate at higher speeds, the biggest benefit may be in making skills interchangeable between organizations — creating significant performance gains for both employers and employees. This is another reason why companies are increasing their investment in Kubernetes.

Disclaimer: I work for AWS, but the opinions expressed here are mine.

The article is uniformly published in the public number cloud native refers to north.