Cost benefit Analysis: Virtual Machines vs Containers

Cost benefit analysis

May 17, 2024
Cost benefit Analysis: Virtual Machines vs Containers

Application modernization is a process of refining and revitalizing old and outdated business systems to improve operational efficiency, minimize overhead costs, and be future proof for emerging IT innovations. It encompasses various strategies and approaches, including re-platforming, re-hosting, re-architecting, refactoring, or replacing legacy systems entirely with modern alternatives.

According to the Markets and Markets report, the application modernization market size will witness a growth rate (CAGR) of 16.7%, with $15.2 Billion in 2022 to $32.8 Billion by 2027. Therefore, it's high time businesses start to modernize applications to elevate their end-user experience and embrace chances of growth and expansion.

Benefits of moving to Containers:

  1. Continuous innovation and adaptation
  2. Effortless intersection of traditional, cloud-native, and hybrid applications
  3. Improved agility and compliance
  4. Maximized return on investment (ROI)
  5. Improved uniformity in the organization and its processes
  6. Minimized technology risks
  7. Enhanced flexibility
  8. Enhanced performance and user experiences
  9. No vendor lock-in as you pick and choose technologies as per your requirement

What are Virtual Machines?
VMs are built on physical machines, with their primary component being a hypervisor, a host server that allows VMs to access the required computing resources. The image below illustrates the four parts of the VM architecture.

Simple architecture of Virtual Machine

What are Containers?
Containers are virtualized, isolated application packages; they contain everything needed to run a piece of software, including code, system tools, libraries, and settings (called dependencies.) Containers are portable, meaning they can run across different development environments so that developers can test software on different environments without worrying about conflicts with the underlying system.

Simple architecture of a Container

Why VM’s don’t make sense in 2024?
Legacy applications, once the backbone of many enterprises, are now often seen as roadblocks to progress. As technology advances and user expectations shift, the need for modernizing these applications becomes increasingly apparent. This process, known as application modernization, is not merely about updating software; it's about future-proofing businesses and unlocking new growth opportunities.

After Broadcom announced that they were acquiring VMware for 69 billion dollars there were a lot of anxious customers that were holding their breath for what was going to happen next. As expected, Broadcom announced that they were removing the option of perpetual licenses and moving to a subscription-based license

Demonstration on how Containers save you money
An experiment by IBM on virtual machines vs containers was conducted to test which is more efficient and which technology saves you money in the long run.  The test compared a client simulated banking application transaction suite running IBM WebSphere Hybrid Edition in an x86 virtualized environment using Red Hat OpenShift containers versus virtual machines.

Although JMeter drove the same workloads to the virtual machines and container environments, testing found that CPU utilization with the virtual machines was significantly lower than with the container's due memory constraints in the VM environment. Without available memory, additional workloads (virtual machines) to improve CPU utilization could not be run within the existing configuration.
Conversely, testing found that in the container environment all of the resources were shared, freeing up memory for more productive use. With additional memory more application instances could be hosted, driving more CPU resource and resulting in more effective use of all resources within the existing configuration.

Even with the virtual machines and containers driving nearly identical workloads, the same x86 environment ran more containers than virtual machines enabling greater throughput.1 An added benefit was that the container environment also saw a reduction in response time by ½ as a result of lower network latency.1 Having over 4x more containers than virtual machines drive an increase of throughput by the same 4x factor.

Financial Impact
The improved utilization and throughput reduce the amount of CPU and servers required to deliver the same workload, which translates into significantly lower infrastructure costs. To evaluate the financial impact, we examined annual infrastructure costs to run the same amount of workload throughput, that is, 33 containers versus 32 virtual machines. The cost model found that transaction workloads running on x86 can provide a 75% reduction in annual server maintenance, administration and facilities costs using a Red Hat OpenShift container environment versus a virtual machine environment.

Containers can have a significant impact on the efficiency of your IT infrastructure. With access to shared resources within a given environment, containers can leverage more memory and CPU, avoiding memory constraints that can result in low CPU utilization. More effective use of server resources means decreased system requirements, fewer servers, less upkeep and lower infrastructure costs.

For the many reasons explored in this blog, containers offer a variety of efficiency and cost-savings benefits when compared to traditional VM-based application deployments.

For a deep dive, take a look at the original paper here:

Darktech Circle - Darktech X Webflow Template