When I first heard that Citrix CloudPlatform 4.3 would incorporate native Hyper-V support, what came to mind was a quote from a well-loved children’s book, “Where the Wild Things Are” by Maurice Sendak. “And now,” cried Max, “let the wild rumpus start!”
At the risk of divulging my age, I remember the days when Linux (nay, Unix) developers and Windows developers sat on opposite sides of a Great Divide. Ne’er should the twain platforms meet! Given history, the thought of an open source based cloud orchestration layer that runs on Linux embracing a proprietary hypervisor from Microsoft was intriguing to me. So I reached out to my colleagues at Citrix to learn more.
Citrix CloudPlatform 4.3, releasing today [Citrix CloudPlatform 4.3 is Now Generally Available], introduces support for Microsoft Hyper-V (either stand alone or Microsoft Server 2012 R2 with the Hyper-V role). This rounds out the list of supported virtualization platforms for CloudPlatform--VMware vSphere, KVM, XenServer and now, Microsoft Hyper-V. Since Citrix CloudPlatform is a commercial distribution of Apache CloudStack, the Hyper-V integration was actually performed in the open source community. The high-level specification for the work is on the CloudStack wiki and if you want to peruse the code yourself, the Git repo for the Apache CloudStack project can be found here. The Hyper-V integration leverages the CloudStack agent model, and the agent itself is written in C#. The agent accepts a series of JSON requests and then uses WMI to communicate with the hypervisor. All external storage connections were written to utilize the Windows SMB protocol with Hyper-V. As a Windows developer, I appreciate that the code base is written in what is arguably one of the most popular coding languages for the Microsoft platform (C#), and that the code uses WMI (infrastructure for management data and operations on Windows-based operating systems). All of this should be appealing to the Windows community because it is familiar territory.
But, technology aside, why is support for Hyper-V in CloudPlatform significant? It’s all about market share and delivering choice to customers who want to maintain fidelity with their Windows stack. Over the past few years, Hyper-V has been gaining in popularity. According to a May 2013 article in the Wall Street Journal, Hyper-V is second in terms of market share in server virtualization, surpassed only by VMWare. Since Hyper-V is a feature of Windows Server 2012, the “free” price point for the hypervisor makes it an attractive alternative for not only enterprises, but small companies, companies in emerging markets, and the cloud providers who service these markets. Taking this one step further--the ability to run a Windows workload on a Microsoft hypervisor, in the context of popular cloud orchestration layer (albeit, a Linux-based orchestration layer), is a choice that will appeal to customers. And choice is what keeps the world of technology vibrant.
But what about those Windows admins? Is it really enough for the open source community and Citrix to roll out support for Hyper-V? Is there enough value in the orchestration layer that a Windows admin will sign up to support the Linux infrastructure it takes to run the CloudPlatform management server? Or, will all those Windows admins be left gnashing their teeth? With these remaining questions plaguing me, I turned to the Apache CloudStack developer email list for answers. I was amazed to find an entire “Windowsfication” thread on the list. Although the diction is suspect (“Windowsfication”?), I found that there is spec work in Apache CloudStack 4.4 to support the management server running on Windows. Hmmm. Things are really getting interesting…