Blogs by Jay Tillu

How does Microsoft Azure work behind the scenes?

4 min read

Cover Image for How does Microsoft Azure work behind the scenes?

Azure uses a technology known as Virtualization. Virtualization separates the tight coupling between a computer's hardware and its operating system, using an abstraction layer called Hypervisor.

Hypervisor emulates all the functions of a real computer and its CPU in a Virtual Machine. It can run multiple Virtual Machines at the same time, optimize the capacity of the obstructed hardware, and each virtual machine can run any compatible operating system, such as Windows or Linux. Azure takes this Virtualization technology and repeats it on a massive scale in Microsoft Data Centers throughout the world.

Each data center has many racks filled with servers, and each server includes a Hypervisor to run multiple Virtual Machines. A Network Switch provides connectivity to all of those servers.

Fabric Controller

Fabric Controller is a core component of Azure Data Centers. It manages the Deployment and Operation of Virtual Machines, Containers, and other resources within Azure Data Centers. It serves as the brain behind Azure's infrastructure, ensuring that the services and resources requested by users are provisioned, monitored, and maintained efficiently.

Fabric Controller runs on One server of each rack. Each Fabric Controller is connected with a special piece of Software known as Orchestrator. The Orchestrator responds to user requests. Users make requests using the Orchestrator's Web API. The web API can be called by many tools, including the UI of Azure Portal.

Fabric Controller and Orchestrator both play critical roles in managing resources within Azure, they operate at different levels of abstraction and serve different purposes. The fabric controller manages low-level infrastructure resources, while an orchestrator focuses on orchestrating the deployment and management of applications and services.

Responsibilities of the Fabric Controller

  1. Resource Management: The fabric controller acts as the brain of a cluster of physical servers within an Azure data center. It's responsible for:

    • Allocation & Deallocation: When you request a service or resource in Azure, like a virtual machine, the fabric controller finds a suitable server rack with sufficient capacity. It then allocates the necessary resources, such as CPU, memory, and storage, from the available pool within that rack. Once the work is done Fabric Controller can deallocate the resource as well.

    • Provisioning: Once resources are allocated, the fabric controller provisions them, making them ready for use by your application or service.

  2. Fault Tolerance: If a server fails, the fabric controller automatically detects the issue and initiates failover procedures. This involves migrating the affected workloads to a healthy server, minimizing downtime, and ensuring service continuity.

  3. Scalability and Load Balancing: The fabric controller ensures that workloads are distributed evenly across available resources to optimize performance and scalability. It dynamically scales resources up or down based on demand, automatically adjusting capacity to handle fluctuations in workload traffic.

  4. Service Health Monitoring and Reporting: The fabric controller continuously monitors the health and performance of the underlying hardware resources, ensuring everything runs smoothly. It provides real-time insights and diagnostic information to users and administrators, enabling them to troubleshoot issues and optimize resource utilization.

  5. Communication: The fabric controller interacts with various components within the Azure environment:

    • Fabric Agents: Each server within a cluster runs a fabric agent. This agent communicates with the fabric controller, providing real-time information about the server's health and resource utilization.

    • Front-End Services: The fabric controller interacts with the front-end services responsible for user interaction and service provisioning within Azure.

In summary, the fabric controller acts as the central control unit for managing the physical infrastructure within Azure data centers. It allocates resources, monitors their health, and ensures smooth operation and fault tolerance.

Sample Workflow

Let's see how Azure works behind the scenes. Below is the Simplest example of Azure Workflow:

  • STEP 1 - The user makes a request to create a Virtual Machine using Azure Portal. Behind the scene portal is called Orchestrator's Web API.

  • STEP 2 - Orchestrator packages everything that's needed, picks the best server rack, and then sends the package and request to the Fabric Controller.

  • STEP 3 - Once the Fabric Controller has created the Virtual Machine the users can connect to it.

Learn More About Cloud Computing

Follow me for more such content.