Kubernetes. You can't turn around on the Internet without hearing about the darling of container orchestrators. It's in every cloud, every data center, and operates a growing percentage of applications. It has not only won the war; it's conquered the competition and continues to drive change into enterprises everywhere.
Yes, everywhere. Even on-premises, you're likely to find Kubernetes - either on its own or under the covers of another platform. The latest Container Usage Report from Sysdig notes that if you add implementations of Red Hat OpenShift (9 percent) and Rancher (3 percent) to those running pure Kubernetes (77 percent), the open-source smash hit runs 86 percent of container clusters. Open source is eating software, but the need for support continues to drive decisions in the data center. Like Sysdig, we anticipate continued growth in platforms like Red Hat OpenShift offering support in addition to the core, open-source technology. Either way, it means more Kubernetes in more environments.
The adoption rate for containers - and thus, Kubernetes - has been almost staggering. Our forthcoming State of Application Services 2020 found a significant year over year increase in the percentage of IT professionals that desire application services in container form factors over other traditional packaging. Along with that, there is a marked spike in the adoption of container-related application services like ingress control, service mesh, service discovery, and API gateways.
All signs say this train is not going to slow down. With application portfolios expanding thanks to automation and adoption of continuous deployment methodologies, the number of container-based (cloud-native) systems is only going to grow. It’s important to note that this is not just due to new apps. It's also due to the number of supporting application services needed to operate a containerized application.
Sysdig extrapolates the total number of services that comprise a microservices architecture-based app from the number of Deployments per namespace. A Deployment, in Kubernetes parlance, describes a set of multiple, identical pods. It uses a Pod template, which contains a specification that determines what each pod looks like: what apps should run inside its containers, which volumes the pods should mount, and the labels to use. Each component required to operate an app needs a Deployment. Given that a namespace typically represents a service (effectively an app), the number of deployments per namespace should, as Sysdig postulates, give a good indication of how many different application services are required to operate a given application. In 2019, the majority (56 percent) of clusters were operating with 11 to 25 deployments per namespace.
These are important numbers to know because deploying a modern, cloud-native app today requires a significant number of application services. Routing (ingress control), service discovery, load balancing, API security and management, monitoring, and more are required simply to ensure that a modern app is fast, secure, and available. Most of these app services are containerized and deployed inside a cluster along with the app they support.
That means that Kubernetes is not just responsible for delivering apps, it's responsible for delivering the infrastructure that delivers the app, too. And that's a marked change from traditional approaches that separate the app and its infrastructure into distinct entities. When a modern app changes, so does its infrastructure. The two are now co-dependent, which forces upon IT the need to collaborate more closely across traditional siloes to deploy and operate apps.
The incredible growth of Kubernetes is not just an indicator that app architectures are changing. It's an indicator that app everything is changing. From the infrastructure to the team structures in which apps are developed, deployed, and operated, containers are growing as the preferred form factor. And with each container put into production, Kubernetes implementations continue to consume – and exert influence on – more of the market.