Choice is good.
In my 20+ years of experience in the IT industry, I’ve seen few—if any—clients who use a Windows environment exclusively. It’s a heterogeneous world. The reality is, most organizations prefer to choose from a variety of operating systems, software, hardware and hypervisors; depending on what best suits the information needs of the organization. In this day and age, it’s necessary to have a cloud solution flexible enough to support it all.
It’s no surprise that most players in the cloud space are pushing collaborations and creating a new type of partnership ecosystem where multiple vendors’ products complement and support one another. Microsoft is no exception. Microsoft once solely focused on proprietary, closed software. Now it embraces Linux, an open-source operating system, and a significant competitor. For those looking to run Linux on Hyper-V, that’s good news. Not only does it mean you’ll experience better performance, but it’s proof positive that things are changing.
Why Run Linux on Hyper-V?
Linux gained 0.06 points to earn a 2.27 percent total market share in 2017.
A couple of years ago, there were a plethora of online articles about the problems related to running virtual Linux guest systems in a Windows-hosted environment. In fact, Linux’s history with Microsoft is fairly short—up until recently, anything other than Windows was simply not supported on Microsoft’s own hypervisor. Running Linux as a guest operating system on a Hyper-V VM was limited compared to the more advanced things you could do running Windows on Hyper-V, such as time syncing to the VM and copying/pasting between consoles. A Linux-Hyper-V combination was something to avoid, or, at least, a very large hill to climb.
But that has recently changed. Microsoft has begun to realize the value of choice and has steadily developed its support for open source software like Linux.
Today, Microsoft provides full support, and you can manage Linux-based VMs in the same way you manage Windows VMs. That’s great for virtualization admins for a couple of reasons.
- Open-source software is less expensive than commercially licensed software. Most Linux distros (out of the 75 or so currently available) are free, though there is some cost associated with a number of them, usually to access support. The low-cost of open-source software provides a huge benefit for companies that take advantage of it, especially those utilizing scale-out architecture (e.g. those spreading the workload over lots of smaller, less powerful computers).
- The Linux OS uses fewer resources than Windows. With every iteration of Windows server, Microsoft has been progressively improving in this area (it went from 2 gigs in 2008 to 1 gig in 2012 to 300 megs in 2016 with Nano Server), but its footprint still hasn’t reached the stripped-down level of Linux. Windows is a resource-intensive operating system, with a graphical user interface (GUI) piled on top. The OS uses a tremendous amount of resources unnecessarily, which could be reallocated toward your application instead. (Keep in mind that the Windows server was never built as a virtualized platform; Hyper-V is actually underneath the Windows server.) Linux, in comparison, is all command line—no GUI, no overhead. Some level of development skill is necessary to use the command line functionality of Linux, which ultimately gives users greater control over system functions.
Acknowledging the popularity of Linux and supporting it fully was a wise move on Microsoft’s part. It opens up all the virtualized workloads that are now running on Linux to the Hyper-V environment. A huge number of organizations use Linux servers, and with a lot of them also choosing open source solutions for their underlying operating system, having full support in place for Hyper-V will put Microsoft in a good position for future growth.
Hyper-V + Linux Limitations to Be Aware of
While Microsoft has solved a lot of the issues that were previously problematic in running Linux on Hyper-V, nothing is ever perfect. Two shortcomings of the current Linux/Hyper-V VM environment are:
- Microsoft can’t provide the level of support necessary to take full advantage of Linux container technology. Traditionally, a virtual machine runs one workload dedicated to a single application, like a mail server, for example. Containerization allows you to run multiple applications within a single VM, each performing a different function (broken up into what are called containers). The containers share the VM’s resources—kernel, CPU, etc.—and even utilize scheduling mechanisms to do so more efficiently. Essentially, containerization divides up the VMs to host numerous applications at once. Applications can be run anywhere, on any machine. And because you can run numerous containers on a single VM, you’re using far fewer resources.Containerization is very mature on Linux, but not so mature on Windows. Microsoft only started developing its own technology for it in the last two years. For now, if you want to run Linux containers on Hyper-V, you’ll have to use Docker—a software containerization platform that bridges the gap between the two operating systems.
- Microsoft doesn’t support every Linux distro. However, it’s been steadily increasing its support and does provide it for the mainstream flavors, like Red Hat, CentOS, Debian, Oracle, and Ubuntu. If you’re using one of the more obscure distros, you’ll have a tougher time moving your Linux-dependent apps over to Hyper-V.
Until next time, Rob……
Originally published at https://www.5nine.com/linux-on-hyper-v/