Containers / Microservices

For Containers, Home Is Where the Bare Metal Is

15 Nov 2018 6:00am, by

Chakri Nelluri
Chakri Nelluri is Chief Architect and founding engineer at Diamanti. Chakri specializes in containerization, networking, and storage. He is an active Kubernetes contributor and creator of FlexVolume, a custom plugin framework for Kubernetes storage. Prior to Diamanti, Chakri served at Dell/EMC, Cisco, and Veritas, and he has a B.E. in Computer Science from Birla Institute of Technology and Science.

There’s no denying that hardware virtualization was one of the greatest data center innovations of the last 25 years, and you’ll find VMs running in a majority of global 2000 enterprise data centers today.

But that doesn’t mean you should run your containers on VMs. VMware CEO Pat Gelsinger would love you to stay on his VMs, and he preached that at the most recent VMworld conference. Don’t fall for it. It’s time to go back to the future and embrace your bare metal servers. You’ll save money, improve performance, and cut your server footprint by more than half.

Containers and microservices architectures build on the promise of virtualization by enabling the abstraction of an application from the underlying operating system, which allows software to be developed and deployed as a set of small, composable pieces.

Enterprises across finance, energy, media, and other major verticals are now keenly aware of the tremendous agility, efficiency, and speed-to-market benefits that containerized applications can deliver and are highly motivated to undertake large-scale digital transformation. This all appears deceptively straightforward when you’ve already got the infrastructure in place for which there is deep expertise across the organization.

But despite container technology being thought of as virtualization 2.0, there is a much better place to run an enterprise-scale Kubernetes environment than on the virtualized infrastructure of the mid-2000’s. It’s called bare metal.

The basic argument is simple: legacy infrastructure isn’t architected for the way containers use compute, storage, and network resources.

That being said, VMs aren’t currently in danger of being replaced outright by containers; in fact, there are distinct use cases for VMs that containers aren’t well-suited for. However, for VMWare’s business, there is clearly a lot at stake. As the cloud-native ecosystem expands, we’ll see many more infrastructure and tooling alternatives come to market and displacing VMware products.

Throughout breakout sessions at this past VMworld conference, VMWare aggressively positioned vSphere as being a better foundation for a Kubernetes environment than bare-metal, based on the following benefits:

  1. Resource consolidation
  2. Isolation
  3. Operational simplicity

There’s little argument against the type of application isolation that a VM can provide. In fact, that is one of the main reasons for running an application on a VM versus within a container. However, there was no mention of resource usage efficiency, which comes across as a glaring omission.

The CPU and memory resources consumed by a container are substantially less than what a VM requires, which by comparison has a much larger resource footprint. Containers running on bare metal utilize system resources more efficiently than VM-based containers. The average resource utilization in VM-based container environments may be as low as 15 percent. By contrast, purpose-built bare-metal stacks such as Diamanti achieve average resource utilization rates as high as 90 percent.

Furthermore, when running containers on top of VMs (which creates a stack of two virtualization layers, effectively), container-to-container ‘noisy neighbor’ effects often occur, which are difficult to debug. This leaves little choice but to limit the number of containers per VM to just ONE, whereas a bare-metal container platform such as Diamanti’s could support eight times as many, while guaranteeing performance and IOPS per container.

When we ran the numbers for a recent white paper at Diamanti, it’s pretty apparent that bare metal beats VMs on almost every material metric we could count.

  1. Management simplicity. Because VM-based container environments have more layers to manage, bare metal can be simpler to troubleshoot and support, reducing operating costs.
  2. Individual containers deliver up to 30 percent greater compute and I/O performance in a bare-metal environment.
  3. Density. The number of containers per server is far higher in a bare-metal environment than a VM-based environment.
  4. Utilization and efficiency. Higher utilization translates to a smaller data center footprint, lower power and cooling costs, as well as further reductions in management expenses.
  5. Performance. Individual containers have higher compute and I/O performance than VMs.

I’ll close on an issue dear to every customer’s heart: cost. Global 2000 enterprises spend millions to tens of millions of dollars a year on VMware licensing costs. Moving new containerized workloads to bare metal shrinks that annual operating expense. Eventually even perhaps to zero? We’ll see.

Feature image via Pixabay.


A digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.