With all the talk of containers and container orchestration software, you may be wondering what’s Microsoft container orchestration approach for Windows Server 2016. Well if you weren’t paying attention to Build 2016 in San Francisco you might have missed it. Microsoft is all about Azure and Azure-based services. Windows, Linux, and containers for that matter are all just different gateways to Azure. Azure everywhere may very well become Microsoft’s new marketing mantra. Microsoft announced the general availability of their Azure Service Fabric their container orchestration play among other things.
All roads lead to Azure
I’ve learned my lesson of underestimating the importance to Azure and Microsoft’s server integration. I had previously gotten Azure Stack all wrong. I assumed Azure Stack is Microsoft’s play for private cloud in the enterprise. While Azure Stack would seem a fine standalone platform for the private cloud, it isn’t Microsoft’s end game. Azure Stack is Microsoft’s on-premises side of their hybrid strategy. I should have known better when during my Tech Preview installation attempt I had to create an Azure public cloud account for their public Active Directory.
Service Fabric is no exception to Azure everywhere. Microsoft has used Service Fabric to build most of its Azure Public Cloud infrastructure. The high-level concept is to move away from building applications focused on virtual machines. The time to abstract the infrastructure away from the application level is long past due. Solutions such as Service Fabric are focused on this task. I’ve already written about the concept of serverless computing (spoiler – you still need servers). I’ve also published a whiteboard session giving a quick overview of the concept.
From a most basic idea, Microsoft is attempting to make real the early promise of Azure PaaS based heritage. I was shocked by Azure capability in 2010. It was focused on the PaaS use case; you couldn’t provision a VM. What kind of madness is the concept that you build applications without writing to an OS? Microsoft’s earliest vision of cloud was basically Azure Service Fabric.
What does any of this serverless computing talk have to do with container cluster management? Microsoft has disaggregated the underlying VM from the microservices they support. As I understand Service Fabric and at the risk of oversimplifying the architecture, administrators install Service Fabric on either Windows or Linux servers. Service Fabric acts as a cluster management and determines what fabric services run on particular VMs. I’m not clear on the details of how services get distributed. I do understand that Microsoft abstracts this complexity from the application layers.
A native application written to Service Fabric become independent of the underlying VM infrastructure. Service Fabric ensures that enough VM resources are available to run the code. If a VM fails then, the microservice is spun up on another VM or container.
Microsoft will make Azure Service Fabric available to run within the Azure Public Cloud or your on-premises infrastructure. My assumption is that the on-premises infrastructure will run Azure Stack. In theory, this means that the cluster resources are made up of anything from VMware/Hyper-V VM’s to bare metal Linux or even AWS instances. Microsoft is indifferent just as long as you are running your applications on some form of Azure. Windows vs. Linux vs. Containers isn’t a consideration.