Last Updated on August 14, 2024 by Arnav Sharma
Azure Verified Modules (AVM) is a transformative initiative by Microsoft, designed to align the deployment of Infrastructure-as-Code (IaC) modules with the well-architected framework. This initiative is crucial for customers evolving from managing Azure resources directly through the portal to adopting IaC methods like Bicep, or Terraform. AVM represents a community-driven aspiration within Microsoft, aiming to provide and define standards for what a good infrastructure-as-code module looks like.
The Problem:
Modules: The Core of AVM
The AVM framework leverages popular languages like Bicep and Terraform, reflecting the technologies used by Microsoft’s customer base. It includes two types of modules:
- Resource Modules: These modules, acting as building blocks, set up single Azure services. For example, a resource module for a virtual machine provides a fully operational VM with all necessary components like network connections.
- Pattern Modules: These modules are comprehensive blueprints that combine multiple services to create complete solutions, such as an entire application landing environment, including load balancers, VMSS, and security features.
Bicep and Terraform Integration
AVM’s initial release prominently features Bicep and Terraform, aligning with the well-architected framework to ensure secure and reliable deployments. This integration enables customers to deploy Azure resources and architectural patterns consistently and efficiently.
- Bicep modules: Bicep Public Module Registry
- Terraform modules: HashiCorp Terraform Registry
A Unified IaC Approach
AVM introduces a unified approach to IaC, addressing the confusion and inefficiencies caused by varied deployment methods within an organization. It offers a single source of truth across Microsoft, aligning with secure and reliable deployment standards, and enabling a consistent view across languages.
Empowering Community Participation
AVM is a community-driven initiative, encouraging contributions from both inside and outside of Microsoft. Contributors play a vital role in the AVM ecosystem:
- Module Owners: Microsoft team and FTEs, responsible for creating, managing, and maintaining modules.
- Module Contributors: Open to anyone globally, these contributors support module owners in managing and maintaining modules.
The Future of AVM
AVM is set to broaden its impact by expanding module offerings and enhancing its framework. The Module Triage Board offers a glimpse into ongoing developments, proposed modules, and the progress of this initiative.
The Starting Point of AVM
AVM represents the beginning of a journey for customers in their IaC journey, offering modules that simplify and accelerate the deployment process, regardless of their current stage.
AVM’s Mission and Vision
AVM’s mission is to provide a unified, secure, and efficient approach to deploying Azure resources and architectural patterns. Its vision is to accelerate deployment, ensure consistency, and support the development of well-architected solutions in Azure.
FAQ: AVM
Q: What is the verified module in the repository?
The verified module in the repository is supported by Microsoft and follows best practices as defined by the community and the AVM team.
Q: What is the AVM module?
The AVM module is a pre-built configuration supported by Microsoft that helps users to easily deploy infrastructure across IaC languages.
Q: Which languages are supported by the AVM module?
The AVM modules enable deployment across IaC languages, including Terraform, etc.
Q: Where can I find the AVM module summary?
The AVM module summary provides an overview of the available modules and their features, which can be found in the documentation and repository.
Q: How do I navigate repository files?
Repository files navigation is managed by the core team and can be accessed through the repository on GitHub, where folders and files are organized for easy access.
Q: What is the latest commit in the repository?
The latest commit in the repository contains updates, including the latest features added by the AVM team, and can be reviewed through the GitHub commit history.
Q: What is the mission statement of the AVM team?
The mission statement of the AVM team is to provide and define the single definition of what a good IaC module looks like, following the principles and best practices supported by Microsoft.
Q: How does the community contribute to the AVM module?
The community has been busy building AVM modules and providing feature requests, which are reviewed by the AVM team and incorporated into the monthly update.
Q: What is the Azure Verified Modules (AVM) initiative?
The Azure Verified Modules (AVM) initiative, supported by Microsoft, aims to provide users with reliable and compliant modules and code for use across IaC languages, ensuring a consistent and secure deployment process.