Why could a "resource hog" make virtualization difficult?
Virtualized systems can provide big benefits for companies. However, this isn't true in all cases. Businesses have to look at the key benefits and disadvantages of virtualization on a case-by-case basis.
With the right kinds of changes and accommodations, a virtualized system can be much more efficient than a traditional hardware-dependent system. One of the exceptions, though, is certain types of legacy systems where an individual service is extremely hungry for resources. Some IT professionals refer to these individual programs as “resource hogs.”
The idea of a resource hog sort of goes along with the idea of hardware-dependent systems. One way to think of this is that the original application is built in its own sandbox, where it dominates the use of resources like CPU and RAM. If it's made to be the dominant application in that system, it's not going to respond well to sharing resources within that system.
Experts also point out that moving one of these resources onto a virtualized system without making other changes can cause serious problems. The reason is because virtualization inherently creates more of a drain on the physical servers. There is a cost to virtualizing the applications and making them non-hardware-dependent. With that in mind, simply moving a resource-hungry application into a virtualization system can cause demand to exceed existing resources. There is also the issue of cost and feasibility – some smaller legacy systems simply aren't worth virtualizing, not when it comes down to a concrete return on investment.
One way to deal with resource hogs is to understand their particular demand within an architecture and accommodate them in a migration. Typically, it should only take a limited marginal increase in resources to make an existing resource hog run well in a virtualized system. There are also all sorts of ways that engineers and developers can modify or improve one of these applications to make it “play well with others.” One of the best tools is automation systems that monitor and analyze resource demand in real time and automatically provide resources where they are needed.