Azure Verified Modules: Making Infrastructure as Code Easier (Part 1)

Infrastructure as Code (IAC) has revolutionized the way we manage and deploy cloud resources, but it's not without its challenges. One of the biggest hurdles is the effort required to write and maintain modules, especially in a fast-paced environment like Azure where innovation is constant.

Many Microsoft partners develop their own modules, but the level of maintenance and support can vary widely. Relying on community-shared modules can be risky due to uncertainty about their upkeep.

Solution: Azure Verified Modules (AVM)

To address this challenge, Microsoft introduced Azure Verified Modules (AVM). AVM provides modules that are:

  • Supported: Microsoft guarantees support for these modules.
  • Tested: Modules undergo thorough testing to ensure functionality.
  • Standardized: Consistent design patterns and interfaces improve usability and maintainability.
  • AVM is a Microsoft initiative to consolidate and standardize Infrastructure-as-Code modules, leveraging both internal and external communities. These modules serve as composable building blocks for deploying Azure resources and extensions consistently.

Microsoft's Mission with AVM

"Our mission is to deliver a comprehensive Azure Verified Modules library in multiple IaC languages, following the principles of the well-architected framework, serving as the trusted Microsoft source of truth."

Microsoft provides a Service Level Agreement (SLA) for AVM modules, offering customers peace of mind and assurance of reliability.

AVM is targeted towards customers aiming to deploy workloads into their Azure environments efficiently. The benefits include faster deployments and reduced errors.

Supported Languages and Module Types

AVM modules are developed in two languages:

  • Bicep
  • Terraform

There are two types of AVM modules:

  • Resource Modules: These deploy a single Azure service (e.g., storage account, key vault).
  • Pattern Modules: They combine multiple resource modules to create complex deployments (e.g., multi-tier applications).

AVM Structure
AVM Structure

Learn More

The AVM site is very well documented you can find it on https://aka.ms/avm
There is a very good introduction video from Matt White and Jack Tracey https://www.youtube.com/watch?v=JbIMrJKW5N0

Lab Environment

With the labs you can try it self.

Bicep Lab
Terraform Lab

Conclusion

In my opinion, AVM is a fantastic initiative from Microsoft to support Infrastructure as Code. In Part 2 of this blog series, I'll dive deeper into the technical aspects of AVM. Stay tuned!

comments powered by Disqus