Kubernetes is one of the most talked about technologies, but which part of the Kubernetes landscape should you be focusing on? How do you navigate all of the information being broadcast on this topic? This blog post attempts to focus on these questions, with a twist.
Quick Kubernetes Review
Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. (Emphasis mine).
Transformation of an Industry
While Kubernetes certainly has the technorati all a-twitter, the really exciting thing that we are looking at is a transformation in how applications are composed. That that is going to impact infrastructure, application development, and all forms of data center hygiene (identity and data management, security, data protection, disaster recovery, etc.). It is going to introduce an avalanche of adjacent new products. In other words, our entire ecosystem is about to evolve.
Cloud Native Computing Foundation already produces a map of the cloud native landscape. Here’s how they map it:
- App Definition/Development: database, streaming & messaging, app definition & image build, continuous integration & delivery [CID]).
- Orchestrators & Management: scheduling & orchestration, coordination & service discovery, remote call procedure, service proxy, API gateway, service mesh
- Runtime: Cloud Native Storage, Container Runtime, Cloud Native Network
- Provisioning: Automation and Configuration, Container Registry, Security & Compliance, Key Management
The Kubernetes landscape is just a small part of the overall landscape; Kubernetes lives in the Orchestration & Management layer under scheduling & orchestration. Also, the idea of running this new type of app someplace other than a public cloud is a new concept. VMware’s Project Pacific promises to make Kubernetes the control plane for vSphere, opening the prospect of creating a native cloud environment on-premises.
Infrastructure for the Kubernetes Landscape
What is needed to run Kubernetes? Well, that’s a question that’s easily answered from the documentation, and it’s probably not the best question to ask. The real question is: what is needed to run my containerized application, if I’m using Kubernetes?
There are currently 53 certified Kubernetes distributions and 41 certified Kubernetes platforms. Obviously, Kubernetes is a hot platform.
You can run Kubernetes yourself. You can use an upstream version from a vendor (like NetApp or RedHat). You can run it in the public cloud, or you can use a hosted version (from Microsoft Azure or AWS). This article gives a fantastic history and explanation of the Kubernetes release cycle, and all the elements you’ll need to watch.
The twist in navigating the Kubernetes landscape is – maybe that’s not the right question. Instead of asking what infrastructure considerations there are for running Kubernetes, maybe a better question is if Kubernetes is the best containerized application management system for your organization. There is a list of competing products here and here.
If you’re not running an application that is composed of microservices, if your organization is very risk-averse, or if you haven’t done your due diligence, it’s probably not a good idea to go down the containerized app route, even with the amazing Kubernetes platform.
Where to Start?
From the shear size of the Kubernetes landscape, there is no doubt that it is one of the hottest technical products in a couple of decades. But when you start examining things, it becomes apparent that Kubernetes is just a harbinger of the transformational trend of containerized applications.
It’s normal to get excited about new trends but be sure to do your due diligence as well. There are already lots of great stories out there from folks who have the battle scars of putting Kubernetes into production. This story is a few years old but it still has great 101 information in it. Build on others’ experiences, and when you push to production share your stories too.