
newsJul 9, 20261:19:19pending
ARM Templates Were a Mistake: Lessons from the Bicep Shift
About this episode
Infrastructure as Code transformed cloud computing by replacing manual portal clicks with version-controlled, repeatable deployments. But while Azure Resource Manager (ARM) templates represented a major leap forward, they also introduced a new challenge: complexity. In this episode of the M365 FM Podcast, host Mirko Peters explores why ARM Templates were both a revolutionary innovation and a design mistake that ultimately led Microsoft to create Bicep—a modern, developer-friendly language built specifically for Azure. This episode goes beyond syntax comparisons to examine the deeper architectural, organizational, and governance lessons behind Microsoft's evolution from ARM Templates to Bicep. You'll discover why Infrastructure as Code isn't simply about automation—it's about governance, reproducibility, security, and preparing for an AI-native future where infrastructure is increasingly generated by intelligent agents rather than humans.
THE DEATH OF CLICKOPS
Every organization begins with portal clicks. Creating a virtual machine through the Azure Portal feels fast, intuitive, and safe. But as cloud environments grow, manual deployments become impossible to govern. The episode explains how ClickOps inevitably leads to configuration drift, undocumented changes, inconsistent environments, and growing security risks. Topics include:
WHY ARM TEMPLATES CHANGED EVERYTHING
When Microsoft introduced ARM Templates, organizations finally gained the ability to define Azure infrastructure as code. For the first time, deployments became repeatable, version-controlled, and automatable. However, ARM Templates were built using JSON—a format designed for machines rather than humans. The discussion explores why deeply nested JSON, verbose syntax, difficult error messages, and limited readability created significant friction for engineers working with large Azure environments. Although ARM Templates solved Infrastructure as Code, they also exposed the limitations of using JSON as a programming language.
THE BICEP REVOLUTION
Microsoft created Bicep to solve the human side of Infrastructure as Code. Rather than replacing ARM, Bicep compiles directly into ARM Templates while providing a dramatically simpler authoring experience. The episode explores:
GOVERNANCE IS THE REAL GOAL
One of the strongest messages throughout the episode is that Infrastructure as Code isn't primarily about automation. It's about governance. When infrastructure exists as version-controlled code, organizations gain complete visibility into every change, every deployment, and every configuration. The discussion explains how modern governance combines:
AI IS CHANGING INFRASTRUCTURE
Large Language Models are beginning to generate Infrastructure as Code automatically. That creates incredible opportunities—but also significant risks. The episode explores why AI-generated infrastructure still requires human governance, policy validation, and automated security controls. Topics include:
BICEP VS TERRAFORM
The conversation also explores one of today's biggest architectural decisions. Should organizations standardize on Bicep or Terraform? Rather than declaring a universal winner, the episode explains where each technology excels. Bicep offers deep Azure integration, immediate support for new Azure services, and seamless alignment with Microsoft's governance ecosystem. Terraform remains the preferred choice for organizations managing true multi-cloud environments across Azure, AWS, and Google Cloud. Choosing the right tool depends less on syntax and more on long-term platform strategy.
WHO SHOULD LISTEN?
This episode is perfect for:
Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-a-microsoft-mvp-podcast-by-mirko-peters--6704921/support.
THE DEATH OF CLICKOPS
Every organization begins with portal clicks. Creating a virtual machine through the Azure Portal feels fast, intuitive, and safe. But as cloud environments grow, manual deployments become impossible to govern. The episode explains how ClickOps inevitably leads to configuration drift, undocumented changes, inconsistent environments, and growing security risks. Topics include:
- Manual deployments
- Configuration drift
- Infrastructure governance
- Change management
- Compliance
- Auditability
- Reproducibility
- Cloud operations
- Security posture
- Version control
WHY ARM TEMPLATES CHANGED EVERYTHING
When Microsoft introduced ARM Templates, organizations finally gained the ability to define Azure infrastructure as code. For the first time, deployments became repeatable, version-controlled, and automatable. However, ARM Templates were built using JSON—a format designed for machines rather than humans. The discussion explores why deeply nested JSON, verbose syntax, difficult error messages, and limited readability created significant friction for engineers working with large Azure environments. Although ARM Templates solved Infrastructure as Code, they also exposed the limitations of using JSON as a programming language.
THE BICEP REVOLUTION
Microsoft created Bicep to solve the human side of Infrastructure as Code. Rather than replacing ARM, Bicep compiles directly into ARM Templates while providing a dramatically simpler authoring experience. The episode explores:
- Native Azure language
- Strong typing
- Modules
- Parameters
- Variables
- IntelliSense
- Reusable components
- Resource references
- Visual Studio Code integration
GOVERNANCE IS THE REAL GOAL
One of the strongest messages throughout the episode is that Infrastructure as Code isn't primarily about automation. It's about governance. When infrastructure exists as version-controlled code, organizations gain complete visibility into every change, every deployment, and every configuration. The discussion explains how modern governance combines:
- Infrastructure as Code
- Azure Policy
- Git
- CI/CD pipelines
- Code reviews
- Drift detection
- Azure Landing Zones
- Compliance automation
- Security baselines
AI IS CHANGING INFRASTRUCTURE
Large Language Models are beginning to generate Infrastructure as Code automatically. That creates incredible opportunities—but also significant risks. The episode explores why AI-generated infrastructure still requires human governance, policy validation, and automated security controls. Topics include:
- AI-generated Bicep
- Infrastructure automation
- Policy as Code
- AI governance
- Secure deployments
- Human approval
- Agentic AI
- Infrastructure validation
- Continuous compliance
BICEP VS TERRAFORM
The conversation also explores one of today's biggest architectural decisions. Should organizations standardize on Bicep or Terraform? Rather than declaring a universal winner, the episode explains where each technology excels. Bicep offers deep Azure integration, immediate support for new Azure services, and seamless alignment with Microsoft's governance ecosystem. Terraform remains the preferred choice for organizations managing true multi-cloud environments across Azure, AWS, and Google Cloud. Choosing the right tool depends less on syntax and more on long-term platform strategy.
WHO SHOULD LISTEN?
This episode is perfect for:
- Azure Architects
- Cloud Engineers
- Platform Engineers
- DevOps Engineers
- Infrastructure Engineers
- Security Architects
- Enterprise Architects
- Azure Administrators
- Microsoft MVPs
- IT Decision Makers
- Anyone building Azure infrastructure
Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-a-microsoft-mvp-podcast-by-mirko-peters--6704921/support.
Get every episode summarized
Each time M365.FM - Modern work, security, and productivity with Microsoft 365 publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.
Email me new episodesFree for 3 shows. No card needed.
Hosts & guests
No transcript yet
This episode has not been transcribed. Request it and it moves to the front of the queue.
More episodes
More from M365.FM - Modern work, security, and productivity with Microsoft 365

Constraint-Based Scheduling: The Architecture That Makes Production Plans Real
M365.FM - Modern work, security, and productivity with Microsoft 365
Sep 15, 20261:51:40completed

A Machine Goes Down. How Should Your Production Plan React?
M365.FM - Modern work, security, and productivity with Microsoft 365
Sep 15, 20261:41:43completed

Can Value Stream Mapping Become a Live Data Model?
M365.FM - Modern work, security, and productivity with Microsoft 365
Sep 15, 20261:48:32completed

How Finite Capacity Scheduling Actually Works in Manufacturing
M365.FM - Modern work, security, and productivity with Microsoft 365
Sep 14, 20261:54:54completed