Industry


Ads by TechWords

See your link here


Virtual machines: the new ghetto in the data center

Virtualization is becoming a ghetto for some lines of business applications. Those server-based applications, each of which used to get its own dedicated hardware, are increasingly stacked like pancakes on a single machine. In some companies, applications that used to have their own homes are now housed in the IT equivalent of cheap tenements. In some cases 50 or more applications may reside on a single physical server. But with too many virtual machine tenants-in-residence, the underlying hardware foundation starts to crack. Performance degrades. The user experience begins to suffer.

It wasn't supposed to be that way. Management, troubled by server utilitization rates in the range of 10%, was delighted to discover virtualization as a way to get more out of existing hardware. Some organizations have begun cost saving initiatives that require all new applications to reside in virtual machines unless a business case can be made to break policy. Unfortunately, the temptation for some overzealous bean counters is to put too many applications on each physical server.

It used to be that every application would get its own physical server, and since hardware is cheap and powerful, users were ensured of snappy performance. Users had more power than they needed. Unfortunately, some organizations may be stepping back into a world more familiar to mainframe users in the '60s and '70s. In that era of timesharing, applications got a slice of the mainframe. Users often had to wait for their jobs to complete because a high volume of jobs was competing for scarce and very expensive hardware processing resources. Timesharing was a compromise, a way to allocate those precious MIPS.

Wintel servers made processing power cheap and plentiful, but the limitations of one application per physical server helped promote server sprawl.

Now for the first time IT can consolidate those compute resources and, at a very granular level, allocate them to more closely match each application's needs. While the cost of processing power has dropped, the move to virtualization has allowed management to dramatically throttle back the allocation of that processing power to each application in the name of cost savings. The irony is that, in a world where processing power is cheaper than ever, some users may find themselves waiting longer.

So once gain, users are competing for compute resources. How big a slice does your application get? And how slow is too slow?

As a consumer of compute services, that may depend on how important your application is to the bottom line and how much political clout you have in the organization. For one user, who told me he had to wait for more than a minute for even a simple SQL query to complete, the practice would seem to have gone too far. The usage pattern of the application - very high CPU utilization rates - would seem to dictate the use of standalone hardware. But getting on a dedicated server practically takes an act of God because it breaks with the policy to use virtual machines. In this case, the burden is on the user to prove that the performance issue was real and that it was a productivity problem.

Analysis and planning tools are available to properly populate server hardware with virtual machines and allocate resources to them. Dynamic load balancing tools are rapidly evolving as well. However, organizations are still climbing the learning curve as they adopt virtualization technology. In the short term, there are likely to be abuses. In some companies the pendulum will swing toward penny-wise and pound foolish as bean counters demand tighter budgets. IT will struggle to figure out just how much of the computing pie a given applications deserves - and what performance levels are good enough.

Such determinations can't always be made purely on a technical basis.

The core technology of virtualization has matured. It may take a while for best practices to catch up.

What People Are Saying

I gotta say I also love the

I gotta say I also love the analogy and the visual image of the rack mounted servers as tenenments. You could even extend the image to show the bits and bytes of data playing stickball and frolicking in the open water chiller left open to relieve the heat generated by the tightly packed servers.

But seriously, the problem was never a single $2,000 server, but hundreds or thousands of $2,000 servers running at 20% capacity.

The obvious answer is balance. You have to balance capacity with demand with reasonable response time. No one should have to wait a full minute for any app or command to execute, nor should we expect one app per server as a practical standard.

Heck, you don't even need

Heck, you don't even need virtualization for the bean counters to screw up everything. I recently worked at a small software company which stuffed way too many applications into servers and ran them way past their recommended lives. They once lost an estimated $50,000 of revenue because they wouldn't spend $2000 for a server: their primary domain server melted down and they were off the net for a week. Management fired the IT admin who had been begging them for a solid year to buy more servers because they said he didn't have a backup plan...of course, they wouldn't buy the backup hardware he asked for either.

Lest you chalk the situation up to the typical penury of a small company, I should mention that the 35-person company's CEO (chief bean counter), president, and three marketing vice-presidents all pulled down $200K apiece. To a bean counter, marketers bring money into the company; servers, networks, software developers, DBAs, IT admins, etc. are all overhead - they cost the company money. If you run your servers at 95%, that will be 5% under capacity as far as the bean counters are concerned.

Poor dear ! Doesn't even get

Poor dear ! Doesn't even get his own box !
Perhaps if you used some decent code instead
of VMwanabe, you could run your boxes to
their capacity. We typically have zero response problems running cpu percentage over 95. You can guess that I run a real computer that can run REAL VM.

Agreed, although we're not

Agreed, although we're not there yet - and some organizations may never be.

I love the "ghetto" high-rise image in your blog, btw.

--Rob

Robert - I agree with you,

Robert - I agree with you, the potential is there to have these apps in the "ghetto". However, I think IT people will learn to give them the power they need to live in the luxary hi rise. I have written more about this on my blog here.