On September 26, 2016, Microsoft announced the general availability of Windows Server 2016. We already have a taste of what the user interface looks like from Windows 10. In actuality, there are a few other features that Windows 10 picked up first, such as PowerShell 5.0 and the latest version of Hyper-V, that are also part of Windows Server 2016. Many other heavy-hitting server-only features will be here soon. Here are five compelling reasons to upgrade to the newest edition of Windows Server:
One of the most interesting new features of Windows Server 2016 is the advent of a new installation option called Nano Server. This is similar to the Windows Server Core option which began with Windows Server 2008 R1. However, Nano is far smaller than Server Core, requiring less than 600MB of hard disk space and can run in as little as 128MB of RAM.
Server Core needs around 3GB of hard disk space and 512MB of RAM at a minimum. We have to go all the way back to Windows NT 4.0 to find a Windows Server operating system that used less hardware than Nano. Last year at Ignite, I saw a demonstration of Nano server running on a stack of tiny devices, each about the size of a deck of cards. Nano Server has many fewer components running, which will mean a smaller attack surface, and far less patching. That does mean that Nano will only be able to run a select few workloads, such as Hyper-V and File Services.
What will likely throw many Windows administrators for a loop is the fact that Nano is almost completely headless. It does have an Emergency Management Console from which you can change the IP address of the machine, shutdown, restart and configure Windows Firewall settings. Other than that, there is no command-prompt or PowerShell prompt to work with like there is on Server Core. In addition, Nano cannot be raised to a full edition server or downgraded from full edition. Nano is a one-way installation choice. All management of Nano Server will be performed remotely with PowerShell or the graphical RSAT suite.
The Containers concept has been around for some time in other environments, but is now making its way to Windows. Containers allow services to be run in an isolated manner that makes them far more portable, less resource intensive and easier to deploy in large numbers. Windows Server Containers allow for one or more instances of a service to run on the same server. They can be spun up instantaneously and still provide isolation on the host. Hyper-V Containers run in a minimalistic virtual machine to provide even greater levels of isolation, albeit with more resource consumption. Microsoft has been working with Docker to bring the container management and libraries found in Linux over to Windows.
For those of you familiar with Microsoft’s App-V platform, Containers provide similar capabilities for the backend server environment. Where App-V is typically about providing a wrapper around an end-user application, Containers usually provide that isolation for services running on a server (although, there is certainly crossover between the two).
Storage Spaces Direct
The new Storage Spaces Direct feature is an outgrowth of the Storage Spaces capability introduced with Windows Server 2012. Storage Spaces isolates the underlying physical disks and aggregates them into storage pools on a single server. Storage Spaces Direct allows these storage pools to span multiple servers.
Not only can Storage span disks on multiple servers, it can also be made redundant across those servers. This means the storage pool can survive the outage of a disk and also survive the outage of a server in the storage pool.
This technology is not likely to knock the SAN off of its perch at the pinnacle of our storage hierarchy, but it could be a very useful option for some environments where the cost of continuously adding storage to the SAN is becoming a management and cost nightmare.
Windows Server 2016 comes with PowerShell 5.0 which includes a large number of enhanced features. PowerShell 5.0 provides hundreds of new cmdlets addressing many of the new features of the Windows Server 2016 operating system and new capabilities for PowerShell in general.
For starters, the PowerShell prompt has been given a facelift, enhancing it with colorized commands, CTRL key copy and paste, and line-wrap selection of text. Next, PowerShell 5.0 includes package management functionality allowing for the download of PowerShell modules from public or private libraries. This opens up an enormous library of enhancements that can easily be taken advantage of directly from PowerShell.
From a programmability standpoint, classes can now be developed directly in PowerShell much like other object-oriented languages. Finally, if you missed the announcement, Microsoft has open sourced PowerShell with development of Linux and Mac OS X versions of PowerShell already in Alpha.
Hyper-V has been updated with many new features and enhanced capabilities in Windows Server 2016. The features are explained in greater detail in this blog, but here is the outline of the new features:
- Storage Replica – A block-level volume replication technology for clusters. This feature will primarily affect Hyper-V, but could be used for other workloads.
- Rolling Cluster Upgrades – Again, this is something that affects clustering in general, but will be most useful in a Hyper-V cluster scenario.
- Hot-add NICs and Memory – Previously, VMs had to be shut down to add more memory or virtual network cards.
- Software Defined Networking – Provides a new Network Controller role, along with new load balancing capabilities.
- PowerShell Direct – Allows PowerShell commands to be sent to VMs through the Hyper-V host.
- Shielded Virtual Machines – Allows for VMs to be protected from intrusion even by the Hyper-V administrator.
- Linux Secure Boot – Linux VMs can now boot using the Secure Boot feature of the UEFI firmware in Hyper-V.
- Nested Virtualization – Allows for Hyper-V hosts to run inside another Hyper-V host.
- Nano Server – Nano Server can be used as a Hyper-V host, providing the smallest footprint yet for a Windows-based Hypervisor.