SQL Server virtualization works differently than other virtualized applications. While this can pose a challenge to those interested in consolidation, SQL Server 2008 offers several features to make things easier on DBAs and developers.
We spoke with Rick Heiges, a senior solutions consultant with Scalability Experts, about some of the challenges of consolidation and the SQL Server 2008 enhancements that could play a big role down the line. Heiges is scheduled to present a session entitled Don't Wait! Consolidate on SQL Server 2008! at PASS Summit 2009 in November.
The benefits of consolidation have been well documented. So why have not a lot of companies had success with SQL Server consolidation up to this point?
Rick Heiges: Well it's the way that SQL Server is built, essentially. That is, it was designed to really take over as much of the box as possible. For example, it puts itself into a mode, where it basically will work with the memory directly, and also will schedule threads to be run on the CPUs the way that it wants it to. So it doesn't really pass that off to the operating system to do, because it wants to do it. It wants to take over as much of the box as possible, and that's very different from a lot of other applications that have been successfully virtualized.
Now I'm not saying that SQL Server can't be virtualized -- it very much can be -- but the configuration that you have to go through is not the same as with a Web application or server that you might want to virtualize.
Consolidation is a key benefit of virtualization, but they aren't exactly the same. Can you talk a little about the relationship between the two, and how advances in virtualization are affecting SQL Server consolidation?
Heiges: Sure. Now virtualization is a really great technology, but it's not the answer to all things. This is especially true whenever there are certain limitations within a virtual machine (VM) that you cannot scale beyond a certain number of processors. There is a limit on the amount of memory you can put towards a VM. So if you have an app that needs to scale, then consolidation via virtualization is probably not the best option for you.
But there are some other great features in SQL Server 2008 that really enable consolidation. One of the things that I really like is compression. As far as database compression and backup compression goes, that's going to save a lot of space and a lot of enterprise-class resources for the entire organization.
You also have things like Policy-Based Management, and even encryption. A lot of time there's a requirement [where] the admin is not allowed to look at another database that's on the same server, for example. So in the past there's been lots of reasons to have isolated servers and instances. But with SQL Server 2008, you can really get down to fewer servers and SQL Server instances, and that really saves a lot of money.
What are some other features in SQL Server 2008 that can help with consolidation?
Hieges: One of the things that I was really excited about [with SQL Server SQL 2008] was a feature called Resource Governor. What that allows you to do is, as people connect to the server, they are placed into resource pools, and each pool is given a certain amount of resources that it can use. So this really enables consolidation greatly, because one of the great fears when you consolidate is "Well that app is really too busy, especially at certain times of the day, and it's going to step all over the other applications running on that box and create terrible performance for those other applications."
With Resource Governor, you can put a lid on that, if you will, to cap it off for each application, so they can go up to a certain limit, and play nicely with each other.
Finally, is all this talk of virtualization and consolidation eventually just going to be "the way things are done" in the future?
Heiges: I think eventually yes, and as we move forward, SQL Server will play more nicely in that space. [Microsoft is] making changes to it on a regular basis -- in the planning stages of the next version --- to become more "enlightened" as far as virtualization is concerned.
There are going to be lots of great technical talks [at PASS Summit 2009] about virtualization. One of the things I've noticed in webcasts that I've watched on virtualization for SQL Server is that they gloss over something very quickly at the very beginning, and that is that there is a business reason for isolation for that particular database or application in order to be virtualized.
In other words, it's not considered a best practice to virtualize everything; it's when you need isolation, then you can virtualize it.
Check out more preview coverage of PASS Summit 2009.