Microsoft Certified: DevOps Engineer ExpertDesign and implement pipelinesHard

A company is migrating its existing data warehouse solution to Azure. They need to provision and manage a complex infrastructure that includes Azure Synapse Analytics, several Azure Data Lake Storage Gen2 accounts, Azure Data Factory, and virtual networks across multiple Azure subscriptions and resource groups. The team requires a solution that provides declarative infrastructure definition, supports state management, and can be used to manage resources across different cloud providers in the future. Which Infrastructure as Code (IaC) tool is the MOST suitable for this scenario?

  1. AAzure CLI scripts.
  2. BAzure Resource Manager (ARM) templates.
  3. CTerraform.
  4. DBicep.
Show answer & explanation

Correct answer: C. Terraform.

Terraform is an open-source IaC tool that allows you to define and provision infrastructure using a declarative configuration language. Its key advantages for this scenario are its cloud-agnostic nature (supporting multi-cloud environments like Azure, AWS, GCP), its robust state management, and its ability to manage complex dependencies across various Azure resources and subscriptions, which aligns with the requirement for potential future multi-cloud use.

Why the other options are wrong

  • A. Azure CLI scripts are imperative, not declarative, and lack state management, making them less suitable for complex, trackable infrastructure deployments.
  • B. ARM templates are Azure-specific and do not support multi-cloud infrastructure management.
  • D. Bicep is an improvement over ARM templates but is still Azure-specific and does not support multi-cloud scenarios.

Terraform for Multi-Cloud IaC

An open-source Infrastructure as Code tool that enables declarative provisioning and management of infrastructure across multiple cloud providers.

  • Cloud-agnostic (supports Azure, AWS, GCP, etc.).
  • Manages infrastructure state to track deployments.
  • Declarative syntax for defining desired infrastructure.

Memory trick: Terraform builds across all lands.

More Design and implement pipelines questions