Question

Difficulty: MediumAzure Resource Manager (ARM) and ARM Templates/Bicep

An organization is planning a deployment strategy for a multi-tier application consisting of an Azure SQL Database and an Azure App Service. The development team wants to define the infrastructure in a Bicep template so that the database is always fully provisioned before the App Service starts deploying, without manually writing procedural creation code. Which feature of Azure Resource Manager (ARM) templates and Bicep should the team use to achieve this?

  1. Implicit or explicit resource dependencies to control the order of deploymentAnswer
  2. B
    Imperative scripting blocks embedded within the template to define step-by-step deployment instructions
  3. C
    Nested resource groups that enforce a strict parent-child creation hierarchy
  4. D
    Resource location inheritance that forces dependent resources to deploy sequentially based on region

Answer

Implicit or explicit resource dependencies to control the order of deployment
The correct answer is the option focusing on resource dependencies. Azure Resource Manager uses dependencies to construct a deployment graph. If resource X depends on resource Y, the Resource Manager ensures resource Y is successfully deployed before starting the deployment of resource X.

Step-by-Step Solution

1
Analyze the requirement to deploy the database before the App Service in a Bicep or ARM template without writing step-by-step scripting.
Identify that ARM templates are declarative and require a mechanism to specify resource relationships rather than imperative commands.
Since ARM is declarative, Azure Resource Manager must analyze the template to build a dependency graph before deploying.
2
Select the correct mechanism for defining execution order in declarative templates.
Use implicit or explicit dependencies (such as implicit symbolic references in Bicep or the 'dependsOn' array in JSON templates).
Dependencies notify Azure Resource Manager of the correct creation sequence, allowing parallel deployment of independent resources while enforcing order where required.

Key Concept

Azure Resource Manager (ARM) templates and Bicep use declarative syntax and resource dependencies to define and orchestrate the deployment order of resources.
Estimated Time:1m 0s
Rate this question