VM - Virtual Machine

Virtual Environment
A friend insists that we'll only know the recession is over when software vendors no longer start every whitepaper with the phrase "In these tough economic times ..." It may be as reliable an indicator as any.

Meanwhile, in these tough economic times, I often read of factories suffering so badly that they are "operating at only 50% of capacity." For a manufacturing plant, such low utilization is a disaster. So, gentle reader, what do you think would be the average utilization of your data center's capacity? Nothing like 50%, that's for sure. Typical enterprise servers run at about 10% utilization according to a recent McKinsey report. They may, just may, be able to reach as high as 35% with a concerted effort.

There are many good excuses for this situation, with both business and technical justifications. Enterprise applications on the same server do not always play together nicely. One will demand all the memory it can get, sulking unresponsively in a corner if it can't get it; another will push over less aggressive applications in order to grab more CPU. In the SQL Server world, we're working on that continuously, with every version adding better resource governance and management. (See http://bit.ly/ss2008rg  for specific information about SQL Server 2008.) Then again, these same applications are often mission-critical and it is business requirements which force us to isolate them: from the risk of downtime, or other disruptions. Approaching our problems in this way, it's quite easy to add a new server for this app, and another server for that one, and sure enough, the result is soon 10% utilization.

It won't do. There's a capital cost, and fixed running costs, for every server we add, not to mention the environmental considerations of wasted energy and resources that weigh heavily on many of us, recession or not. I have visited datacenters in emerging economies from Egypt to China where simply having enough power available is a problem and resource management is imperative.

In the database world, we have traditionally approached these problems by running multiple native instances of servers on the same box. This can indeed consolidate hardware and reduce costs. Nevertheless, IT managers and DBAs are increasingly looking to virtualization. Why? There are numerous advantages. For example, with virtualization each application can have a dedicated, rather than shared, Windows instance: especially useful for mixed workloads; and with virtualization, instances are limited only by the capacity of the machine, rather than the native 50-instance limit.

 SQL Server 2008 works exceptionally well with Windows Server 2008 R2 and Hyper-V to deliver effective virtualization. In SQL Server 2008 R2 (shipping in the first half of 2010) we will support up to 256 logical processors on that platform to scale those solutions even further. There are some great scenarios for this. Business Intelligence applications such as Analysis Services and Reporting Services are prime candidates, especially when mixed BI and operational workloads peak at different times. Virtualization has other benefits for the database user: for example, the lifecycle from development to test to production becomes easier to manage with a consistent, virtualized, environment.

It's really worth considering virtualization, and building up your understanding of the technology and requirements. There's a great whitepaper at http://bit.ly/sqlcatvirtual with sound advice and background for any SQL Server 2008 DBA considering this technology. Good material to have to hand, in these tough economic times.

Post a Comment


Close Menu