Azure Resource Manager Templates Quick Start Guide
上QQ阅读APP看书,第一时间看更新

Provisioning

The ARM framework helps to provision resources. The entire framework is highly scalable, performance-centric, and comprises multiple internal components. These components are not directly visible to users, but they help implement modularity and reusability within the overall architecture.

Here is the ARM architecture:

Here is the same architecture using examples of resource providers and types:

We will be referring to this architecture not only in this section but also throughout this chapter. The architecture comprises an Azure Resource Manager API component. This is one of the main components and the first point of contact with the Azure APIs for doing any operation within Azure. This is the control plane for the entire ARM framework.

When a client wants to talk to Azure, they must send their requests to this component. The ARM API does all the deciding, routing, and scheduling of resources. It hands over the incoming requests to other components that have designated responsibilities. While provisioning resources, it hands over the requests to the resource provider component, and the resource provider eventually ensures that resource instances are created based on the resource types controlled by them. Similarly, it hands over the request to other components, such as Azure policies, to evaluate the request and check whether the action in the request should be executed or denied.