Skip to main content

Microsoft Ignite 2016 – Announcements and features


I have now spent 3 days at Ignite and walked a total distance of about 22km hustling from sessions and the Expo area according to my Iphone. These are some of my thoughts about what might affect you going forward the next year.


  • Windows server 2016
  • Azure Monitoring
  • Azure Functions
  • Azure Networking

Oh yeah, and System Center 2016 was launched. Why is it not on my list? Well to be perfectly honest, the feature list is almost identical to the latest rollup on 2012 R2. More on that later.

Windows Server 2016 GA

This release of Windows server is the chosen one that is going to power the Azure infrastructure and tenant workloads on Azure and AzureStack when it is released next year. From the Hyper-V perspective, things have changed quite a lot. You will have to forget all best practices and how you setup Hyper-V and Storage. 2016 is all about scaleout filesystem (reFS/NTFS) and storage direct.

You also want to check the OEM hardware list to make sure your servers are listed there. Pay extra attention to you physical NICs. They have to support RDMA. Your switches, or at least your storage switch need to support DCB (Data Center Bridging).

Windows Server 2016 is all about software defined everything. With the switch and NIC hardware requirements listed above, they should add that you also need the special hardware to enable the software defined everything. That is just a personal opinion and I do not expect anyone to change that.

For us mere deadly, not supporting super scale, you will be happy to know that the smallest cluster supported on 2016 is 2 nodes when you use Storage Space Direct! Yay!

Azure Monitoring

In my head, I have been waiting for this. Basically it is a System Center Operation Manager light for your Azure Resources running in the cloud with a super responsive and beautiful console. In addition you can consume logs (logfiles/eventlogs) and search them from the console in Azure. Great for troubleshooting when you need to correlate different logs and servers.

These are some of the items you can “monitor”:
  • Activity logs
  • Metrics
  • Diagnostics logs
Azure Monitor is even connected to Azure Analytics. I am not being fair when I called this SCOM light. It has far more reach and the correlation is out of this world compared to SCOM.


Example of a dashboard:

Image result for azure monitor

You pin items/graphs/tables to your dashboard. That dashboard can be cloned and shared with other users in your Azure subscription. When you add a new pinned item, other users that you have shared the dashboard with, will get a notification that you have added an item and may choose to add it to your dashboard.

Alerts – Trigger on events

Azure Monitoring can be configured to produce alerts on certain events. The following channels is supported out of the “box”:
  • SMS
  • Email
  • Webhooks (http callback)
That might not look very impressive, however the key element here is webhooks. That will enable you to integrate Azure Montor with almost any solution that have webhooks integration. If your Azure Monitor alerts target does not support webhooks, Azure have you covered there also, using the Azure Function service. With functions you can create that webhook/callback target and integrate your custom application as a consumer of Azure Montor Alerts.

Operation Management Suite (OMS)

If you currently use OMS, you have access to all the information in OMS from your Azure Monitor dashboard. This enables you to do queries against the data collected from your agents whether they are running in your datacenter or in Azure.

Azure Monitoring is currently in Private Preview. If you are interested in trying it out, contact me and I will help you. I expect this will reach public preview within 2 months.  

Azure Functions

Have you ever heard about Serverless compute? That is Azure Functions. Before you get to confused, it is executed on a server, however it may be managed by you or by Microsoft. The serverless expression comes from the fact that you decouple your bussiness logic/code from the concept of a virtual machine that host it.

Your code is executed in the cloud. You design the function/code to be very specialized and generic at the same time. Sounds a bit confusing, however it makes perfect sense when you look into it.

Azure functions is great feature that enables you to process data, integrate with other systems not in the cloud, Internet of things devices (IoT) and for building your own API/microservices.

The Azure Function console is loaded with ready to use templates and more is added each day by Microsoft and the community if they pass the unit tests created by the Azure Functions team.

Azure Networking

Quite a few new features added at Ignite:
  • IPv6 support
  • Azure DNS
  • Accelerated networking
  • Web Application Firewall
  • Virtual network peering
Microsoft has silently upgraded their Azure Datacenters with a FPGAs which enables up to 25 Gbps networking performance. The keynote showed that a 1000 node cluster on Azure could translate all the articles on Wikipedia in less than 0.1 seconds using this technology. Expensive yes, however if you need performance for a short period of time, it is not that expensive even if I have not done the math.




Popular posts from this blog

Developing PowerShell modules for REST APIs – Part1

Over the years I have developed different PowerShell modules for different web APIs. I thought it would be a good idea to write a 2 series post about how you could go about to do this. This will be a 2 part blog series where we will run through the entire process of building a module for a REST API. I will try my best to keep this as simple as possible and leave more advanced stuff for a follow up post if the interest is there.What you needDepending on your experience with source control and PowerShell in general, you might want to use GIT or some other software repro for the code. In addition we are going to create a test REST API using the splendid UniversalDashboard PowerShell module created by Adam Driscoll. It is available on the PowershellGallery. Other prerequisites are built-in to Powershell. I will assume that you will be following along using at least PowerShell version 5 or greater.
What is HTTP metods for REST API.The primary or most common HTTP verbs used are POST, GET, PU…

Serialize data with PowerShell

Currently I am working on a big new module. In this module, I need to persist data to disk and reprocess them at some point even if the module/PowerShell session was closed. I needed to serialize objects and save them to disk. It needed to be very efficient to be able to support a high volume of objects. Hence I decided to turn this serializer into a module called HashData.

Other Serializing methods

In PowerShell we have several possibilities to serialize objects. There are two cmdlets you can use which are built in:
Both are excellent options if you do not care about the size of the file. In my case I needed something lean and mean in terms of the size on disk for the serialized object. Lets do some tests to compare the different types:


You might be curious why I do not use the Export-CliXML cmdlet and just use the [System.Management.Automation.PSSerializer]::Serialize static method. The static method will generate the same xml, however we …

Developing PowerShell modules for REST APIs – Part2

This is part 2 of the REST API blogpost. In part1 we successfully setup two REST API endpoints using the UniversalDashboard PowerShell module. In this part we are going to create a simple module that support some CRUD operation against our API. As we are trying to keep things as simple as possible, we will not use any fancy framework (like Plaster) to build our module. We are also going to skip a very important step you should familiarize yourself with, Pester tests. Lets get to it.

The moduleWe will build a module called FilesAPI. The module folder will look like this:

In the functions folder I have already added the 2 helper functions from part 1, Get-AuthorizationHeader and ConvertTo-Base64. The other folders are just placeholders for important stuff like classes, private functions that you do not want to make available for the module consumer and tests for Pester tests. For such a small module that we are going to create, one could argue that it is much easier to just add the functi…