Your team wants to standardize Azure infrastructure as code. Requirements: reduce verbosity vs ARM JSON, keep features like conditions, loops, outputs, and dependency management, and publish reusable building blocks for other teams. CI/CD should still produce ARM JSON artifacts transparently. What should you recommend?
Choose an answer
Tap an option to check your answer.
Correct answer: Author Bicep templates that use modules; publish versioned modules as Template Specs; deploy with az deployment so Bicep is transpiled to ARM JSON automatically.
Why this is the answer
Bicep directly addresses the requirements. It's a domain-specific language (DSL) for deploying Azure resources, offering a more concise syntax than ARM JSON while retaining all core ARM features like conditions, loops, outputs, and dependency management. Bicep modules enable the creation of reusable building blocks, and Template Specs provide a mechanism to publish and share these versioned modules across teams. The az deployment command handles the transparent transpilation of Bicep to ARM JSON, ensuring compatibility with existing CI/CD pipelines. Continuing with ARM JSON would not reduce verbosity. Adopting Terraform would introduce a new toolchain and language, moving away from ARM features and potentially complicating integration with existing Azure-native CI/CD. Using Bicep in a single monolithic file defeats the purpose of reusability and modularity, making maintenance difficult.
Pass your exam — without the endless answer hunt
Get every verified question and explanation for this exam in one place, and save hours of prep. 1,000+ certifications · 20+ languages · free to start.
Pass your exam faster → No card needed