Azure Stack Architecture In Depth

With the help of Azure Stack, Microsoft is trying to bring the Azure services in your datacentre and run it on your hardware. Azure stack maintains the consistency with Azure (public cloud) so you can deploy your workload to Azure or same workload you can deploy to Azure stack.

Azure stack is not only a software solution but it is also a set of hardware which is pre-tested and configured.

It is a complete solution containing support infrastructure provided by OEM vendors along with series of Azure services wrapped around Azure stack.
 
For more understanding of Azure Stack you can read my previous article Demysifying Azure Stack 

Azure Stack architecture is divided into 4 layers.

Starting from the top, 

  • Azure Resource Manager (ARM) Layer – user interacts with ARM
  • Resource Provider (RP) Layer – ARM talks with infrastructure control layer via Resource Provider layer.
  • Infrastructure Control Layer—contains infrastructure deployment options and services running in background such as services in Taskbar.
  • Hardware Layer – Contains physical switches, storage and compute hardware.
 Below is the block diagram of Azure Stack Architecture.







 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Azure Resource Manager (ARM) Layer
  • This is the endpoint that your end users and administrators interact with.
  • This is the entry point or rather interface.
  • To maintain consistency with the Azure, the very first layer is ARM layer.
  • Like Azure, ARM layer is composed of Azure Portal UX as well as the API for other tools such as PowerShell, Azure CLI and Visual Studio to interface with Azure Services resides.
  • This ARM API is the same code running up in the public Azure. 

Resource Provider Layer 

Resource Provider layer is composed of two components,

  • PRB (Partition Request Broker)
  • RP (Resource Provider)

Partition Request Broker  
  • Partition Request Broker is a set of core resource providers and an API that interacts back and forth with ARM.
  • PRB allows communication with RP layer and allow users to consume resources from RP layer via Portal.
  • Each resource provider has a north-bound interface to communicate up with the Azure Stack Azure portal and a south-bound interface that communicates down with Azure Stack underlying infrastructure.
  • This underlying infrastructure consists of Windows OS, storage spaces, Hyper-V for Virtualizations and Windows Network Controller.
 Resource Provider
  • This RP layer again consists of Core RP (Core Resource Provider) and Infrastructure RP (Infrastructure Resource Provider).
  • Infrastructure RPs are also known as Fabric Management RPs. 

Core RP 

The Core RPs are consisting of Storage RP, Compute RP and Network RP.
  • Storage RP - Storage RPs provide software that define storage account, Blobs, Tables and queues in Azure Stack.
  • Compute RP- Compute RP provides Virtual Machine management in Azure Stack. It is a core of providing your IaaS in Azure Stack.
  • Network RP-Task of Network Resource provider is to manage Virtual Network, load balancers, network security gateways and other virtual network related stuff.

Infrastructure RP

Infrastructure RP or Fabric Management RPs are consists of Fabric RP,Health RP and Update RP.

Fabric RP

Fabric RP is responsible for region management, logical networks, management level access to infrastructure, storage subscription etc. 

Health RP

  • Health RP is responsible for health status of region and resource provider.
  • Health RP provides health, alerts, log, security audit log etc.

Update RP

  • Update RP is used to patch in update Azure Stack.
  • It provides information like region update status, pre-validated updates for hardware.
  • These updates are automated and do not disturb running workloads.

Infrastructure Control Layer

  • Infrastructure Control layer consists of Infrastructure deployment and infrastructure Roles.
  • Infrastructure Control layer also consists of other controllers such as the storage, compute, network and health controllers. This all software based controllers interact with resources at the physical layer.
  • The controllers run in a microservices architecture. That means if one component of Azure stack goes down other controller still works.
  • Infrastructure deployment is responsible for Bootstrapping, Patch and update, Scale-out, Reset, start and stop of your infrastructure in Azure Stack.
  • Infrastructure controller directly interacts with infrastructure roles.
  • Infrastructure Roles are the services for your Hybrid cloud. You can consider it like a service running inside your task manager. You know it is there, it is running but you don’t need to go there very often. While needed you can stop them and again start them.
 Hardware Layer 
  • This is the last and final layer of Azure stack.
  • This is where physical layer of Azure stack exists.
  • The physical hardware is provided by manufacturer such as DELL, HP, Lenovo as a fully integrated hyper converged solution. This hardware consists of network switches, compute hardware and storage.
  • These hardware layer resources are pooled together and managed via different controllers in the infrastructure controller layer via resource providers in the RP layer.
  • The physical node management takes care of power on, power off and recycle power of nodes.
  • Infrastructure deployment controls boot order and logs.
  • Controllers interact directly with the hardware via baseboard management controllers provided from the hardware vendor.Azure Stack physical hardware will come with some unit consisting of Server, Switches like BMC switches and Aggregate switch and Border network device. This unit you can connect with Data Center and hardware monitoring, power and cooling points and apply your identity integration.