Hyper-V's Biggest Weakness
I was one of the first administrators to put Hyper-V into production, using the Windows Server 2008 version to power a startup hosting company just hours after it was released. I have been one the biggest advocates of Microsoft’s hypervisor from its introduction, where I have stood in front of uninterested and aggressive audiences to evangelize Hyper-V. I was even told once that a team of VMware employees allegedly formed a team to attack me via social media. I have provided feedback to the Hyper-V product group over the years, happily seeing some of my contributions turn into something real. Since those early rough days, it’s been a pleasure to see Hyper-V build on its reliability and performance and evolve into a cloud-scale virtualization platform that’s fit for everyone from the largest cloud hosters and enterprises all the way to small business.
And this is why I need to talk about the elephant in the Microsoft datacenter. Hyper-V management has some real problems, as has been discussed by The Register recently, and has led to some strong feedback on Microsoft’s User Voice site for Windows Server. Some who are familiar with me might have expected a strong response from me on The Register‘s article, but I actually agreed with the writer’s sentiments.
Some might call me a Microsoft fanboy, but they would be wrong. I criticize Microsoft as much as I praise them, where there are some people at Microsoft who dislike me. But I’ve learned through my hobby of photography that constructive criticism is a tool that can be used to improve. This article explains what I think is the biggest weakness of Hyper-V and the Microsoft virtualization, cloud stack.
Hyper-V Management Tools
Let’s look at an important question, what tools do you use to deploy and manage Hyper-V?
Windows Azure Pack (WAPack)
Windows Azure Pack is Microsoft’s preferred cloud solution. I’ve attended several TechEd sessions on WAPack, and I’ve left not learning much other than you need a lot of stuff to make this work, and you need to put a huge investment in learning and deploying with WAPack. Quite honestly, WAPack is only for the largest of customers that need a true cloud that features self-service.
System Center Virtual Machine Manager (SCVMM)
I was once a huge advocate of System Center Virtual Machine Manager (SCVMM), but that started to change with the 2012 version. What I saw was a product that had some great ideas that were poorly implemented. The product is unstable, the UI is a nightmare from the minds of a Symantec designer, and the quarterly update rollups should come with a pharmaceutical-like list of possible side-effects, assuming that they were adequately tested, which they are not. Let’s also not forget that you can only get Microsoft’s answer to vCenter if you cough up an additional $1,323 per host for two VMs or $3,607 per host for unlimited VMs to get the complete licensing bundle of System Center. SCVMM cannot be purchased alone, which is why I no longer work with SCVMM, as no one in my market is buying it and few in the Enterprise Agreement market choose to deploy it.
PowerShell is the Microsoft vision for management. While visions are great, history shows us that visionaries usually get assassinated. I am a big fan of PowerShell, as I use it in all of my deployments, and I automate a lot of change with it. Although PowerShell really is a time saver, I am a realist. The GUI is here to stay — why? Well, we humans are designed for vision. Techies are normally people who visualize things, and their natural UI is a graphical one. If I want to explore, learn, teach, troubleshoot, and so on, then the GUI is where I do it best. For example, when Jeffrey Snover’s demo of expanding a Nano Server cluster failed at Ignite, I probably could have solved that in very little time by using Failover Cluster Manager. Having said that, I also have a very nifty PowerShell script for creating a Hyper-V cluster while I make coffee!
Hyper-V Manager (HVM)
Hyper-V Manager (HVM) is a GUI tool that comes with Windows Server. It allows you to configure most features of core Hyper-V, such as host and VM settings, and virtual switch and virtual fiber channel configuration. If you are running non-clustered Hyper-V hosts, then HVM is your go-to tool when everything else fails. Combined with Event Viewer, you can diagnose those issues, which you might fix using HVM or with PowerShell. The few administration experience changes to HVM since Windows Server 2008 are mostly cosmetic.
Failover Cluster Manager (FCM)
If you want highly-available hosts, then Failover Cluster Manager (FCM) is great for managing your virtual machines, as well as being able to configure and manage clustering. This creates an issue for many newbies to Hyper-V, where they are unsure of whether to use HVM or FCM.
Hyper V’s Core Issues
There are three issues at hand with managing Hyper-V, which include confusion, tool quality, and customer abandonment.
Did you ever see a Microsoft fanboy give VMware a compliment? If there’s one thing that VMware has gotten right, it’s virtualization administration. VMware does virtualization administration through vCenter, which includes an easy-to-use GUI console that provides centralized administration of vSphere hosts, clusters, and virtual machines.
This is where some Microsoft defenders will say that the platform is irrelevant because it’s all about the cloud. If the platform is dead, then don’t come running to the likes of me when you want to know how to fix or troubleshoot your Hyper-V hosts or cluster. The cloud does not function without the hypervisor and the fabric, and it’s folks like me that make that stuff function and work well.
What is Microsoft’s answer to vCenter? The response is most of the solutions listed above, but there are simply too many ‘what ifs’ to consider when managing Hyper-V.
As I said before, I am a huge supporter of Hyper-V and part of the reason is the quality of the hypervisor. I typically experience issues when trying to scale up the management of Hyper-V, where Microsoft advises to deploy SCVMM. Anyone using SCVMM has experienced a strange scenario, where they spend more time trying to figure out and troubleshoot SCVMM than they do in managing Hyper-V! A quality management product should be an enabler, provide feature discoverability, require little effort to use and be available to all markets. Unfortunately, SCVMM, and therefore the Microsoft stack, has failed in this regard.
Ninety nine percent of all European businesses are small-to-medium enterprises with up to €43 million in turnover or balance sheet. I doubt that percentage is much different in North America or the rest of the world. This fact really does make me wonder why Microsoft chose to abandon this market to VMware when they made System Center unaffordable by removing per-product licensing and forced customers into licensing System Center using the SML bundle, doubling the cost of licensing a host.
Don’t get me wrong, I can manage a Hyper-V farm perfectly well using HVM, FCM, and PowerShell. . . but I’m not the typical user of Hyper-V. Most find the mixture confusing, and many of the powerful features are lost to the perceived mystery of PowerShell.
My Wish for Hyper-V in the Future
Let me get this out of the way, nothing will change by the time that Windows Server 2016 is released because there’s simply not enough time. If I had a wish, it would be that the various architects of Windows Server and System Center would sit down and completely re-factor the management of Hyper-V, the underpinning of the Microsoft private and partner-hosted public cloud.
The entire solution starts with SCVMM being deprecated. Maybe a Fabric Manager product is created to replace the role of deploying hosts and servers from System Center. My goal is that all management has a clear delineation between cloud and virtualization. We already know that Azure Stack is bypassing SCVMM using new providers to manage Windows Server 2016 Hyper-V, and this is perfect for cloud fabric and tenancy administration. PowerShell must continue as a way to script and automate deployment and configuration.
My biggest desire is that there is a single GUI for managing Hyper-V, replacing:
- The current Hyper-V Manager
- Failover Cluster Manager
- The virtualization elements of SCVMM
This new Hyper-V Manager, let’s call it HVM 2.0, would be a part of Windows Server and manage everything from networking, storage, and clustering, all the way through to virtual machine deployment. Some of the foundations to make this possible are there in Windows Server 2016 Hyper-V, a new generalized administration model was added in TPv2 to abstract no-HA and HA VMs. HVM 2.0 would be the one tool to rule all Hyper-V hosts. And if one wants a cloud, then Azure Stack is deployed on top or side-by-side with HVM 2.0.
This approach would embody the “One Microsoft” mindset to have one consolidated effort for managing Hyper-V. The easy to understand tool for best managing Hyper-V would be available to all and quality would be more achievable.
I have been and continue to be a huge believer in Hyper-V. In my opinion, and that of others, it has become clear that the management of Hyper-V has become fragmented and has suffered over the years. It is time for architects to revisit the cost and experience of ownership of Hyper-V. If you agree, then please let your voice be heard.