How to escape your failed virtual machine deployment

It's easy to change your traditional server applications to virtual instances. It's not so easy to go the other direction.


Image: Getty Images/iStockphoto

In the process of writing about how to choose between a virtual machine (VM) and a container for your application, a new question arose: What if your virtual deployment doesn't work out, and you want to go back to a regular server installation?

The top response, when looking into why a company would go back to bare metal, is performance. Sometimes the management advantages that come with virtual machines just aren't worth the performance hit.

"There are many advantages to deploying applications on bare metal. First and foremost, you will receive better performance from bare metal. Some applications are even designed for dedicated or specialized hardware and wouldn't function in virtualized or containerized environments. A second reason is that some shrink-wrapped applications aren't certified for VMs or containers," said Ranga Rajagopalan, CTO of Avi Networks. Regulated industries and security concerns are also sometimes good reasons not to go virtual, he and others noted.

"When you are moving an application back to bare metal from a virtualized environment, you'll want to start with a standard OS distribution and set of packages from the VM that can be replicated on the bare metal node. You'll also need to ensure the application's configuration files don't have any dependency on the actual node it's running on for things like IP addresses. Finally, you'll need to migrate the application binaries along with its configuration files, and resume traffic to the new instance," Rajagopalan explained.

SEE: 10 things companies are keeping in their own data centers (TechRepublic download)

Sazzala Reddy, CTO at Datrium, expanded on the performance matters. "The only reason for going bare metal is when every CPU cycle counts, like Bitcoin mining, real-time robot signal processing, and multiplayer games where every millisecond lag matters," he said. "One of the main business applications still running on bare metal in enterprises these days are Oracle databases. It is partly because Oracle has made it hard to virtualize because of all the licensing complexity, and also because there is still some tiny fear that Oracle databases will run slower in virtual machines," he added.

Pantheon CTO David Strauss doesn't entirely agree. He gave advice for compromising between bare metal and full-on virtual server consolidation.

"The extra overhead of a virtual machine is usually under 5% compared to bare metal... . It's also possible to deploy VMs in a sole-tenant configuration, where there is only one virtual machine deployed to the hardware running the hypervisor. A sole-tenant can address many of the needs that once required bare metal. So, if I were an administrator encountering problems with VMs, first thing I would consider before bare metal is a sole-tenant VM," Strauss explained.

"Of course, there are some workloads that map poorly even to sole-tenant VMs. One case is when there isn't a good way to expose specialized hardware from the bare metal hardware to a VM tenant, but that's becoming rare. Another case is workloads that need to see the underlying physical architecture to run efficiently. For example, supercomputing workloads want awareness of the non-uniform memory access, processor, and interrupt topology," none of which virtual machines are good at doing, Strauss continued.

"I would avoid running a non-container/non-portable service workload on bare metal," Strauss added. "While it's easy to migrate containers from VMs to running on bare metal, migrating a VM itself to bare metal is not. The latter usually requires a fresh operating system installation followed by manually reinstalling or porting over the application workload. What's specifically involved for that changes in almost every circumstance. This migration difficulty is part of why I recommend sole-tenant VMs over bare metal."

SEE: Virtualization policy (Tech Pro Research)

Finally, Nexient's Nate Berent-Spillson, senior delivery director, urged people to think twice before undoing their virtual machine deployments. "If you have something that's really resistant to VMs, containerization, or platform-as-a-service, then you need to take a hard look on what's holding you back, and make sure it's not your organization. I've seen virtualization used on everything from mainframes, to 20-year-old C++ code, to legacy Windows manual installs."

Also see