Think you’ve seen all the features coming in Windows Server 2016? Think again!

There is a alot of buzz happening around Windows Server 2016 these days, and no wonder! There is so much development happening around the 2016 release and most people can’t wrap themselves around it. Most people are concerned about the price increase for 2016, but again after reading trough this post you will understand WHY they will increase the price.

Now if you look at the buzz-words flowing around IT these days, there is much around.

  • Containers
  • HybridIT
  • Software-defined
  • GPU
  • DevOps

Now Microsoft looks at this and also at what the competitors were doing and thinking, how can we compete in this space? or where are we lacking ? Alot happend in the 2012 release both in terms of management but also in terms of features. Much was happening in Hyper-V, Networking (NIC teaming, NVGRE) and in terms of storage with Storage spaces support.

So what is happening in 2016? Well most people are caught up in Containers and Nano Server and Hyper-V even thou they are important updates and I welcome them, Microsoft has its eye on the bigger picture, which I will draw on the end….

So let’s explore the upcoming features, and let’s start with Storage which always interesting to take a closer look at.


  • Storage Replica (Not to be confused with DFS-R, allows us to do volume based replication between (server-server, disk-to-disk on the same server, cluster-to-cluster of storage, regardless of vendor. This type of feature also opens up for streched-cluster feature between two datacenter sites for instance.
  • Storage Spaces Direct (Allows us to setup Storage Spaces across multiple nodes using local disks. Which was the natural next step for Storage Spaces, which allows customers to setup simple, cost effective highly-available storage solutions) This feature can also be combined with Hyper-V which allows for the most cost-effective hyperconverged solution on the marked.
  • Deduplication (which before was limited to a set amount of data and to one CPU core (single thread)  but has now been updated to support up to 64 TBs of data and now can run on multiple threads! (Still no support for Hyper-V based workloads)
  • ReFS becomes a more of a defacto standard for Hyper-V workloads running on SMB shares with the use of ReFS accelerated VHDX operations which speeds up the process to created fixed disks and do checkpoint operations.

So if we look at the feature set, its most based on activating hyperconvergance, and adding a vendor netrual storage replication option also opens up for other cluster scenarios. Now even thou it is still in tech preview, I’m missing some options to do dedup for hyper-v workloads and also delivering Storage Spaces direct and Hyper-V with data locality options.


Now there also alot happening around Hyper-V! and some of the problems that is has been facing is that…well it still alot of Windows Server in there, even thou we have server core the promised “less patching” scenario wasn’t fullfilled as intended. So with the introduction of Nano-server, Hyper-V is becoming.. well more like ESXi in terms of small footprint, CLI only and remote management only, which should be the core focus when setting up Hyper-V, having a rock solid foundation which the virtualization platform should stand on.

  • Discrete Device Assigment (Allows us to do Passtrough from a physical PCI-e device to a virtual machine, this also opens up for GPU passtrough for instance, which is the same feature which is coming in the N-series in Azure)
  • Shielded Virtual Machines (Allows to do a complete lockdown of the virtual machine, which might be an important requirement in a service provider enviroment, so that the virtualization administrator does not have any access to the virtual machine to the customer what’s so ever)
  • PowerShell Direct (Allows us to open Powershell connections directly to virtual machines without the need for network access. Opens up to do easy automation before the network is connected)
  • SET Switch-embedded teaming (Is a new concept which combines NIC teaming with a Hyper-V switch, in 2012 R2 these were two seperate logical objects but have been combined in 2016. It also allows for RDMA based NIC teaming with Hyper-V swithes which also is a new feature.
  • Production checkpoints (So I’m guessing most people have been confused when Microsoft renamed snapshots to checkpoints? well time to get even more confused. Microsoft now has two types of checkpoints, production which is the default and preffered to do backups with, while standard checkpoints is the old fashioned way to do snaphosts with also include the running memory.
  • Cluster resillency, both in terms of doing node quarantine and pausing virtual machines if storage goes down.
  • CBT (Hyper-V will now include change block tracking, no more vendors specific CBT filter drivers, yay!)
  • Additional Hyper-V settings (We can now add additional extensions into Hyper-V switch, and one of those are an Azure switch extenstion to do traffic forwarding.
  • Memory and vNIC extensibility at runtime (allows us to increase memory and hot-add NIC cards at runtime for virtual machines)
  • Rolling cluster upgrade from 2012 R2 to 2016 (Allows to do node based update from 2012 R2 to 2016 without taking down the cluster)
  • Nested virtualization support as well!

So in 2012 and R2 we could see that Microsoft was focusing on doing alot of catch up with VMware in terms of scaleability, with this release, it is focused on taking all the features they used in Azure like the switch FVP extension and making the cluster even more resillient, and adding feature which should ALREADY be present like CBT in the product.

Remote Desktop Services

Anyone working in EUC land knows that there is alot of big fights happening between Citrix and VMware these days, well Microsoft wants in. With the 2012 release, Microsoft did alot in terms of managment to make it alot simpler which they did, they also did a bit on the GPU space, but Citrix and VMware took the train even further there.. Now with 2016 we can see that Microsoft is doing alot to catch up

  • Remote FX vGPU for Generation 2 virtual machines
  • Remote FX vGPU for Server virtual machines running RDSH
  • RemoteFX vGPU support with OpenGL 4.4 and OpenCL 1.1 AP
  • Personal session desktops, allows us to provision an RDSH session host to VM to each user (Yes! Microsoft is actually bypassings its own licensing rules in terms of VDI and using server OS to provision this) This feature is of now only in PowerShell
  • AVC444 mode

Now it makes sense that Microsoft is adding of GPU capabilities to their operating system since it is also the base for Azure, which allows them to port these features easily to Azure when they have updated the base to 2016 as well.

Now I’ve gone trough alot of the different features in RDS, Hyper-V and Storage. While the new features that are coming here are most welcome, the one piece where Microsoft did the most work in the 2016 release is without a doubt the networking stack. Which is interestingly the part which has the least amount of documentation as well. So what’s new?

  • SET (Switch embeeded teaming) talked about earlier
  • PacketDirect (Now this is where things get interesting, Microsoft has been using the default NDIS stack for many years now, but that is a general purpose networking stack which focuses on bluetooth, WLAN, LAN and so on, and is it really made for pure datacenter connections. With more and more networking features becoming NFV (virtualized network feature) Microsoft needed to change their stack to be able to process more packets with less overhead, and this is where packetdirect comes into the picture. Want to know more about this feature there is an excellent Youtube video here –>
  • VXLAN tunneling support (Boy this is a bit embarrassing, Microsoft pushed NVGRE tunneling protocol in 2012 R2 (Which allowed to stretch L2 over L3 network (Or L3 across L3) while VMware was pushing VXLAN and is also part of their NSX portfolio. Problem with NVGRE is that it is based upon GRE while VXLAN used UDP, the purpose of each tunneling protocol was pretty much the same, but still VMware and the other vendors focused on VXLAN and therefore Microsoft went in another direction. NVGRE is still supported, but for instance when you setup Azure Stack the default protocol is VXLAN
  • Azure flow engine inside the Hyper-V switch
  • Distributed datacenter firewall (This is one of the first NFV features in 2016 which is a 5-tuple stateful multitenant firewall solution which can be set pr virtual machine, which also allows for microsegmentaiton features as well. Think about the possbilities and not actually need a physical firewall to protect east-west traffic inside the firewall?
  • Software Load balancer (Another NFV feature which allows us to setup load balancing against virtual machines running on Hyper-V, this is using Direct Server Return is pretty much the same load balancing capability which is used in Azure
  • Network Controller (This is pretty much the brains of the network in 2016, which will allow us to manage and automate the entire network using this Windows Server Role. The Network Controller is a server roles which has the ability to manage all of the virtual networks (VXLAN, NVGRE, Software load balancer, Distributed Datacenter Firewall, Service chaning) this feature is open to manage using REST APIs or using Virtual Machine Manager and Operations Manager. This role will also be used to “map” the network both extending the virtual and the physical network. This role will also be able to “talk” to physical networks devices and allow for monitoring and automation. Which I’m guessing is the natural extension of OMI support which was available in 2012. The network controller also supports OVSDB!

Now if you think about it, being able to squeeze more packets trough the network is crucial for all service running “above” to work even better. So PacketDirect is a nice addition to the mix, and moving other features like load balancing and firewall as well which is already included in Azure to the on-premises stack allows us to do more with less. 

Now back to some of the core features which fall outside of any main category we have nano server which is an headless server deployment. As mentioned earlier the promise of Server Core didn’t actually do that much in terms of patches needed.


Based upon 2015 patch numbers. This is where Nano server is going to ramp up to give an even better foundation to stand one, where we actually have an operating system which basically only supported the features we need. With a footprint of 400 MBs, and is not a default OS deployment option we have to make our custom Nano server image to actually deploy it.

As well with the introduction of Containers it allows us to use Windows for a totally different purpose, being able to configure container which is basically doing core operating system runtime isolation. Instead of having virtual machines with deletage resource to the underlying operating system in the virtual space, containers can essentially slice the OS into multiple parts and allow for multiple runtimes with its own IP-address and runtime enviroment. Now this is essentially a place for microservices, web-services but we will see ALOT more happening her over the years since alot of development being done in Azure in terms of mesosphere support and so on.

So what can we expect from Windows Server 2016? Nothing much GUI polishing, Microsoft is dedicated to improve their core features and extent on those, where the core focus on

  • A solid robust infrastructure using Nano Server
  • Expanding into Hyperconvergence and streched cluster scenarios.
  • Expanding network capabilities and take what they learned from Azure and implementing many of the existing features from there like load balancing and firewall options
  • Moving more into GPU options which also allows them to integrate into Azure as well.

So as well can see, is that Microsoft is pushing both ways, stuff are implemented into Windows Server because they want it in Azure, and on the other way we can see that stuff that is developed in Azure is also moved to the on-premises Server product. So now that we have all these products we have an QUITE DIFFERENT scenarios that we can setup and opens up for a lot of possbilities.


So is 2016 worth the increase in price? You bet! Should it affect those customers who don’t need all these fancy features? hell no