I was somewhat busy with all things K2 recently and there are a lot of interesting stuff about to be released in version 4.7 soon. Because of that I didn’t have enough time to follow new developments on MSFT side but find some time to read up on Windows Server 2016 new features the other day, as well as watch recording of CBT Nuggets webinar “What to Expect in Microsoft Server 2016” by their new instructor Michael Watkins. This blog post is largely based on info from this webinar plus some info from MVA Course: What’s new in Windows Server 2016 Preview.
First I would take some feedback Michael Watkins who just recently joined CBT Nuggets team. As he has a wealth of prior experience in teaching relevant topics his way of structuring and explaining material, as well as vocabulary range and usage are just brilliant (sorry can’t help but notice this as an amateur linguist 🙂 ), but his voice is a bit of a problem – not everybody will find it pleasant to listen and sometimes it is a bit too silent even when you set your volume to max (and it seems not to be recording quality but just the way he speaks, i.e. he is not consistently loud). In that respect his type of voice is similar to Greg Shields who did “Microsoft System Center 2012 70-246” training for CBT.
So at the moment there is Windows Server Technical Preview 4 is readily available for you to download and try and RTM is expected to arrive at some later point this spring. So it is high time to have at least a brief look at new features we are going to get there. MSFT explains their investment choices as a response to the following trends/problems in IT:
Image source: MVA Course: What’s new in Windows Server 2016 Preview
Essentially there are five major new features/improvements areas:
- Nano Server. This one is a little bit different than core and a lot different than GUI.
- Containers. Technology known as Docker in Linux world and especially important thing for web-based apps. Basically a great way to isolate apps from the OS.
- Virtualization Enhancements. These are mainly focused on security and identification improvements.
- Storage Direct and Storage QoS. Allow you to control storage bandwidth, capability and flexibility allocation.
- Software-defined Network. New paradigm for building and managing networks is here, and MSFT created technology which allow you to implement SDN with Windows Server 2016.
We are going to get the following flavors/editions of Windows Server 2016:
- Nano Server (similar to core)
- Server Core
- Server with a Desktop Experience
(1) Nano Server is a headless (aka GUI-less), x64 only version of Windows server. As opposed to Core, Nano Server is a purpose-built version of OS and not an installation option like core where you getting all the binaries and then select between Core & GUI.
It has no GUI at all. At the time of deployment you have to decide how to use Nano Server. It is purpose built OS based on packages. See details in “Getting Started with Nano Server” on MSDN. So packages architecture introduced to keep it lean. At the moment the following packages are available:
- Reverse Forwarders
As MSFT documentation puts it Nano Server “is similar to Windows Server in Server Core mode, but significantly smaller, has no local logon capability, and only supports 64-bit applications, tools, and agents. It takes up far less disk space, sets up significantly faster, and requires far fewer updates and restarts than Windows Server. When it does restart, it restarts much faster.”
In terms of remote administration it is almost the same as Server Core (but keep in mind the fact highlighted above – it has no local logon capability). So as Michael Watkins puts it, Server Core introduced brave new GUI-free world, Nano Server kicks that up a notch. In a dry language there is no local logon capability (true headless or headless-only, if you please) + x64 only workloads, admin tools and binaries.
To administer Nano Server remotely you can use PowerShell, WMI and different x64 remote management consoles (Hyper-V Manager etc.)
(2) Containers. This is a DevOps thing which is allows you to package & run apps withing containers (physical/virtual) which are fully self-contained with no footprint on base OS at all (all dependencies are inside of container). Containers architecture comprise of the following layers Layers:
- App A (Bins/Libraries) | App B (Bins/Libraries) | Containers Layer
- Container Management Stack
- Host OS with Container Support
Image source: Windows IT Pro
There are two types of containers as you can see from the picture above:
- Windows Server Container (first available in TP3) – shared base OS, very scalable & resource efficient. Good for trusted multi-tenant environment/private cloud type of environment.
- Hyper-V Container. Higher/extra level of isolation alternative to Windows Server Container. Good for shared hosting/highly regulated environment. Multiple applications for multiple tenants/public multi-tenant environment. More resources required but isolation is better.
Both types of containers can use the same image.
And after reading till this point you may get a feeling that this just terminology update + use case refinement (with some technical improvements) similar to one which we see when Terminal Services evolved into Remote Desktop Services (we got Remote Desktop and Remote Apps later) and further down the road MSFT technology mix evolved into idea that you have Desktop, Presentation and Application virtualization set of use cases/technologies. If you followed their predecessors for you it was probably sort of like evolution of existing things – use cases clarified and delineated and slew of new terminology introduced. So for newbies it was something absolutely new for veterans logical evolution with some renaming of parts.
Dockerized App (supports Windows Server Container, Linux Container) and can run anywhere Customer Datacenter, Microsoft Azure, Service Provider:
Image source: azure.microsoft.com
Docker introduced/popularized containers. Server 2016 offers integration with Docker. Docker is just an open-source engine which automates deployment of apps as containers. MSFT partnered with Docker so you can run “dockerized” apps in your MSFT environment and vice versa.
Docker Hub is a huge collection of open and curated applications available for download.
(3) Virtualization Enchancements
MSFT recognized Hyper-V problems and become more serious about security/legitimacy.
Host Guardian Service. If attacker seizes control of host OS it used to be too easy to access guest VMs next. Now better isolation provided to protect VMs in such scenario. Host Guardian service allows to create Guardian Fabric to mitigate against previously mentioned attack and also to define legitimate hosts and created shielded-tenant VMs. It leverages BitLocker which was introduced for Windows Client long time ago and now made its way into Server OS. So in a way we again see old technology leveraged for new use case and hiding behind new shiny name.
Shielded VMs are protected from tampering so that they only can be run within fabric designated to this VM and cannot be moved and run elsewhere.
Image source: rlevchenko.com
Existing VMs can be converted into shielded VMs.
(4) Storage Direct and Storage QoS
Here we also entering in the era of Software Defined Storage, as Microsoft further improves Storage Spaces technology by adding tight integration with System Center and reinventing it as Storage Spaces Direct.
Image source: technet.microsoft.com
Storage Spaces Direct offers two deployment options:
- Compute and Storage Resources joined/managed together -for small deployments
- Compute and Storage resources are separate and managed separately – for larger deployments
Image source: blogs.technet.microsoft.com
Storage QoS. Name is somewhat self-explanatory and now we have things like Rate Limiters (on Hyper-V Cluster) and Policy Manager + I/O scheduler (on Scale Out FS cluster) – I can’t help thinking that architectural pattern here is the same as in infamous NAP. Picture gives you a good top-level idea what we have here:
Image source: blogs.technet.microsoft.com
(5) Software Defined Network
I first heard about SDN concept back in 2012 when visiting lecture of Nick McKeown and Scott Shenker which they gave at Moscow Polytechnic Museum. Lecture was entitled “Internet of tomorrow: How SDN will change the rules” (recording in English is available on YouTube) and it gives best possible explanations of why and what of SDN by pioneers and leading researchers in this field. These guys not only were involved into initial research but also launched SDN and network virtualization start up Nicira which was focused on bringing related technologies to market, it was launched in 2007 and in 2012 acquired by VMware for $1.26 billion.
Now you can find SDN concepts implementation in Cisco (9K solution) and VMware products. SDN is all about introducing abstraction of higher-level functionality for better management of networks by means of decoupling network data plane and control plane. Or in other words it is Network Function Virtualization. And now Microsoft offers you their own implementation of this concept which includes the following components:
- Network Controllers (Standardized Rest API & PowerShell)
- Service Managers (Software load balancer, Virtual network Firewall, HNV L2/L3GW, S2S GW, VPN GW, SC for 3rd party VNF)
- Hyper-V Host
Image source: technet.microsoft.com
Network Controller is a foundation for SDN and it is Highly Available & Highly Scalable brand new server role for WS2016 which includes:South-bound API – communication with your physical networkNorth-bound API – communication with network controller
Do you still remember southbridge/northbridge terminology from hardware world of motherboards and chipsets? 😉
To conclude 5 major change areas seem to be very interesting to learn more about and open up new possibilities to design your it infrastructure and deliver your IT services.
Also after looking at the investments area in this version of Windows Server you can see that role of Windows admin profession evolves in a direction of a “fabric admin“, as essentially you now can use Windows server to manage compute, storage and network resources, i.e. fabric on top of which other services are running. So in a way it an end of an era when Windows admin could say “I manage Windows, storage questions handled by storage guy and for networking things there is a networking admin” now Windows administrator supposed to manage entire fabric of compute, storage and network resources – entire fabric (or at least this is Microsoft vision for Windows admin and Windows Server 🙂 ).
More resources for those who are in a mood for learning more about Windows Server 2016:
TechNet Library: What’s New in Windows Server 2016 Technical Preview 4
MVA Course: What’s new in Windows Server 2016 Preview
For those who worrying about system requirements for this OS – those are traditionally super humble/match those of previous version (but everybody knows what those minimum requirements mean anyway 😉 ), you can look through the relevant info at System Requirements and Installation section of Windows Server 2016 Technical Preview documentation on TechNet.