At KubeCon North America in San Diego, more than 12,000 attendees are learning all they can about Kubernetes, the popular container orchestration program. But how popular is it really? Datadog, a cloud and infrastructure monitoring company, has numbers that show Kubernetes is on its way to dominating the container space.
In its study of usage data from thousands of companies and more than 1.5 billion containers, the company found "roughly 45% of Datadog customers running containers use Kubernetes, whether in self-managed clusters or through a cloud service." Not bad for a technology that's just over five years old.
What's more telling though is that almost half of all Datadog container users have already turned to Kubernetes. It's Kubernetes' growth rate that really tells the story. In the last year, Kubernetes' numbers of users grew by 10%.
In the meantime, other container orchestration programs, such as Marathon and Docker swarm mode, have simply not caught fire. Indeed, their parent companies, D2iQ, formerly Mesosphere, and Docker both started offering Kubernetes to their customers. Need more be said?
Datadog also found that Kubernetes is very popular on the public cloud. In particular, managed Kubernetes services such as Google Kubernetes Engine (GKE) dominates the Google Cloud Platform (GCP). Since Kubernetes ancestry goes back to Google that comes as no surprise.
What is a bit surprising is how quickly Azure users have adopted Kubernetes. By Datadog's count, "roughly 80% of Datadog customers running containers in Azure are now using Kubernetes, up from 67% a year earlier." Of these, Azure Kubernetes users rely both on Azure's own Azure Kubernetes Service (AKS) and self-managed Kubernetes clusters.
In particular, AWS Fargate, which abstracts away the infrastructure layer in a container cluster, has seen consistent, rapid growth. By Datadog's count, of AWS container users, 19% now use Fargate, up from 5% the year before.
Within those Kubernetes-managed containers, Node.js is, by far, the most widely-used language. Fifty-seven percent of organizations running containerized workloads use Node.js. Node.js is so popular because it lends itself lightweight, scalable applications. These, in turn, work well in containerized designs.
After Node.js, Java, Python, PHP, and Ruby are the most popular languages. It's also worth noting that Go, while ranking only sixth on the list of languages, is far more used in containers than it is outside of them. All the other languages, except for Node.js, tend to find equal use both inside and outside of containers.
As for web serving in the Kubernetes world, NGINX rules. It runs in approximately 70% of Kubernetes environments, 30% of ECS environments, and 40% of unorchestrated container infrastructure. The high penetration of NGINX in Kubernetes may not be so much a choice of users as it is due to NGINX's popularity as a Kubernetes ingress controller for routing external traffic to cluster services.
Datadog also found that while Kubernetes evolves at a frantic pace -- a new release every three months or so -- users are sticking with older versions. The most popular version in use as of October 2019 was Kubernetes 1.13, first released in December 2018. Of course, that's probably because few people deploy the newest Kubernetes as they're rolled out the door. On the public clouds, users tend to stick with the default Kubernetes they're given. So, in November 2019, GKE and AKS offers version 1.13 as the default, while EKS offers version 1.14 as its default.
Looking ahead, Kubernetes will only continue to gain in popularity. I expect Kubernetes to dominate container management by 2021. Same with the entire IT industry -- have you seen how many companies now offer Kubernetes support? If you haven't started learning how to make the most from Kubernetes, it's time you started learning. That is, after all, why most of those 12,000 people are in San Diego this week.