This article is more than 1 year old
Crossing the platforms: The Register checks in with Canonical's WSL alternative – Multipass
Lightweight Linux VMs for all. So long as Ubuntu is your thing
Canonical is preparing some festive fun for developers with a major release of its lightweight VM manager, Multipass.
We took a look at the application at the start of the year, and came away impressed with Multipass as an alternative to the Windows Subsystem for Linux (WSL) under Windows 10 for those seeking some Linux command line goodness without having to go down the full Windows 10 Hyper-V route.
Of course, back then WSL was little more than a compatibility layer. The upcoming WSL2 (which will be part of 20H1, Windows 10 2004 or whatever codename Microsoft has picked today) will change the landscape dramatically since it will include that all important Linux kernel. Which, of course, raises the question of what exactly the point is of Multipass in this brave new world?
With the impending 1.0 release, The Register had a chat with Michal Sawicz, engineering manager at Canonical, about the platform and what the future might hold.
For those unfamiliar, Multipass is an app that is callable from the command line (we used PowerShell in our testing) or GUI which will download, launch and manage instances of Ubuntu. The 16.04 LTS and 18.04 LTS images are both there for download, with the latter, Bionic Beaver, being the default. Other images are apparently available, although a
multipass find only showed the LTS editions, which is no bad thing.
The addition of the
-cloud-init option is the app's party piece since it permits the Multipass VMs to be provisioned using YAML, just like VMs in the cloud. Creating Ubuntu instances in this way gives developers a quick and easy way to provision and test code locally.
Multipass is also cross platform. While Windows users need Hyper-V or VirtualBox, Linux fans get support through KVM, and Mac-using developers require HyperKit (or VirtualBox again). Multipass will also keep its images up to date.
However, for Windows 10 users, the shadow of WSL2 looms large, and with Canonical doubling down in its support for Microsoft's Linux love-in with the hiring of Pengwin co-creator Hayden Barnes and sponsoring of the upcoming WSLConf at Microsoft's Seattle headquarters, is there a future for Multipass?
Unsurprisingly, Sawicz reckons there is, and told us "WSL2 and Multipass serve somewhat different purposes."
While WSL2 famously tries to share as much as it can between host and container, "Multipass however strives for higher isolation, mimicking the cloud approach" although Sawicz did admit that there was some cross platform pollination, telling us the Multipass gang worked "closely" with the WSL team.
Once that version 1.0 milestone is under its belt, the gang plans to add some extra use cases to the tool, including IDE integration ("click a button to get a build of your code going in a Multipass instance" explained Sawicz) as well as enabling native experiences on Windows and macOS (such as microk8s.)
Of course, developer darling Visual Studio Code features the Remote Code Development extension, which permits devs to use a container, remote machine or, yes, WSL, as a full development environment. There would certainly be scope to add a Multipass extension replete with YAML to create local instances that look a lot like production.
With three engineers on the project as well as Sawicz, the Multipass team has been able to achieve a surprising amount, not least the addition of VirtualBox support. Sawicz told The Register that he expected some growth after that version one, which already included community contributions.
Canonical boss Mark Shuttleworth was quick to extol the virtues of the tech during a chat with The Register at the recent Kubecon event. However, he was equally enthused about the possibilities afforded by WSL2.
It's fair to say that Canonical is hedging its bets as far as Linux on Microsoft platforms is concerned. Developers, on the other hand, continue to be spoiled for choice. And Multipass, unlike WSL2, is cross-platform. ®