What Do ‘Cloud Native’ and ‘Kubernetes’ Even Mean?
DETROIT — This isn’t a rhetorical question. As systems and teams become more and more distributed, the tech industry has a real gatekeeping language problem. It’s simply too complex for one person to comprehend. And of course, open source is prohibitively English first. Add to that, the cloud native landscape is thousands of products wide — and that’s only one of several landscapes!
Thankfully this year’s KubeCon + CloudNativeCon North America did something a little different. It still had a lot of the newest, shiniest technologies as well as plenty of discussions for elite DevOps organizations. But the schedule was also packed with a 101 track and welcomes to many Special Interest Groups (SIGs). It also gave a lot of advice on how to support these highly distributed, often voluntary communities.
The tech industry, built with a backbone of open source, is reckoning with its urgent need for folks at all levels to understand cloud native and the Kubernetes orchestration that is often behind it. These are not concepts taught in college computer science programs. And, while Kubernetes usage steadily rises, contribution pools grow stagnant. So where better than cloud native’s biggest show to kick off the learning? Today we recap some of this year’s insights into what cloud native and Kubernetes even mean for our industry’s future.
Defining Cloud Native
Our journey to define cloud native started at May’s KubeCon Europe, when The New Stack polled cloud native influencers on-site in Valencia, simply asking: How do you define cloud native? If you are talking about cloud native technology, as DataStax’s Christopher Bradford and Matt Overstreet respectively described, it’s all about composable, uniform and distributed parts. DataDog’s Jason Lee adds on that cloud native is distributed and scalable. This technical definition, like HarnessIO’s Uma Mukkara put it, is often tied to immutable, declarative and ephemeral microservices and containers — cloud native has you scaling so fast that no block of code should be treated as precious or tenuous.
Cloud native is about technical choices that allow organizations to access speed plus reliability. “Cloud native describes applications that are faster to deploy because there is no hardware or software to deploy,” said Fiberplane’s Elena Boroda.
Amazon Web Service’s Julie Gunderson pegs cloud native as “development and engineering on the cloud,” trying to dissuade teams from focusing on the “native” part because few businesses were hatched in the cloud. Syntasso’s Paula Kennedy echoed this idea by emphasizing that cloud native isn’t about being built in the cloud but rather about building in a way that allows companies to take maximum advantage of the cloud, which enables “applications that are scalable, resilient, not having to worry about running hardware yourself.” And this should be able to be achieved securely and reliably, SUSE’s Divya Mohan added, across any and all cloud providers.
When it comes down to it, the not easily defined cloud native isn’t just about technology — it’s equally about people and processes too. Cloud native technology is driven by an organization’s adoption of a cloud native mindset and, as CloudNativePG’s Gabriele Bartolini said, that takes a DevOps culture.
“Most people say that cloud native is containers, microservices [and] dynamic orchestration, which is true, but it is so much more,” reminded Container Solutions’ Pini Reznik. “It is also organizational change, agile processes, collaborative culture and correct budgeting. All of it together allows companies to deliver value faster to the customers and to deliver better products. And if any of those things are not aligned, then the technology will not really save you from failure.”
This mindset is often referred to as “designing cloud-first,” as VMware’s Dawn Foster put it. Instead of going the lift and shift route, an organization develops a cloud native strategy that decides the who, when, what and why to prioritize what architectural pieces to break off or not.
Finally, Aqua Security’s Anaïs Urlichs reminded us that cloud native, grounded in open source software like Kubernetes, is also an opportunity to collaborate across the cloud native community, because no one product will rule them all. Most companies will likely rely on dozens to make up their new stacks, meaning the cloud native ecosystem must be sustainable.
To add to either the confusion or the inclusion, at last week’s KubeCon North America, Cloud Native Computing Foundation Executive Director Priyanka Sharma even referred to the people in that open source community as “cloud natives.”
When it comes down to it, the challenge — or perhaps benefit — of cloud native is that it’s in the eye of the adopter. That’s why Cisco’s Michael Chenetz starts client engagements by asking them: What does cloud native mean to you? You need to be clear what you’re talking about before you start talking about it.
Cloud Native Glossary Spurred from the Need to Define Kubernetes
As we’ve learned from Simon Wardley, we need to seek common language in order to navigate in the same direction. Yet the effort to define cloud native most often sits in the CTO’s office.
Catherine Paganini is head of marketing for the CNCF-graduated service mesh Linkerd (through Buoyant), yet, coming from a tech marketing background, she struggled to get up to speed with cloud native terminology.
“Our technical team would try to explain it to me, but they always assume far more context than I had. Available content was highly technical and didn’t help much either,” she told The New Stack. “So I bought an introduction to computer science book and started learning the basics, then a distributed systems textbook. That’s when things started to make sense. That’s all context that non-technical people are missing when it comes to cloud native — you can’t understand it without that foundation,” she continued.
The New Stack has admittedly has played a part in this cloud native confusion. The first mention of Kubernetes on this site dates back to 2014, but Paganini’s 2019 introduction to Kubernetes piece, which encapsulated her self-learning, was this site’s first to focus on defining Kubernetes and cloud computing for a non-technical audience.
Three years later, Paganini is on a new journey to define what is cloud native. The Cloud Native Computing Foundation has launched the Cloud Native Glossary. As the glossary’s maintainer, she explained, the project aims to meet three community demands:
- Definitions from a trusted, vendor-neutral, community-driven source. “When you Google a cloud native term, you will most likely get a vendor-provided definition,” she explained, which usually comes with product bias. And those ranking on Google are often not the most up-to-date.
- Content that non-technical people can understand. Cloud native transformations aren’t free — they’re often tens of millions of dollars. Leadership teams must understand what is cloud native in order to build and communicate a top-down strategy. “But cloud native content is mostly written for a technical audience, making it hard for people with no technical background to understand,” Paganini said. Sales and marketing are left with definition crumbs too.
- Good cloud native content in multiple languages. The English language is a constant hurdle to open source contributions. “Most cloud native content is in English, but the vast majority of people touched by it are non-native English speakers,” she said. “Understanding these complex concepts is hard enough, let alone in a foreign language.”
The goal of the project is to meet those demands head-on, to create that common language, “whether they are new to cloud native or experienced engineers,” Paganini continued, to “use it to learn about cloud native or educate others.”
The Cloud Native Glossary launched just a year ago, but is already translated into:
What does this glossary project need now? This is a living open source project, so it needs more open source contributors and translators, of course!
Fostering Kubernetes Growth through Learning at Scale
Kubernetes is not necessarily synonymous with cloud native, but it is certainly the largest CNCF open source project, touting 5.6 million developers using it around the globe. With 1.7 million new users joining over the last year alone. But an open source community relies on more than users, it necessitates contributors. As more and more tech stacks rely on Kubernetes orchestration, the Kubernetes project — and the cloud native community as a whole — now hinges on bringing more people, technical and not, on board. Providing training at scale is essential.
“Cloud native technology in general and Kubernetes specifically may not be the most beginner friendly topic out there,” Le Tran, a member of technical staff at KastenIO by Veeam, said in an understatement at the KubeCon NA stage last week.
“It’s important for us as a community to continue to lend a helping hand and to continue to build bridges to our world through open learning tools and platform,” she continued in her talk that highlighted the need for more ways to autonomously onboard to the cloud native world.
Coming from Detroit’s automotive industry, Tran herself crossed that bridge into the Kubernetes world about a year ago. “At that point — whoo! — I knew nothing about Kubernetes. I knew nothing about container technology. I know nothing about network transport. I didn’t even know GoLang,” she admitted, naming just a few hurdles to understanding cloud native. “So really I entered a world where I didn’t know what I didn’t know.”
So Tran did what anyone newbie would and she started Googling for ways to self-teach. She describes herself as “now operational” and able to navigate herself into new topics, diving lately into the important world of identification and authorization. But that took a year and, she says, she still has so much more to learn.
Like many not native to the cloud native world, Tran said she found the breadth of learning resources overwhelming. ”On the one hand, it’s incredible to have this amount of material at your hand when you join a new community. On the other hand, when you’re new like me and you look at this vast amount of material, one often wonders, where do I even start?” This struggle extends throughout the open source community, including finding out where to start contributing.
Tran relied heavily on free, beginner-centric resources. She shouted out Kubernetes learning material she found particularly engaging, high quality and fun:
- The Illustrated Children’s Guide to Kubernetes book series
- KubeAcademy from VMware
- TechWorld with Nana: Kubernetes from Zero to Hero (in under four hours)
- KubeCampus.io – previously housed on KastenIO’s site, it’s now a vendor-neutral, free training site including hands-on sandboxed labs and accomplishment badges
If the Kubernetes community — and cloud native and open source communities as a whole — are going to continue to grow, investment must be made in supporting documentation, get-started guides, demos and more.
“Together we can continue to build bridges into our world and help folks who are on the learning journey just like me,” Tran closed out her keynote.
What about you? How did you first learn what is cloud native and what are Kubernetes? What resources do you recommend? Let us know @JKRiggins and @TheNewStack on Twitter.