Microsoft Bringing Windows 10 Hyper-V Containers and PowerShell Dev Perks
Microsoft indicated late last week that it will build Hyper-V containers natively into Windows 10.
The company's April 1 announcement wasn't a joke. Instead, it's yet another perk for developers. It's arriving in conjunction with other tools support, such as Microsoft's coming Linux Bash shell addition to Windows 10.
Windows 10 Hyper-V Containers
Hyper-V containers need to be built into Windows 10 because of the current limitations that developers face.
Per Microsoft's description, the common scenario today is that developers have to run virtual machines to support their development activities. However, if they add containers to that environment, then they sometimes get "problematic cross-machine" issues as a consequence. Containers are technologies that enable light operating system virtualization, or abstraction from hardware, to support applications running on the same host, so they're a good tool for developers.
The addition of native Hyper-V containers in Windows 10 "will be ending this pain for Windows developers," Microsoft's announcement promised.
It's not quite clear when Microsoft will deliver this new capability. Per a report by Mary Jo Foley, a veteran reporter on all things Microsoft, the Hyper-V containers in Windows 10 capability can already be tested by Windows Insider testers using an Enterprise build of Windows 10. However, Hyper-V containers support in Windows 10 wasn't described in today's Windows Insider release.
Although the Hyper-V containers capability will be coming to the Windows 10 client OS, it will enable server OS support capabilities for developers, per Microsoft's announcement. Here's how Microsoft described that nuance:
Since Hyper-V Containers utilize their own instance of the Windows kernel, your container is truly a server container all the way down the kernel. Plus, with the flexibility of Windows container runtimes containers built on Windows 10 can be run on Windows Server 2016 as either Windows Server Containers or Hyper-V Containers.
New PowerShell Module for Docker
Microsoft also explained late last week that it will be deprecating its current PowerShell container module that's seen in its Windows Server 2016 preview builds. This PowerShell container module will get replaced with a new "PowerShell module for Docker." It will be released as open source code, Microsoft's announcement promised.
The reason for this switch is that developers currently cannot "see" Docker containers when using PowerShell. The new module will give developers a choice of using "the Docker CLI, PowerShell or both."
Microsoft's announcement didn't explain this point in great detail, but there have been differences between container handling between PowerShell and Docker, as explained in this Microsoft FAQ. Microsoft tried to address that issue by making the two management interfaces only see the containers that they created.
"Our short term decision was that management interfaces (in this case Docker and PowerShell) only see containers they created -- you create a container with Docker and PowerShell doesn't see it, you create it with PowerShell and Docker doesn't see it," the FAQ explained.
And that approach apparently wasn't optimal for developers.
As with Hyper-V containers for Windows 10, it's not clear when the new PowerShell module for Docker will roll out. It perhaps will be timed with a future Windows Server 2016 preview release.
Kurt Mackie is senior news producer for the 1105 Enterprise Computing Group.