Choosing the right Infrastructure-as-Code (IaC) tool is more than a matter of technical preference. There’s nothing worse than finding yourself building on a dead platform or a dying ecosystem, only to discover it too late. The challenge is knowing whether something is simply the new hotness or truly has a sustainable future.

As a platform operator, we have a responsability to meet our customers where they are. If they win, we win. Hence we should be focused on enabling them in using the platform not driving conformity or orthodoxy within some walled garden. I’ve relied on Google Trends for years to inform technology strategy decisions, providing directional insight into community and customer momentum before committing time and resources to a particular ecosystem. It’s not definitive, but it’s like a Zestimate on Zillow: it gives you a good sense of where the winds are blowing.

Using Google Trends for “Terraform” alone will pull in every science fiction novel, DevOps article, and unrelated chatter from the broader “Occupy Mars” movement, while “Bicep” by itself returns every workout video on the internet.

Alt Terraforming Planets is a Thing I Guess

To fairly assess Azure-specific interest, I used the specialized search terms “Azure Terraform” and “Azure Bicep” to see which tools customers are actually researching and using in Azure environments.

What the Data Shows

Over the past five years, Azure Terraform consistently shows significantly higher global and US search interest than Azure Bicep, with a stable trendline reflecting consistent, widespread adoption across many regions.

Alt

Meanwhile, Azure Bicep shows a much lower, though steady, level of interest, with a noticeable concentration of traffic coming from Washington State — home to Microsoft headquarters.

Alt

Terraform (in Blue) clearly has a dominant presence, Bicep (in Red) is heavily used in the State of Washington at Microsoft HQ

Interestingly Azure Bicep has strong worldwide presence in Scandanavia — from Norway to Sweden to Finland. Why? I do not know. Maybe my friend Mattias would have some insights.

Alt

When I compared the Azure Developer CLI (azd), the initial Google Trends results were noisy, pulling in unrelated data due to the “AZ” abbreviation (hello Arizona). Cleaning up the queries showed azd CLI interest is negligible compared to Terraform and Bicep.

Alt

Microsoft Samples and the Reality of Customer Usage

After joining Microsoft, I noticed a recurring pattern: most samples, demos, and quickstart projects are shipped using Bicep or azd CLI by default, despite Terraform clearly being the tool of choice for many customers.

I understand why: Bicep is a major improvement over raw ARM templates, providing a cleaner syntax and better developer experience within the Azure native ecosystem. It was launched in 2022 and has rapidly become the internal preference. However, it still has functional deficiencies compared to Terraform, especially around critical Day 2 Ops scenarios, multi-cloud realities of our customers, ecosystem integrations, and testing capabilities.

I’ve covered these limitations elsewhere on numerous occasions, but one observation remains: Microsoft invests in Terraform, but not at the level that reflects its actual customer adoption. This leads to a gap where customers overwhelmingly use Terraform, but our first-party samples, documentation, and learning paths are often Bicep-centric or delivered as tangled PowerShell and Azure CLI scripts that are hard to consume and scale operationally.

Why Terraform Should Be the Default

When speaking with a PM while trying to figure out how to use a new feature of their service recently, they pointed me to a single sample — written only in Bicep. When asked about Terraform, the response was that they would need to “check with the team” to see if it was worth investing in Terraform support and maintenance. They even suggested perhaps moving to AZD (Azure Developer CLI) examples instead.

While AZD can quickly launch an environment for exploration, it further abstracts the underlying tools from developers, making operational learning difficult — like playing tennis with ski gloves on. AZD is also less popular than Bicep and even harder to track accurately on Google Trends due to naming conflicts.

With 5 out of 6 Azure IaC-related searches aligning with Terraform, it’s clear who is using Bicep heavily — Microsoft internally — while customers continue to lean on Terraform for real-world deployments. Given this, Terraform should be the default for samples, secure-by-default and resilient-by-default reference implementations, and living documentation.

The Case for Terraform Testing and Practical Samples

Terraform’s capabilities, like terraform test, open the door to building clear, isolated test cases that demonstrate best practices and secure deployments, providing operationally relevant, educational, and reusable examples for customers. These examples can complement AVM by offering practical, focused Terraform configurations that demonstrate service usage in isolation without the overhead of complex module learning curves.

Alt Example of Using Terraform Test to Verify End-To-End Service Critical Secure-By-Default Usage Scenarios with Terraform

Having clear, minimal, testable samples offers more value in customer education than highly abstracted modules that hide how core services should be configured. We should invest in building these Terraform test cases and samples as a baseline to empower customers to adopt secure, scalable Azure practices while retaining the flexibility Terraform offers.

Conclusion

I may be biased, but I’m not leaning on bias alone. Bias backed by data isn’t just opinion — it’s alignment with reality. When the data supports your perspective, you’re not just making noise; you’re telling the truth.

While Bicep and AVD have their place in the Azure ecosystem, the data is clear: Terraform dominates Azure IaC customer interest. To align with our customers’ needs and long-term sustainability goals, Terraform should be the default for Azure samples, guidance, and operational patterns — not an afterthought.

We should leverage Terraform Test to create living documentation for every Azure service for every Secure-By-Default and Resilient-By-Default Scenario as part of our Definition of Done.

Doing so would ensure Microsoft’s IaC ecosystem efforts truly align with customer reality, providing a solid, community-aligned foundation that helps customers build securely and confidently on Azure for the long term.

If we want to also publish samples in Bicep as a first party alternative, that’s fine, but let’s not forget we are about enabling our customers not demanding conformity. This is the New Microsoft —let’s act like it.