Microsoft Azure is a private and public cloud platform. If you’ve used Azure, you’re familiar with the services it provides to developers and IT administrators to build, deploy, and manage applications. But what happens 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 a hypervisor. The 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 mini 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.
One server in each rack runs a special piece of software called a Fabric Controller. Each Fabric Controller is connected to another special piece of software known as the Orchestrator. The Orchestrator is responsible for managing everything that happens in Azure, including responding to user requests.
Users make requests using the Orchestrators Web API. The Web API can be called by many tools, including the user interface of the Azure portal. So, when a user makes a request to create a Virtual Machine, the Orchestrator packages everything that’s needed, picks the best server rack, and then sends the package and request to the Fabric Controller. Once the Fabric Controller has created the Virtual Machine, the user can connect to it.
Azure makes it easy for developers and IT administrators to be agile when they build, deploy, and manage their applications and services. In fact, building a Virtual Machine is just the beginning with Azure’s ever expanding set of cloud services to help you meet your business challenges. It gives you the freedom to build, manage, and deploy applications on a massive global network, using your favorite tools and frameworks.