A Tale of Two Containers
It's no secret that the subject of containers is gathering steam as the next big thing in the world of enterprise IT. What started primarily as an open source project has made its way into both Microsoft's and VMware's virtualization product roadmaps as well. The real promise of containers comes as much from a security standpoint as it does from an efficiency one.
The concept behind container technology is not a new one. In a nutshell, the idea is to run an application that provides the bare essentials of an operating system which, in turn, allows you to install other applications to run in an isolated way.
From the Docker website, "a container is a stripped-to-basics version of a Linux operating system. An image is software you load into a container." With Microsoft's entry into the container space that sentence now includes the Windows Server operating system as well.
Small, fast and flexible is the main idea behind a container-based approach to building applications. It leverages the concept of microservices where systems build upon many small service components, each doing a single function. With Windows Server 2016 Technical Preview 2, Microsoft released a bare-bones version of their Windows Server operating system called Nano.
Technical Preview 3 brings new features to Nano to include the ability to function as a container host. This approach falls right in line with the Docker vision to deliver a platform with a minimal amount of functionality serving as the hardware host for containers.
Windows Server 2016 TP3
The latest preview release of Windows Server 2016, named TP3 (Technical Preview 3), includes Microsoft's container solution alongside their new minimalistic operating system named Nano. To be clear, Docker also runs on Windows 7 and higher as well. The multi-OS support makes testing Docker and moving between a client machine and a server much easier.
Microsoft announced a partnership with Docker back in late 2014 and began contributing to the open source project almost immediately. Windows Server 2016 is deeply embracing containers with support for both Docker and Hyper-V containers.
Figure 1 shows Microsoft's big picture vision for containers running on Windows Server. A more in-depth discussion along with an introductory video can be found on the MSDN website.
Figure 2 shows at a high level the relationship between Docker containers and the underlying Windows kernel. At the simplest level, a container is really simply another Windows program running in its own memory space with access to all the system resources just like any other application.
This is fundamentally different from the traditional virtualization approach, where an entire operating system plus the application code must run in a single image.
The big takeaway from the flurry of activity surrounding the technical preview releases of Windows Server 2016 is that Microsoft is not ignoring containers and is in fact giving them their full attention. This includes deep integration and support from PowerShell and other remote management tools.
Containers also run on Microsoft Azure, where you can try out the technology without installing anything on a local machine. Microsoft even offers a free trial of Azure to make things even easier.
VMware released the first version of Project Photon in mid-2015 as an open source project hosted on Github. Along with Photon, VMware also released Project Lightwave to provide a lightweight identity and access management solution for containers.
Lightwave offers support for a wide range of identity protocols to include SASL, OAuth, SAML, LDAP v3, Kerberos, X.509, and WS-Trust. Lightwave is also extensible with support for traditional username / password plus PKI and tokens.
Photon uses Docker as the basis for the underlying infrastructure and tooling, as does Microsoft’s offering. The biggest difference here would be the reliance on Linux as the operating system kernel versus Microsoft's use of Windows. Photon is obviously optimized for running in a vSphere environment and will ultimately integrate with the entire vSphere ecosystem.
The most recent release of the Photon OS, Tech Preview 2, comes in a number of flavors for running on a local ESXi host, Amazon Web Services, Google Cloud Engine and Microsoft Azure. This brings a wide variety of options to the table if you prefer a different cloud provider than Microsoft. It also lets you leverage your existing VMware infrastructure should that be something of interest to you or your company.
At the end of the day you have a range of options to get started with containers. You can roll your own by going straight to the Docker sources or use one of the offerings from Microsoft or VMware.
Either way, if you work in the IT industry you need to be getting familiar with containers if you haven't already. Containers are here to stay and will be totally integrated into the next versions of products from the biggest players in the industry.
Paul Ferrill, based in Chelsea, Alabama, has been writing about computers and software for almost 20 years. He has programmed in more languages than he cares to count, but now leans toward Visual Basic and C#.
Read more on "Server Virtualization Spotlight" »