The cloud affords enterprises seemingly unlimited choice. According to a Canonical-sponsored survey, however, that’s not the reason most enterprises are embracing cloud-friendly technologies like Kubernetes. Instead, the big goal for Kubernetes is standardization–to look and operate just like everyone else.
SEE: From start to finish: How to deploy an application with Kubernetes (TechRepublic Premium)
Portability isn’t the goal
I’ve talked about this before, referencing Gartner guidance on Kubernetes and portability. Many people think Kubernetes (and containers) will give them easy portability between clouds, but it turns out this isn’t true. As Gartner analyst Marco Meinardi wrote, when asked whether companies should embrace “Kubernetes to make their applications portable…the answer is: no.” Say that again?
Inquiries show that [the] likelihood [of moving applications between cloud providers] is actually very low. Once deployed in a provider, applications tend to stay there. This is due to data lakes being hard–and expensive–to port and, therefore, end up acting as centers of gravity.
So Kubernetes isn’t generally embraced to gift companies application portability; instead, it comes closer to the truth to talk about people portability or, put another way, skills portability. Weaveworks CEO Alexis Richardson hammered this theme home:
The point is “skills portability” due to using a standard operating model and tool chain. Large organisations want developers to use standard ways of working because this reduces training costs, and removes obstacles to staff moving from project to project. It also makes it easier and cheaper to apply policy if your “platform” (or platforms) are based on the same core set of cloud native tools.
This brings us back to the Canonical survey.
SEE: Kubernetes: A cheat sheet (free PDF) (TechRepublic)
Asked to identify technology goals associated with the adoption of cloud-native technologies like Kubernetes, survey respondents ranked portability last and more straightforward concerns first:
Improved maintenance, monitoring and automation – 64.6%.
Modernizing infrastructure – 46.4%.
Faster time to market – 26.5%.
Removing vendor dependencies – 12.8%.
Global reach – 12.5%.
Agility around traffic spikes – 9.2%.
Ensure portability – 8.9%
I love how Kelsey Hightower, a developer advocate for Google Cloud, commenting in the survey report, described these results:
A lot of people think organisations are moving to Kubernetes because of scale, or because they want to be a hyperscaler, or have the same traffic levels as Twitter. That’s not necessarily the case for the majority of organisations. A lot of people like the fact that many decisions are just built into K8s, such as logging, monitoring and load balancing.
People tend to forget how complex things were, just to build an app without all that automation. If you were on a public cloud you could have used some of the native integrations and tools. But if you were on-prem, that was not a given–you had to go and glue the solution together yourself. With Kubernetes, you almost collapsed 25 different tools into one.
This is what people mean when they say ‘modern infrastructure’–they’re not literally talking about doing something that has never been done before. They’re talking about the things that have been in production for the past 10 or 15 years. Kubernetes is today’s checkpoint on all the ‘modern patterns’.
What people really want from Kubernetes, in other words, is a standard way of thinking about infrastructure. Going back to Richardson’s earlier point, while Kubernetes and cloud-native technologies enable companies to operate at higher velocity, perhaps the biggest benefit is making skills fungible between organizations–this creates a huge performance gain for employers and employees alike. It’s one more reason that enterprises keep increasing their investments in Kubernetes.
Disclosure: I work for AWS, but the views expressed herein are mine.