Feb 232015

It’s not often that you’ll see me write a lengthy book review. Most book reviews are fluff telling you to buy or not to buy a book, but don’t contain a lot of the “why” or “why not” to do so. But, every once in a while a book comes along that just strikes in all the right ways, especially if its topic is in a core focus of yours. The book “Virtualizing SQL Server with VMware: Doing IT Right” by VMware Press and authored by Michael Corey, Jeff Szastak, and Michael Webster (three of the brightest folks that I personally know), is a book that I feel every VMware administrator (and any other vendor’s hypervisor administrator as well) should purchase and read twice, and I’ll tell you why in this review.

First and foremost, virtualizing business critical applications, in this case Microsoft SQL Server, is a challenge. The process is nowhere as easy as migrating a file server or preproduction sandbox. Processes and practices that may work well for some applications can cause serious heartburn, performance problems, and worse – instability – when virtualizing SQL Servers. VM administrators need to be aware of the differences, and this book delivers this knowledge and experience in droves.

This book is targeted at VMware administrators and not directly to SQL Server DBAs. Many technical references are made to infrastructure components that most DBAs have had no exposure to (and arguably should not have to worry about unless they are a nerd like me). However, DBAs should still read the book to get a small taste of what it takes to architect and manage the virtualized environment underneath their data. The knowledge of these layers is guaranteed to make them better DBAs, and will help both organizational silos speak the same language during architecture and triage situations.

The author’s collective experience in managing these systems is quite apparent as you progress through the book. Many how-to’s and gotchya’s are described in detail. All are scenarios that I encounter frequently during my normal day in consulting around this topic. The advice presented is well thought out and shows the depth of the authors’ experience in the field.

The best part of the book is that the authors spend a great deal of time educating VMware administrators on what SQL Server is and how it uses the infrastructure underneath it as it stores and retrieves data to fulfill its requests. The authors’ style is very casual and informative, and makes each concept and topic very easy to understand and digest. For example, DBAs understand SQL Server high availability and disaster recovery. So do VM administrators. But, the two strategies are usually very different, and one group does not know the capabilities of the other technologies and how they contrast or complement each other. When you put them together, what works for one might not work for the other, and the arguments generally ensue. The authors educate the VMware administrator on how SQL Server handles high availability and disaster recovery, and suggests VMware-based processes and practices that complement and improve what SQL Server handles well, all while leveraging the right technology for each layer of the stack.

I feel that the real “meat” of the book comes in two sections – chapters five to nine and ten to eleven. The first group describes each layer of the virtualized infrastructure and breaks down architectural, performance, and configuration tips on why (and not just how) specific recommendations and architectural decisions are usually best for SQL Server on VMware.

The last two chapters do a fantastic job describing the end-to-end baselining and benchmarking process that are so frequently absent in most environments, both physical and virtual. This process helps eliminate the “it’s slow” mentality that comes from subjectivity, and replaces it with a series of objective processes for putting performance metrics to each of these layers. These metrics are key for both helping to identify the root layer of performance issues if they arise, and also eliminates the finger pointing that accompanies the “it’s your fault until you can prove otherwise” attitudes that are found in any organization.

No tech book is without its flaws, and a handful of items caught my attention while reading and re-reading this book.

The authors make a claim that CPU and memory hot-add should be enabled. I personally feel that it’s not quite as black-and-white as this. Hot-add of resources in a guest is a great feature, but hot-add also disabled virtual NUMA presentation to the VM. Correctly-sized virtual NUMA and SQL Server can improve performance, and hot-add of resources expressly disables virtual NUMA. I’ve implemented both, based on need, and I would like to see a broader discussion on the pros and cons of this setting.

Next comes the recommendation for one dedicated physical CPU core for each virtual CPU core. In my experience, it’s a great place to start, but it’s almost always too conservative and ends up “wasting” CPU time that you pay for in the form of SQL Server core-based licensing. I’d like to see this conversation include a discussion of using CPU Ready and Co-Stop times as a more objective metric for CPU overcommitment.

The jump straight into the discussion around hyper-converged architectures, in this case Nutanix, felt abrupt. Preceding this chapter should have been a short chapter comparing and contrasting the differences between rack servers, blade servers, and hyper-converged architectures. A solid discussion of how SQL Server is architected differently on each of these platforms, and the implications on performance, availability, and scalability would be a welcomed segue into the discussion on the emerging field of hyper-converged environments.

As with any first edition book, a handful of technical inaccuracies and academic practices are present, but I feel that none detract from the true mission of the book – to educate VMware administrators on virtualizing SQL Server. Items such as references for a SQL Server data file per vCPU core or data file placement sound good in theory but in practice can be tough to manage as an environment scales. I feel confident that the authors will correct the items that have been pointed out by myself and others in the next version of the book.

Some of the new features included in the recent launch of vSphere 6.0, well after the release of this book, changes some of the recommendations made in the book. I know that this release will contribute to some changes in the next version of the book as well.

To summarize, I recommend this book without hesitation to any VMware administrator who has, or needs to, virtualized business critical applications – and not just SQL Server. I give it 4.5 out of 5 stars, and look forward to seeing more from these authors in the future!



Feb 182015

vExpert-2015-BadgeVMware has announced the list of 2015 recipients of the vExpert award, and I am humbled and honored to have been selected to be part of this group for the third year in a row. This year the list has grown to 1,039 people!

The VMware vExpert community is quite strong and is a great example of how a community recognition program can be executed. Microsoft’s MVP program is also a great program to recognize community involvement, and I’m very proud to be an MVP as well.

Special thanks go to Corey Romero for all of his great work in managing this wild group of technologists!

If you are interested in applying to the program, the application for the second half of the year is open. If you know someone who you feel should be nominated for this award, recommend someone here.

Congrats to all of the new 2015 vExperts and to those who were renewed! I look forward to constantly keeping up with your fantastic contributions to the community.

Jan 302015

I am pleased to announce that I have an upcoming preconference training session on Friday, February 27th, the Friday before SQL Saturday Phoenix.

Virtualization for SQL Server DBAs

Session Information: Microsoft MVP, VMware vExpert, and SQL Server performance expert David Klee leads this full-day introduction to enabling and managing a virtualized SQL Server environment. The focus of the course is to help those new to virtualization and/or infrastructure concepts to become familiar with the concept and purposes of virtualization and how it can benefit them as data professionals. Participants will gain exposure to all layers of virtualization underneath SQL Server, from storage to hypervisor to the SQL Server instance, and will learn how to construct the entire stack with the focus on SQL Server performance.

Upon completion of this course, attendees will be able to:

  • Understand key virtualization and cloud concepts
  • Determine the optimal infrastructure configuration for best performance
  • Construct a SQL Server virtual machine template with best practices for agility and performance
  • Understand how and what stack metrics to benchmark and baseline to ensure proper objective performance measurement
  • Identify and remediate common virtualized SQL Server performance killers
  • Understand proper virtualized capacity management techniques for long term management

Attendees with the following experiences will benefit the most from this course:

  • Basic familiarity with the core components of a server
  • SQL Server installation and configuration
  • Exposure to SQL Server performance metric measurement and identification

A working set of the screens and configuration settings referenced in the session, together with the reference slides and documentation, will be provided to attendees, for prospective reference in working with virtualized SQL Server in their own environments.

Seats are limited, so register today for this great event!

If this topic is not too intriguing to you, check out the other precons! This is world-class training at a low price!

Architecting the Modern Data Warehouse – Adam Jorgensen

SQL Internals Deep Dive – Bradley Ball

Tune Like a Guru – Kevin Boles

SQL Saturday Phoenix

Phoenix’s next SQL Saturday is Saturday, February 28th, at the Black Canyon Conference Center, 9440 North 25th Avenue, Phoenix AZ. This event is huge! They have 11 full tracks covering topics from application development to business intelligence to DBA and development topics. I’m fortunate enough to have a session at 10:45am in the Boulder Room entitled “Achieving Peak Performance from your Virtual SQL Servers“, and will cover a high level overview of some of the topics that I go in-depth on during the precon. If you can’t make the precon, come see me during this morning session and I’ll gladly spend as much time as possible answering any questions that you might have about SQL Server virtualization!

Register today for this event, as seats are limited and I know it is going to fill up soon! I can’t wait to see you all there!

Jan 212015

vmug_evalexperienceThe VMware Users Group VMUG just announced a partnership with VMware, called the EVALExperience, to offer VMware technology pre-production 365-day licenses as part of the VMUG yearly subscription! It’s now included in the $200 annual VMUG Advantage Subscription fee! WOW!

evalexperiencevmwareYour tech lab can now include with the following products:

This is a huge announcement. Tech labs are my favorite method to keep up with the dramatically changing technology for as long as I have been in the industry, and fiddling around with constantly-expiring license keys is sometimes more of a hassle than it is worth. Microsoft’s MSDN has helped a lot over the years, and I am pleased to see VMware and VMUG now offering a similar offering.

You can get the hardware for such a lab for a lot less than you’d think! Check out my home lab page for more details.

If you are not already a VMUG subscriber, this should be the final incentive to get out the wallet and sign up!

Jan 142015

VMware has recently announced an online event for February 2nd that you don’t want to miss! Whatever it is, it’s going to be big! It also kicks off the 28 days of February event, whatever that is. You don’t want to miss this!vSphere6-event

Date: February 2, 2015
Time: 1:00 – 2:00 PM PST / 4:00 – 5:00 PM EST

Date: February 3, 2015
Time: 9:00 – 10:00 AM GMT / 10:00 – 11:00 AM CET

ASIA PACIFIC – ASEAN, Western Australia, Hong Kong
Date: February 5, 2015
Time: 10:00 – 11:00 AM SGT

ASIA PACIFIC – Sydney, Australia
Date: February 5, 2015
Time: 10:00 – 11:00 AM AEDT

ASIA PACIFIC – Mumbai, India
Date: February 5, 2015
Time: 10:30 – 11:30 AM IST

Register here!

Nov 282014

PASS_VC_VirtualizationOn December 10 at 11am CST I will be presenting the next PASS Virtualization Virtual Chapter monthly webinar, where you can ask me any of the burning questions about virtualized SQL Server that you’ve been just itching to ask! It’s an open questions and answers session. Please submit your questions to Tom Norman, chapter lead, at armordba@gmail.com, and we’ll be sure to get them answered for you! RSVP here for this free webinar, and I’ll see you all then!