Hyperconverged infrastructure (HCI) has quickly earned a place in the datacenter, mostly due to the promise of infrastructure simplification. HCI has already worked very well for virtualized infrastructures, but will this be the case with Kubernetes? There’s reason for optimism, and I offer a couple thoughts here as to why.
HCI is one of many ways to build your computing stack. The idea is to virtualize and collapse several components of the stack, including storage and networking, alongside compute resources (virtual machines). The approach trades off some performance for enhanced flexibility and ease of use. In its early iterations, HCI was a good fit for mostly small-to-medium sized businesses (SMBs) and vertical applications such as virtual desktop infrastructure (VDI). Now the performance gap has narrowed and HCI can be leveraged across a broader range of applications. Some IT organizations have made HCI their go-to technology, with 90% of their data centers built around HCI!
Kubernetes and HCI
The question before us now is: “Is HCI good for Kubernetes?” The short answer is yes, but there are a few aspects to consider first.
Kubernetes is a container orchestrator that usually runs on Linux operating systems. Applications are deployed in containers that are then organized in Pods (a pod being the minimal allocation unit for Kubernetes and which can comprise one or more containers). Unlike virtualized infrastructures, where each single VM has a different operating system, the container shares most of its basic components with the underlying operating system. From this point of view virtualization is unnecessary and expensive, but (and there is always a but), the reality is more complex for two reasons.
First, few enterprises can migrate to a 100% container environment overnight. This means that VMs and containers must live together for a very long time. In some cases the application will be hybrid forever. Some components will remain virtualized—an old commercial database in a VM for example—accessed by the containerized application. This could happen for several reasons, sometimes just because the virtualized component can’t be deployed in a container or it is too expensive to migrate.
Second, Kubernetes is just an orchestrator. Additional components are needed to make the Kubernetes cluster able to respond adequately to enterprise needs. This includes data storage and networking, especially when the applications are stateful. And managing stateful applications was considered non-essential at the beginning, but which is becoming a standard for many Kubernetes deployments.
So, in the end, we have two needs: management of a hybrid environment and infrastructure simplification. Again, HCI looks more interesting than ever in this context.
Hyperconvergence and Kubernetes
There are at least three examples that I can make to explain why HCI can be beneficial to your Kubernetes strategy:
- VMWare. You probably already know about VMware’s efforts around Kubernetes (here’s a free report I wrote not long ago about VMware Tanzu Portfolio). VMware simply integrated Kubernetes with its hypervisor. Even though this could be seen as an aberration by Kubernetes purists, there are advantages in having VMs and containers integrated. The cost of the VMware licenses can be challenging but, if we think in terms of TCO, it will be easier to manage than a complex hybrid environment.
- Nutanix. Nutanix has a solution that allows you to implement Kubernetes transparently on top of its own hypervisor (and cloud now). It takes a different approach to the problem than VMware, but the benefits to the user are similar.
- Diamanti. Diamanti goes in an entirely different direction, with storage and networking components that are integrated in the platform and optimized for Kubernetes. This design overcomes some of the limitations of the orchestrator and improves its overall efficiency to bring performance and simplicity to the table. If you plan to invest heavily in Kubernetes, Diamanti offers a valid alternative to both general-purpose HCI and bare-metal Kubernetes.
Here a video about the Diamanti Architecture and how it is different from the others.
Closing the Circle
Enterprises should look into HCI for Kubernetes for the same reason they loved HCI for virtualization. There are two approaches to consider: One that extends the existing HCI platform to include Kubernetes, and the other that employs a dedicated HCI for Kubernetes. Both approaches have benefits and drawbacks and your choice will depend on how critical Kubernetes is to your overall IT strategy now and for the next couple of years. Other important aspects to consider include the scope of your infrastructure and the level of efficiency you need to achieve from it.
The VMware and Nutanix solutions are both solid and will help you manage a seamless transition from virtualization to a hybrid (VMs + containers) environment. Meanwhile, solutions like Diamanti can combine the simplicity of HCI with the efficiency of a dedicated solution.