Cloud-native applications represent the future. New development is shifting to containers, and increasingly to serverless – “the next leg of the cloud journey.” Despite this trend, many organizations have a huge investment in critical production applications based in traditional virtual machines (VMs) that they are unwilling or unable to discard. As it turns out, they don’t have to.
There is a bridge between the two worlds of containers and VMs. It is possible to run traditional VMs in a cloud-native way, with virtualized workloads and container workloads coexisting in a single platform. This aids organizations in eliminating workflow and development silos and improving their ability to migrate and modernize existing applications and services.
By consolidating the number of physical servers required to run applications, VMs were essential to modernizing data centers and enterprise infrastructure. They allowed organizations to optimize their use of servers and reduce the footprint and energy consumption of a non-VM infrastructure.
Cloud-native developers latched onto containers because, unlike VMs, they could be packaged without a guest operating system, thus reducing compute resources required to run them, and able to support microservices architectures. This makes it easier to scale applications and speed development but requires orchestration platforms to manage containerized applications, such as Kubernetes.
VMs traditionally ran separate from the container orchestration platforms that power modern cloud infrastructure. But now Red Hat’s OpenShift Virtualization lets developers bring virtual machines into containerized workflows.
With OpenShift Virtualization, developers can run a VM within a container where they can develop, manage, and deploy virtual machines side-by-side with containers and serverless all in one platform. The key to this capability is KubeVirt, an open source project that leverages KVM, the Linux Kernel hypervisor, within a Kubernetes container.
Managing VMs as Kubernetes objects on the OpenShift platform allows traditional VM-based workloads to be added to new and existing applications; then they can be decomposed into microservices on containers over time, or maintained as VMs where appropriate. VMs can be migrated to OpenShift without the need to fully containerize, thus providing greater flexibility and more options as needs evolve.
OpenShift Virtualization also supports Windows VMs running older versions of Windows back to 2008 with the capability to refactor them over time to use Windows containers and Windows Server 2019 or be maintained purely as VMs.
Bringing traditional VMs into OpenShift will enable teams to migrate and modernize applications, and accelerate delivery. OpenShift Virtualization supports development of new, microservices-based applications in containers that interact with traditional virtualized applications. By combining conventional virtualized workloads with new container workloads on the same platform, development and operations teams will be able to gradually divide monolithic, virtualized workloads into more efficient containers.
OpenShift Virtualization supports the concept of an open, hybrid cloud. Organizations can take advantage of a consistent development experience across VMs, containers, and serverless functions as business-critical applications grow to encompass a blend of these technologies.
Ultimately, organizations should be able to take an application from on-premises and move it to any public cloud and also have the ability to bring it back on-premises.
To learn more about how your VM and cloud-native applications can co-exist, click here.