KubeVirt: Tearing Down Another Silo
The KubeVirt open-source project has opened up possibilities for organizations to run VMs and containers alongside each other in a Kubernetes cluster. While it is still early days for the project, we at Platform9 see a lot of potential in it, especially when we think about the problems it can solve for organizations looking to adopt and embrace Kubernetes. We also think a SaaS managed approach to KubeVirt could make it easier for organizations to get value out of it and unlock it’s potential without worrying about the operational and management overhead. Read on to get a heads up on what we’ve been up to and what’s in store!
Why Containers and VMs Have To Co-exist
When Google open-sourced Kubernetes in 2014, there were various different perspectives on how things would transpire. Some said it was only a matter of time before VMs became a thing of the past. Others said containers would never be able to provide the security and isolation that business-critical applications needed. Over six years later, while the momentum of containerization and Kubernetes is unquestionable, as a community we have collectively opened our minds to the idea that the future is hybrid, in more ways than one. Containers and VMs will have to coexist.
In our conversations with design partners and prospective customers about their modernization initiatives there are some common patterns that emerge.
Containers aren’t a one-size-fits-all solution
Some applications have configurations or security and isolation requirements that aren’t suited to be run on containers. Legacy applications may be built using monolithic architectures or in ways that are not cloud-native.
Not all applications benefit from being containerized
An IT manager at a large company undergoing the transformation to Kubernetes recently told us that they had large numbers of VMs that weren’t worth the investment of transforming into containers. Shell servers and text editing applications are examples of such workloads.
Migration from VMs to containers is an investment that lasts many years
Most large enterprises run too many applications for them to simply “make the switch”. In reality, this journey could take years, and may consist of several non-trivial projects. This requires investments, both internal and external.
IT expertise and risk
The proliferation of virtualization has effects that will last for decades to come. Changing this paradigm is challenging in terms of day to day IT operations, as well as in terms of the risk involved in doing so from an organizational perspective.
More Silos In an Already Complex IT World
With infrastructure now being split not only into two different technology stacks, but into two entirely different ecosystems, given the exponential growth of communities around each, operators are now faced with a new, daunting level of complexity.
Imagine the life of an infrastructure operator. Developers insist on standardizing on Kubernetes for application development and deployment, but legacy apps need to stay on VMware. The operator now has to manage VM infrastructure – hypervisor upgrades, DRS for scheduling, vRealize for monitoring – and use completely different primitives to manage the applications running on containers, including Kubernetes’ declarative APIs, cluster scheduler, CSI plugins for storage, and CNI plugins for network configurations. All this is just the tip of the iceberg; a simplified version of an extremely complicated operating model. These technological silos are risky, expensive, and inefficient.
Why KubeVirt Is the Answer
KubeVirt is an open-source project that enables VMs to be managed by Kubernetes alongside containers. Using KubeVirt, you’ll be able to overcome all of the operational silos that exist today, and standardize on Kubernetes as the control plane – without having to worry about porting all of your applications to containers or managing two entirely separate stacks. You can now get the best of both worlds.
There are several Kubernetes and KubeVirt constructs that bring the solution extremely close to current virtualization stacks and primitives.
- VM customization can be implemented using VM Presets and cloud-init
- Calico and Multus (other open-source projects in the Kubernetes ecosystem) can be used for security policies and additional VM network interfaces, respectively
- CSI plugins are available for most storage backends
- The Containerized Data Importer (CDI) utility can be used to import, upload and clone Virtual Machine images
- Kubernetes RBAC, namespaces, and cluster scheduler can be used for access control, tenant isolation, and scheduling respectively
- Helm charts are a great way to implement infrastructure as code
KubeVirt also has a vibrant community with enhancements continuously being built into the project.
When we talk to our virtualization partners and customers, it is pretty clear to us that there needs to be a way to simplify and unify the operating model for infrastructure teams. KubeVirt, being an open-source project, provides for a completely cloud-native approach to virtualization. Because of these reasons, we’ve made a strategic decision to invest in making KubeVirt a core part of our virtualization story.
The Journey Ahead
While KubeVirt addresses the gaps we discussed above, a DIY approach could prove to be expensive and risky. Last year, we expressed our excitement about this project and have since been executing on our vision of integrating KubeVirt into Platform9, extending it to provide our users with seamless Kubernetes based operability not only for containers, but also for virtualized workloads.
We believe a SaaS managed approach to KubeVirt, especially for organizations that are strategically looking to invest in Kubernetes and container-based applications, will bring them all the benefits of KubeVirt, while allowing them to offload the overhead of deployment, support, upgrades, monitoring, and general enterprise-readiness to Platform9. The result will be a cloud-native, self-service, declarative model of operations that will be consistent across all workloads – containerized as well as virtualized.
- KubeVirt: Tearing Down Another Silo - February 25, 2021
- How To Set Up Kubevirt For Kubernetes Based VM Management - December 22, 2020
- Announcing the Industry’s Only SaaS Managed Bare Metal Orchestration Platform - December 16, 2020