Sunday, January 23, 2011

Things to Think About Before Virtualizing SQL Server’s Underlying OS, or Adopting a Pit Bull – Part One

Note: This is an old article, and while Pit Bulls, in general, have remained largely the same in the meantime (although Gerald in particular has a very distinguished grey face now), SQL Server licensing for virtualized platforms has changed dramatically. For more information on the current licensing requirements see the SQL 2012 Licensing Guide, or consult your Microsoft Rep.

These days, I think a lot about both SQL Server Virtualization and Pit Bulls.  They’re partly on my mind because they‘re two of my favorite things, and partly because both get a lot of unjustified bad press.  I'll admit that in both cases, I can be a little biased.  I may have already tipped my hand by playing the "favorite" card.  You can probably hear the pit bull snoring on my feet from wherever you are, and my constant posts on Virtualization probably don‘t help hide my feelings about virtualizing SQL – so  it’s pretty obvious which side of the debate I’m on.  In my environment, we've gone so far down the virtualization road, and gotten so much out of it, that it's sometimes hard to understand why opportunities for virtualization would be passed up.  However, a couple of  months ago at SQLPASS, I had a bunch of conversations with people who had thought a whole lot about virtualizing SQL and had decided for very good reasons, that it wasn't an appropriate solution.  This got me thinking about…

Things everyone should put thought into before Virtualizing SQL Server’s underlying OS, or adopting a Pit Bull -- a Several Part Series (now with 100% more comics – thanks Lisa!).

1.  Find out if you're even allowed to do it, and if you are, license properly:
Pit Bull:  Some home insurance carriers won't insure your home if you adopt a pit bull.  Some cities have Breed Specific Legislation outlawing pit bull ownership.  If you rent, some landlords don't allow it.  Some states and/or Insurance companies require additional liability insurance if you own a pit bull type dog.  You need to know if any of these apply to you.

Virtualized SQL Server:  Before Virtualing SQL, it's very important to find out what licensing you'll need, whether consolidating onto a virtual platform will be cost effective, and whether your management will be amenable to the idea.   To be allowed unlimited virtual machines on a fully socket licensed box you need to be licensed first for Windows (Datacenter), and second for SQL Server.  For SQL 2005 through 2008 R0, unlimited virtualization requires SQL Server Enterprise socket licensing.  For SQL 2008 R2 and up, Datacenter is required (in some cases, Enterprise is grandfathered under an ELA, but your Microsoft Rep will have to explicitly tell you if you’re grandfathered).   If your virtualization platform is not Hyper-V, you also need to be fully socket licensed for your virtualization platform.    Note:  As of the release of 2012, SQL Server licensing for virtualized platforms has changed dramatically. For more information on the current licensing requirements see the SQL 2012 Licensing Guide, or consult your Microsoft Rep.

While Microsoft fully supports SQL on any virtualization platform that is validated through SVVP, not all application vendors support their application back end being on virtualized SQL -- this is becoming less and less common.  As a side note, Oracle does support virtualizing the operating system on Oracle Enterprise Linux, but no other virtualization platforms are supported.  This post doesn’t address Oracle, but if you’re looking at virtualizing Oracle, read their support statements carefully.

2.  Realize that adoption will take longer
Pit Bull:  I'll call our example pit bull Gerald the Gentleman.  It took Gerald six months to get adopted.  Some great folks at a shelter saw what a special fella he was, and worked with him to find a home.  Everyone who met him agreed he was a great dog, but that didn’t get him adopted.  Gerald started to get discouraged, and he started to look sad (see fig. 1).  The folks at the shelter knew he was too good for the right home to pass up, and that once the right home came along it would be Gerald‘s time to shine.  Now he's a rockstar, he can't help but win over everyone he meets (he had surgery recently and it was touch and go whether the Vet’s office would give him back, given that he is such a charmer).  It took time to find him a home, and he had to win over the people who would take him home, but these days, Gerald's a big goofy social butterfly, and has a dorky dance to show you just how happy he is.  A few years later now, and he's not allowed to do the Gerald dance anymore, he's an old man and threw his back out getting over-enthusiastic to Brit-Pop (why Brit-Pop?  I guess we'll never know).

fig. 1.  Gerald at the Shelter.
Virtualized SQL Server:  I don’t have a nickname for our example SQL Server environment.  In the beginning no-one wanted anything to do with Virtualized SQL, but as Microsoft came out with a support statement for SQL Server on a virtual platform, and application groups were staring down expensive hardware refreshes, it began to look more attractive.  It took that first brave application group who were willing to look at the numbers, look at the testing, performance, and stability data, and jump in.  Virtualized SQL server got a big boost from the success of the first trailblazer application group who were willing to move on to a virtual platform.   Other groups began to consider virtualization as an option to avoid an expensive hardware refresh and to share the cost of licensing.   Those application group customers were happy, and they told other customers until everyone wanted virtualized SQL (and why wouldn’t they?   It‘s quick, it‘s cheap, and it‘s really, really, stable).   It's a long way from the first implementation, to being the default choice.  Establishing a track record or reputation takes time.  Customers (internal or external) naturally want the best for their environments, and all the documentation in the world, isn't as good happy customers and months of uptime stats.  These days SQL on (in our case) VMware, is almost as popular as Gerald the Gentleman.  I haven’t provisioned a physical SQL server in over two years.  Small SQL servers, serving a single application get their own, dedicated, OS and application custodians can schedule downtimes without having to coordinate with the six other small apps that would otherwise live on a single SQL Server.  Speaking of those small SQL servers, we’re getting consolidation ratios of up to 50:1 (which makes the pricing attractive).  Even SQL servers requiring dedicated hardware live on top of a virtualized OS to take advantage of inherent HA, abstraction from the hardware, storage agnosticism, and live storage migration.  It’s hard to look back and imagine how we could have scaled out our environment without virtualizing the SQL Server OS.  It’s been a stunning success  -- full adoption just took time.

No comments:

Post a Comment