David and Goliath

I, like most in the modern IT industry, have spent most of my working life installing, configuring, and maintaining Microsoft products, ranging from Active Directory and Exchange through Terminal Services and MSSQL Server. Most of these products have had extra layers of third-party software on top (Citrix MetaFrame, anyone?) or blended in to make them work better. In many cases, they were not a best-in-class product, although this has improved over time. Apache far outstrips IIS, and vSphere is still a good way ahead of Hyper-V, feature-wise. The gaps are closing, though, and Microsoft’s product set is maturing. Microsoft’s products often have been the more expensive option. There are numerous UNIX mail servers that outperform Exchange for raw message transport functions. However, there has always been one killer feature, one tie that has bound all of the systems together, making the Microsoft option the only option.

For me, this has been integration. It’s difficult to sell UNIX mail servers to management when Exchange merges so well with Outlook and the rest of Office, when it brings with it seamless single sign-on through Active Directory. It’s impossible to sell OpenLDAP when Active Directory brings Group Policy and a whole new level of endpoint management. It’s difficult to sell Apache when IIS comes as a standard part of a Windows Server OS. Exchange was usually the crux point. The calendaring and collaboration functions, and the simple kudos of the name (senior management have heard of Exchange, never of Sendmail or Postfix), got Exchange into the business. Exchange requires Active Directory, and with Active Directory comes a set of tools for managing the whole server estate. All of a sudden, Microsoft is as embedded as Japanese Knotweed.

I, like many others, have had a love/hate relationship with Microsoft. As much as these tools gave me, I always longed for the freer route, for open-source tools that were more powerful. I’ve put Postfix and Spam Assassin in front of Exchange deployments to deal with the spam problems that Exchange struggles to handle. My monitoring tools and systems have always been on Linux, and I had Linux as my desktop for years at a time in some places. However, Microsoft’s product set has remained stubbornly central to IT functions. A credit to the engineers at Microsoft: despite my best efforts, I’ve never managed to budge it. The beast is entrenched.

More recently, Microsoft has embraced the cloud mentality wholeheartedly. Azure is a truly stunning piece of engineering, and when combined with PowerShell, it is a brilliant base for public cloud-based systems. Office 365 has taken Exchange out to the cloud, and this is where interesting changes start to kick in. Removing Exchange from the internal systems of small businesses removes the crux point I mentioned above. Yes, Microsoft is so well entrenched in the market now that its desktop OS is the de facto standard, so Active Directory is still the obvious first choice for management. However, with Exchange removed, the need point for Microsoft servers goes away for many small businesses. Office 365 works just as well from Linux or Mac OS as it does from Windows. On the Azure side, MS recently began to support Linux servers. This is an obvious step to keep up with Google’s and Amazon’s platforms.

Two things happened in recent weeks that surprised me, but were inevitable in hindsight. The first was the announcement of the plan to bring MSSQL to Linux. This is the first time in my memory that Microsoft has supported its server software on another OS. In some ways, the move makes logical sense: putting MSSQL on Linux on Azure makes for smaller, more efficient VMs that are easier to manage on a web farm where the front end is running Apache on Linux. When your web services don’t need to be part of your corporate internal identity structure, because they are aimed at external customers, this separation from Active Directory makes sense. This allows Microsoft to attack the PostgreSQL and MySQL market. But is this a slippery slope to small businesses taking Linux more seriously and thinking twice before choosing Microsoft?

The second announcement is Microsoft’s partnership with Ubuntu to bring Bash to Windows 10. This one had headlines of “Hell Freezes Over.” I can see the logic behind this move. Most, if not all, of the in-production orchestration tool sets, such as Puppet, Chef, Ansible, and SALT, are Linux based and designed to run on Bash. Bringing Bash to Windows makes administering Windows servers in these desired state systems one step easier. This is the sort of move administrators like me have dreamed of. On the heels of the MSSQL announcement and the Bash moves, it looks like part of an overall strategy toward platform agnosticism, but it still feels odd. Microsoft’s moves into Azure and Office 365 pull it away from the server OS market. These last two steps reinforce that. Is this the first baby step away from the desktop?