Most titles like that requires some clarification. I would hope that, to anyone that has read even a little of my work, it’s obvious that I’m not anti-Microsoft. The vast majority of technologies that I work with at my regular job are from Microsoft. This blog is focused on a specific Microsoft product, namely Hyper-V. My books and other work are all about Microsoft tech. It’s pretty clear, at least to me, that Microsoft provides my bread and butter. However, I strongly believe that my pragmatism must always be tempered by my realism, and the realist in me insists that regardless of how much I depend on something, or even how much I like something, I must always remain aware of its flaws. I think that in order to be truly useful and trustworthy in my line of work, I must be able to take an unflinching look at any product and be able to identify its strengths and weaknesses and make a neutral assessment.
So, in that light, there are three things I’m not going to do in this post. The first thing is that I’m not going to make or provide that complete neutral assessment. A blog article really isn’t the proper venue for it for a number of reasons, one being that it would be much too long to consume in a single sitting.
Second, I’m not going to nitpick Hyper-V over minor issues. If you want to see someone arbitrarily select one or two little features that Hyper-V doesn’t have or doesn’t implement in a particular fashion and inflate them into a full-blown temper-tantrum, you won’t have to look far, but you will have to look elsewhere. I understand that Hyper-V doesn’t have every possible feature, but I’m also aware that Microsoft’s normal approach is to start by building products that match target customer needs in the 80th or 90th percentile and then fill in the blanks over time. This article also will not argue over the merits of such an approach.
Third, I’m not going to rehash the discussion over the management tools. I think that’s been stated loud and clear, and if Microsoft hasn’t heard us by now then they’re just not going to.
Instead, I’m going to talk about the larger things I believe that Microsoft should truly be doing differently with Hyper-V. In simple terms, these mainly boil down to backward compatibility.
It feels strange to criticize Microsoft over this. While the anti-Microsoft crowd usually claims that Microsoft only ascended to greatness through clever marketing and cutthroat business tactics, that’s really not true. Regardless of any influence those things had, how Microsoft managed to really draw people into its ecosphere was through its novel idea of backward compatibility. Before Microsoft’s rise to prominence, any sort of system upgrade usually involved a complete replacement of everything. Today’s figurative term “forklift upgrade” used to be very much a literal reality. When you wanted to get the latest operating system and the latest line-of-business application, you took out everything, hardware and all, and brought in replacements. It was Microsoft that normalized the upgrade process of inserting floppy disk #1 and typing “install.exe” at an A: prompt. Even though the whole world learned (sometimes very painfully) that Microsoft’s upgrade process was a risky gamble, we at least got to keep our hardware and usually our software too (except Lotus). In the days when any computer system cost at least thousands of dollars (and don’t forget that inflation made those thousand dollars quite different from today’s thousand dollars), the ability to update your software while keeping your hardware was a complete game-changer.
Fortunately for everyone, Microsoft kept it up. Applications that ran under DOS 2.1 would run under DOS 5.0 (except Lotus). Documents from the first version of Word for Windows could still be opened when the name was shortened to simply “Word”. 16-bit applications written for Windows 3.1 got their own little backward-compatibility universe so they would run in the 32-bit environment of Windows 95. And 98. And ME. And, about as often as not, XP.
Enter Hyper-V
In Hyper-V Server 2012 R2, the oldest version of Windows Server that’s supported to run as a guest is Windows Server 2003 with Service Pack 2. Now, I expect some of you to say, “But Eric, don’t you know that Windows Server 2003 with Service Pack 2 was on its way out when 2012 R2 released and is now officially out of support?” Yes, I do know that. Furthermore, I don’t really expect anyone at Microsoft Product Support Services to burn any time trying to help a customer get an older OS working under Hyper-V. But, I don’t think it’s unreasonable for Microsoft to throw a bone to Windows 2000 Server and Windows NT 4.0 Server administrators either. Those poor admins already have enough problems, given that they are still being forced to support Windows 2000 Server and Windows NT 4.0. Nothing in those operating systems has changed recently, so I suspect that keeping the Integration Services code alive for them probably wouldn’t be that much of a challenge. Here’s a thought: The Integration Components for Linux are open source, why not open source the Integration Services for Windows? Let someone else whip up support for Windows NT 4.0 under Hyper-V; then the community can say that Hyper-V will run it and Microsoft won’t have to support it. Win-win!
So that’s backward compatibility, but what about forward compatibility? The newest version of Windows Server that’s supported by Hyper-V in its 2008 R2 offering is 2012. You can read more about virtual machines and operating systems in this TechNet article. While I can understand why Microsoft is hesitant to add operating systems that are past their support lifecycles into their supported guest list in the newer hypervisor, the idea of not supporting newer guests in still-supported versions of the hypervisor doesn’t sit as well with me. The reasoning why is pretty much the same as for the previous issue.
The Real Pace of Business
Out there in the world is a common freight carrier that you have probably heard of. To protect the somewhat less than innocent, I won’t name any names, but their acronym starts with a “U”, end with an “S”, and has a “P” somewhere in the middle. Now, this carrier actually trademarked a slogan that claimed that they move “at the speed of business” (source). It’s clever and the commercials were catchy, but it’s really not speaking to any sort of reality. Business transactions often move very quickly, but business itself? Businesses typically move like a herd of turtles stampeding through a vat of peanut butter. The bigger they are, the slower they move. Business timetables are almost always in months and very commonly in years, and that’s when everything is internal. When one business depends upon another, or multiple others, or government entities, the timetables get even longer. Have you ever bought a server for a brand new project and had to renew its warranty before the software was installed? I have. This is why the issues I raise are so important.
If you got on the Internet just once at any point in the past two years, you were likely exposed to at least a half a dozen articles about the end-of-life of Windows XP and/or Windows Server 2003 and how you would personally be responsible for the downfall of humanity and/or cosmically-induced elimination of various cute, furry animals one-at-a-time if you didn’t immediately place all your equipment that had ever been within twelve miles of a Windows XP/WS 2003 disk into an industrial oven and set it to “Solar Flare”. Much like the hoopla over Y2K, none of these doomsday scenarios occurred, but their authors did have an important basic point.
Unfortunately, even though the core reasons to stop using out-of-support operating systems are definitely legitimate, not everyone has the choice. Hopefully, no one has to run XP in large quantities, but there are likely hundreds of thousands, maybe even millions of companies that are being forced to continue running at least one installation of XP due to some particular vendor restraint. It’s not rare to find server applications running on Windows desktop operating systems, especially in small environments.
It’s not just Windows XP. Some vendors insist on some insanely outdated versions of Windows for their software. I personally know of two vendors that require NT 4.0 and one that requires Windows 98. Fortunately, these are for server applications and each of their client organizations only needs one instance. Just from what I’ve read from others, I know that these vendors aren’t alone (although they are, happily, fairly rare). I’ve heard horror stories about how a vendor is purchased by a competitor and then their entire product line is immediately killed off with no upgrade or migration path available. Clients aren’t certain what to do or where to turn for help, so they leave things as-is far beyond what is reasonable. I know that the common refrain from pundits is, “go to a competitor!”, but in the real world, this isn’t always an option. Sometimes, there are no competitors. Sometimes, the “best in the industry” is only the best because everyone else in their industry is worse. Other times, the client company doesn’t have the pull. Sometimes, the utter lack of a migration path means that the pain of change exceeds the pain of staying the same.
And then, there’s just the straight fact that businesses don’t really move all that fast. I recall reading most of those “get off XP now!” articles and their authors almost always blamed stupid and/or lazy IT people for not getting off of XP. It must be nice to have never gone before an executive board with an airtight case that correctly concluded, “We can’t afford not to do this,” and still walked away empty-handed (but then, there are also reasons why some people write about IT for a living instead of doing IT for a living). It makes me wonder what sort of experiences these folks have had throughout their careers. Here’s a few things I learned during mine:
- Sometimes the organization just really doesn’t have any money to spend and they make very hard choices as a result. If yours is in that place and they haven’t let you go, then maybe you should be careful with your criticisms.
- Sometimes the people that try to explain why it’s necessary to perform an upgrade or system replacement aren’t up to the challenge. I know that I’ve been successful in my career through a combination of technical ability and diplomatic skill. Some highly technical people can’t interface well with the living, and as such, they fail at things that others might consider a no-brainer.
- There are some people out there that absolutely no one can explain anything to, even the obvious. Sometimes, those people run their own businesses.
- Sometimes, corporate politics are insurmountable. It’s not strange to find institutions where executive and managerial bonuses are negatively impacted by planned upgrade expenditures but are not impacted by emergency expenditures. The less scrupulous of those executives and managers will happily wait for computer systems to fail and then replace them piecemeal at greater expense to the overall organization.
My point is, ridiculously self-centered and woefully wrong-headed decisions are often completely outside the control of IT. We are the ones that have to make those bad things work. We’re accustomed to Microsoft helping us out.
Here’s where I’m really going with this. Let’s say you’re one of those poor IT guys stuck with one or more of these systems that you can’t upgrade for whatever reason. You know that the hardware is going to fail on you, you just don’t know when. This is one of those problems where virtualization is the obvious solution. First, you no longer have to worry about the hardware dying out from under you. Second, you can easily isolate that virtual machine so that its out-of-date security status is no longer a direct threat to the rest of your network. The only thing you should have to worry about is the questionable outcome of a physical-to-virtual conversion. If Microsoft would just open the door for these old versions, that would actually make it easier for organizations to move forward because they could replace and/or upgrade everything else without making major sacrifices over old systems (or heading to third parties that will handle their problem). Even better, it would be by providing the service that made Microsoft famous: backward compatibility.
Backward Compatibility by Forward Compatibility
So far, I’ve focused on new hosts supporting old operating systems. However, I think support for new operating systems is important as well. We’ve already come to the realization that businesses don’t move forward quickly. But, when an IT shop has a hypervisor at its disposal, sometimes it can move some things forward without needing the blessing of the larger organization. I’m not really going to expand on that due to the risk of opening a Pandora’s box that I really want no part of. We’ll just say that I only suggest that every IT department engage in the most highly ethical behavior and leave it at that.
So, from a purely technical standpoint, what I mean is that IT may not be able to get funding or support to upgrade a hypervisor to the latest version, but they might be able to create a virtual machine running the latest and greatest server operating system. In that case, they might find that Microsoft is the barrier. Let’s say your host is 2008 R2 (WS or HV, doesn’t matter). Mainstream support for that product just recently ended — well after Windows Server 2012 R2 was released. Extended support doesn’t end until 2020. So, why isn’t Windows Server 2012 R2 a supported guest of Hyper-V R2? Again, providing this support would actually make it easier for organizations to move forward. We all Most of us know that IT can rarely get anything approved without being able to demonstrate a fully working model and that we often have to provide that working model without spending money. Showing off the features of Windows Server 2012 R2 by standing up an evaluation copy on the Windows Server 2008 R2 system they won’t give you money to upgrade just might be that working model. But, if you can’t build it because Microsoft won’t support it, then there’s no model, there’s no demonstration, and there’s no funding.
I can hear some of you thinking, “Just because Microsoft doesn’t support it doesn’t mean that it doesn’t work.” Yep, I know that. And at a great many places, you can do unsupported things and get away with it. But, in a great many other places, you cannot.
I implore Microsoft to return to its roots. Make Hyper-V the shining beacon of backward (and forward!) compatibility.
