BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Container technology continues to grow as developers are embracing this new technology that is starting to find a place in the data center. Containers are not micro-operating systems but pieces of the OS needed to run an application. They are thinner than Java and come in a lot fewer versions.
Previously Java and Docker have focused on other platforms, mostly because Microsoft controlled the Windows and .Net platform.
Microsoft, with Windows Server 2008, released Windows Server Core which was a full operating system without the GUI. While this was not a container, it did show that you don't need the entire OS to run core services or applications. Windows Server Core is included in Windows Server 2012 and the upcoming Windows Server 2016, however it will be Microsoft's new Nano Server that may be a game changer.
Nano Server is not simply a container platform, nor is it a lightweight version of Windows Server Core. Nano Server, while based on the Microsoft server platform, has much of the interface, application stack and traditional .Net framework removed. The Nano Server becomes a lightweight host for Hyper-V VMs or applications designed to run on the .Net Core framework. The ideal target with the Nano Server is for infrastructure of native cloud-based applications. The small footprint in disk space and code help to make the Nano Server a platform that should require little patching or maintenance -- making it ideal for cloud-based environments.
The Nano Server isn't Microsoft starting over -- but it is pretty close. Without the traditional .Net Framework, remote management is needed. Even many of the traditional hooks that allow servers with graphical user interfaces to perform remote management are missing. This OS is designed for remote management with scripting automation through code rather than the traditional OS management tools. Nano Server is Microsoft's entry into the microservices world. Similar to what microsegmentation is doing for software-defined networking, microservices have the ability to shake up how we work with applications today.
Today, Windows Server is a Swiss army knife that has the ability to run millions of different applications, and in that is where the problem lies. The base OS continues to grow in size and complexity. The overhead of a traditional Windows Server OS providing a single core service is staggering. Simple features, such as DNS or DHCP, came with a 20+ GBs GUI server installation. Windows Server Core helped address this issue, and now Nano Server is the next step in the evolution.
It is very unlikely that Nano Server will replace the traditional server OS overnight. Microsoft is still working on tools for the administrator to support this new Nano Server. Windows Server Core 2008 suffered slow deployment due to the lack of remote tools for the administrator, a problem that was addressed in Windows Server 2012. The other challenge will be developing applications for the Nano Server. Since these containers do not run a full installation of the .Net Framework, it will require developers to redesign at least part of their applications to take advantage of the .Net core framework. While this may seem troubling, streamlining the server to focus only on exactly what it needs to do is ideal in today's world where a system administrator's time is so heavily focused on administration duties, such as patching and security hardening.
The other important functions for the Nano Server are in Hyper-V and scale-out file server roles. Both of these roles fit very well within the Azure and cloud-based strategy that Microsoft is moving forward with. The Hyper-V role should be of particular interest to many administrators looking to move forward with Hyper-V as an alternative to VMware. While Nano Server is still not as streamlined as VMware's ESXi, it is a great step in the right direction and an improvement over Windows Server Core. However, the unique thing about Nano Server is it can run on bare metal, as a virtual machine or even as a container, something VMware's ESXi cannot do, giving the developer and administrator the ultimate flexibility.
Microsoft's Nano Server is a unique departure for Microsoft and, according to the company, the future of the Windows Server platform. Linux has a head start with the microservices journey but Microsoft has shown an uncanny ability to turn on a dime when needed. If Microsoft can find the balancing point between the agile, quick, streamlined container platform, that is still versatile enough to support the gigantic Windows developer community all while allowing balanced administration, the Nano Server could be a game changer. While this all sounds like a lot to balance, (and it is) let's not forget the improvements Microsoft made with Server Core from Windows Server 2008 to Windows Server 2012. The changes from Windows Server Core 2008 to 2012 put Windows Server Core 2012 into the enterprise with the proper balance between performance, versatility and managerial features. Nano Server looks to be that evolutionary and revolutionary step for Windows Server.
How Windows Server containers affect applications
DH2i unveils Windows Server container management
Get up to speed on PowerShell Desired State Configuration