cancel
Showing results for 
Search instead for 
Did you mean: 

Three signs that containers are a better fit for your enterprise than virtual machines

AlexRestrepo
Level 1
Employee

The days of companies running one application workload on a single physical server sitting in their data center are long gone. Virtualization has changed all that. The decision between using virtual machines (VMs) or containers to improve IT efficiency is a complex one with no simple answer. We’re hearing more from our customers who are moving more of their business to the cloud looking for insights into whether moving to containers or sticking with VMs is right for them. We’ll help shed some light on that, but first, let’s differentiate between containers and VMs.

What does virtualization do?

Running an individual application on a single server used to be the way of doing business.  But it was wasteful. It didn’t use the machine’s full capacity of CPU, memory, and storage. Virtualization abstracts the physical hardware to create a shared pool of resources, upon which you can run multiple applications, maximizing the full capacity of physical servers and cutting IT costs while also accelerating the movement of workloads to the cloud. There are many types of virtualization – including data virtualization, OS virtualization, desktop virtualization, among others.

Chart-Virtualization (1).jpg

What’s the difference between containers and VMs?

Chart-VM-Container (1).jpgContainers and VMs are both a form of virtualization, they just approach it differently. With VM-based virtualization, a hypervisor software layer is used to allocate and share the resources – CPU, memory, and storage - of a physical machine among different VMs. Containers are a more lightweight approach. They sit on a physical server and host the operating system of the host computer. The benefits of containers over VMs are you can spin containers up much faster compared to VMs, and run multiple workloads on a single server. Containers are also more portable and very useful for development and testing environments.

Given those advantages, what’s stopping every IT department from immediately moving their workloads from VMs to containers? The answer is simple: the complexities of running containers are at another level. For many IT teams, VMs are familiar, while containers represent the unknown. Containers can introduce security risks and some IT teams may struggle to generate consistent results with containers.

Here are three signs that moving to containers may be right for your organization:

  • You’re moving more workloads to the cloud, and having trouble moving VMs between different clouds. Migrating VMs from on-premises to the public cloud or private clouds is time-consuming and a complex process. VMs are dependent on the entire resources of the OS, which makes them less portable. Containers, by contrast, can be easily used to move applications from one cloud platform to another. Using container-based microservices is another way to make applications more portable. Putting microservices into containers allows you to break up an application into smaller parts. That means you can keep applications running reliably while they move between different environments.
  • Your IT department skills and culture lends itself to increased containerization and microservices. There is a massive demand for developers with experience building containerized applications. Good cloud-native skills are hard to come by. If your IT team has been fortunate enough to recruit and retain top-level talent experienced in Kubernetes, containers, and microservices, with a culture that has fully embraced agile, DevOps approaches, your team may be well-equipped for more containerization.
  • Your company is becoming more dependent on cloud-native applications to accelerate innovation and meet changing customer demands. With cloud-native applications, you can easily build and run applications that scale easily across private, public, and private clouds, using automation. By developing applications as microservices, you can be more agile and deploy apps quickly. Effective use of containers and microservices can be a better approach to cloud-native applications than using VMs (non-containerized).

Containers and Kubernetes also come with security risks, and there have recently been reports of malware targeting Windows-based containers which could be used to deploy ransomware.

Every IT department needs to evaluate for itself whether containers or VMs are right for them, based on their individual circumstances. Some legacy applications may be better off keeping in a VM, given their business-critical nature.

Doing a candid assessment of the above criteria is a good first step.