The following is from Azure Administrator Training lab for AZ-103 Resource Manager The infrastructure for your application is typically made up of manycomponents – maybe a virtual machine, storage account, and virtual network,or a web app, database, database server, and third-party services. You maynot see these components as separate entities, instead you see them as relatedand interdependent parts of a single entity. You want to deploy, manage, andmonitor them as a group. Azure Resource Manager enables you to work with the resources in yoursolution as a group. You can deploy, update, or delete all the resources foryour solution in a single, coordinated operation. You use a template fordeployment and that template can work for different environments such astesting, staging, and production. Resource Manager provides security,auditing, and tagging features to help you manage your resources afterdeployment. Consistent management layer Resource Manager provides a consistent management layer to perform tasksthrough Azure PowerShell, Azure CLI, Azure portal, REST API, and clientSDKs. All capabilities that are available in the Azure portal are alsoavailable through Azure PowerShell, Azure CLI, the Azure REST APIs, andclient SDKs. Functionality initially released through APIs will be representedin the portal within 180 days of initial release. Choose the tools and APIs that work best for you – they have the samecapability and provide consistent results. The following image shows how all the tools interact with the same AzureResource Manager API. The API passes requests to the Resource Managerservice, which authenticates and authorizes the requests. Resource Managerthen routes the requests to the appropriate resource providers. Benefits Resource Manager provides several benefits: You can deploy, manage, and monitor all the resources for your solutionas a group, rather than handling these resources individually. You can repeatedly deploy your solution throughout the developmentlifecycle and have confidence your resources are deployed in aconsistent state. You can manage your infrastructure through declarative templatesrather than scripts. You can define the dependencies between resources so they’re deployedin the correct order. You can apply access control to all services in your resource groupbecause Role-Based Access Control (RBAC) is natively integrated intothe management platform. You can apply tags to resources to logically organize all the resources inyour subscription. You can clarify your organization’s billing by viewing costs for a groupof resources sharing the same tag. Guidance The following suggestions help you take full advantage of Resource Managerwhen working with your solutions. Define and deploy your infrastructure through the declarative syntax inResource Manager templates, rather than through imperativecommands. Define all deployment and configuration steps in the template. Youshould have no manual steps for setting up your solution. Run imperative commands to manage your resources, such as to start orstop an app or machine. Arrange resources with the same lifecycle in a resource group. Use tagsfor all other organizing of resources. Terminology If you’re new to Azure Resource Manager (ARM), there are some terms youmight not be familiar with. resource – A manageable item that is available through Azure. Some common resources are a virtual machine, storage account, web app, database, and virtual network, but there are many more. resource group – A container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. You decide how you want to allocate resources to resource groups based on what makes the most sense for your organization. resource provider – A service that supplies the resources you can deploy and manage through Resource Manager. Each resource provider offers operations for working with the resources that are deployed. Some common resource providers are Microsoft.Compute, which supplies the virtual machine resource, Microsoft.Storage, which supplies the storage account resource, and Microsoft.Web, which supplies resources related to web apps. ARM template – A JavaScript Object Notation (JSON) file that defines one or more resources to deploy to a resource group. It also defines the dependencies between the deployed resources. The template can be used to deploy the resources consistently and repeatedly. declarative syntax – Syntax that lets you state “Here is what I intend to create” without having to write the sequence of programming commands to create it. The Resource Manager template is an example of declarative syntax. In the file, you define the properties for the infrastructure to deploy to Azure. Resource providers Each resource provider offers a set of resources and operations for working with an Azure service. For example, if you want to store keys and secrets, you work with the Microsoft.KeyVault resource provider. This resource provider offers a resource type called vaults for creating the key vault. The name of a resource type is in the format: {resource-provider}/{resource-type}. For example, the key vault type is Microsoft.KeyVault/vaults. ✔️ Before getting started with deploying your resources, you should gain an understanding of the available resource providers. Knowing the names of resource providers and resources helps you define resources you want to deploy to Azure. Also, you need to know the valid locations and API versions for each resource type. Resource Group Deployments Resources can be deployed to any new or existing resource group.Deployment of resources to a resource group becomes a job where you cantrack the template execution. If deployment fails, the output of the job can describe why the deployment failed. Whether the deployment is a single resource to a group or a template to a group, you can use the information to fix any errors and redeploy. Deployments are incremental; if a resource group contains two web apps and you decide to deploy a third, the existing web apps will not be removed. Currently, immutable deployments are not supported in a resource group. To implement an immutable deployment, you must create a new resource group. Resource Groups Resource Groups are at their simplest a logical collection of resources. There are a couple of small rules for resource groups. Resources can only exist in one resource group. Resource Groups cannot be renamed. Resource Groups can have resources of many different types […]