Following VMware's announcement of vSphere 7 general availability, IT administrators now have a much better idea of how vSphere integrates with Kubernetes. However, there are some instances where the decision between Kubernetes vs. VMware vSphere isn't as black and white; it comes down to VM and container management needs.
Admins who have a large number of VMs and plan to run as many as possible inside containers benefit from Kubernetes, while admins who intend to add containers to their overall landscape without redesigning VM-based workloads may find vSphere 7 more advantageous.
VMware's Kubernetes integration is possible because VMware uses paravirtualization to optimize VMs acting as container hosts. As a result, containers can become an equal to VMs with the help of paravirtualization, making containers run 20% faster compared to containers hosted on bare-metal hosts, according to VMware.
Alternatively, vSphere still offers the ability to run containers inside of a VM. VMware's mechanism for managing containers is Tanzu Mission Control, and Tanzu Kubernetes Grid is VMware's Kubernetes distribution with extensions that integrates with vSphere.
Customers can choose to use Tanzu Mission Control or other services, such as Google Anthos, to manage containers running within Container Runtime ESXi (CRX) delivered pods. Admins asked VMware if these pods are Kubernetes-compliant, and the answer is yes, though there are a few security-related exceptions.
VMware made a design decision to streamline the deployment and management of Kubernetes by designating the VMware Cloud Foundation (VCF) as the underlay for Tanzu.
Though CRX is part of the vSphere Kernel, admins don't have access to the container platform unless they license and deploy VCF. VMware said it believes this is a strong selling point for Tanzu because it ensures operational consistency and simplicity.
Using KubeVirt to manage VMs and containers
VMware presented a vision to optimize running of containers in VMs. However, containers are just another form of virtualization. Conceptionally, admins can run a VM inside a container with the help of specific products, such as Kubernetes and KubeVirt.
For example, Netflix has shown that there are advantages to running monolithic applications inside of containers, such as packaging and delivering applications. This also results in successful integrations into continuous integration/continuous delivery pipelines and tooling.
The choice to run either containers in VMs vs. VMs in containers is an architectural design decision. This is because there's a line of thought that containers are the ideal abstraction for multi-cloud application delivery.
Though VMware assures admins containers and VMs are the same in vSphere, it's difficult to draw a similar comparison for Kubernetes and VMs. Kubernetes is an orchestration product that admins use primarily for containers. In theory, Kubernetes could manage compute resources other than containers.
However, a container as the primary abstraction layer means that traditional VM management tools don't map directly. Though networking can help solve this issue, KubeVirt could be the answer.
KubeVirt uses Kubernetes network architecture and plugins rather than hypervisor abstractions, such as vSwitches, to manage networking. As a result, products must switch to network management based on Kubernetes namespaces. That's not necessarily a bad thing; it's just an overall change in operations mode from a VM-centric operating model to a container-centric operating model.
Kubernetes vs. VMware vSphere 7
It isn't easy to classify KubeVirt as the superior product when it comes to managing VMs and containers compared to vSphere 7, and vice versa. If admins' organizations decide to migrate to containers, then selecting KubeVirt is the best option. Admins who have a handful of VMs and plan to run as many workloads as possible inside of containers, including monolithic binaries, benefit from KubeVirt.
Admins that adopt a container-first mindset might have third-party application appliances that they can't containerize. KubeVirt provides a mechanism for running these VM images for an extended period to supplement their container system.
However, admins who intend to add containers to their overall landscape without replatforming VM-based workloads might find vSphere 7 more desirable. With Tanzu offering a full Kubernetes-compliant experience with VMware support, VMware admins might find this approach less disruptive.
VMware announced vSphere options across all major cloud providers, such as AWS and Azure. AWS offers VMware Cloud on AWS alongside their Elastic Kubernetes Service container offering. Azure has a VMware tool and Azure Container Service.
Google recently purchased CloudSimple, which provides a VMware option for both Azure and Google Cloud. Google said it believes Anthos-managed Kubernetes is the future, and its vision includes Anthos managing vSphere hosted containers.
It's important for admins to determine their application architectural direction. Before any selection, admins must determine if they are a container-first organization, or if containers are just another workload that run in their hybrid infrastructure.