Take Five With Tom Fenton
When You Shouldn't Use Windows Subsystem for Linux
Just because you have a hammer doesn't mean everything is a nail.
In my column last month, I discussed reasons why you should use Windows Subsystem for Linux (WSL), which allows you to run Linux distributions on Windows 10 and Windows 2016 systems. But just because you can do something doesn't necessarily mean that you should. While my previous column was focused on outlining the benefits of WSL, this month I take an opposite look and outline five reasons for not running WSL.
Microsoft did not design or build WSL for production workloads. If your application or workflow needs to meet specific service-level agreements, don't run it on WSL.
Running a virtual machine (VM) can be more efficient. WSL is great tool, but if you need all the power and features of a Linux system, it would be better to run your Linux instance on a VM instead. Many companies offer free versions of type 2 hypervisors that run great on Windows systems. If you want to really get the full Linux experience, run Linux as a VM on VMware Player, Oracle VirtualBox, Microsoft Hyper-V or another hypervisor.
WSL lacks a reliable graphical interface. In another article, I showed you how to configure WSL to work with a graphics subsystem. While attempting to do so, I could get some graphic applications to work, but there were others I couldn't. Because Microsoft didn't design WSL to interact with a graphics subsystem, if you need a reliable graphical interface, don't run it on WSL.
Networking on WSL isn't fully reliable. WSL allows you to communicate with a network, but it may not be the best way to do so as it needs to pass through a few layers in order to do work. Early versions of WSL had several limitations with what network commands would work with it. Despite the fact that WSL has matured at an incredible rate, Windows and the Linux networking stack has been refined over dozens of years, so I feel that networking on WSL still has a while to go before it becomes fully reliable.
WSL is free, but not necessarily cost-effect. I have a hunch that many people will torture WSL far beyond what it was designed for, and will spend far more resources than they otherwise would have by using alternative paid solutions. Using the right tool for the job is always the best approach to take when solving a problem.
In sum, just because you have a hammer doesn't mean everything is a nail. WSL is a great tool to have in your toolbox, and is convenient to use for non-production workloads and quick-and-dirty tasks, but it wasn't designed for production workloads; it's best to use it for what it was designed for, not for what you can tweak it to do.
Tom Fenton works in VMware's Education department as a Senior Course Developer. He has a wealth of hands-on IT experience gained over the past 20 years in a variety of technologies, with the past 10 years focused on virtualization and storage. Before re-joining VMware, Tom was a Senior Validation Engineer with The Taneja Group, were he headed their Validation Service Lab and was instrumental in starting up its vSphere Virtual Volumes practice. He's on Twitter @vDoppler.