Azure Service Manager (ASM) vs. Azure Resource Manager (ARM)
When managing resources in Microsoft Azure, you might encounter two different deployment models: Azure Service Manager (ASM) and Azure Resource Manager (ARM). Understanding the differences between these models is crucial for effectively managing and automating your Azure resources. Here’s a comparison between ASM and ARM:
Azure Service Manager (ASM)
Azure Service Manager (ASM), also known as the Classic deployment model, is the earlier method for managing Azure resources. Here are some key characteristics of ASM:
- Portal: Classic Portal (https://manage.windowsazure.com)
- Resource Management: Resources are managed individually, without the use of resource groups.
- Deployment Model: Resources are managed through individual deployment units.
- Features:
- Limited support for tagging resources.
- No native support for templates to automate deployments.
- Does not support role-based access control (RBAC) or fine-grained access permissions.
- Resource dependencies must be managed manually.
- APIs: Uses a different set of APIs from ARM, with resources managed through the classic API.
- Supported Resources: Only resources created in the classic model are supported.
Azure Resource Manager (ARM)
Azure Resource Manager (ARM) is the modern deployment model that provides advanced features and a unified management experience. Here’s what you need to know about ARM:
- Portal: Azure Portal (https://portal.azure.com)
- Resource Management: Uses Resource Groups to group related resources, simplifying management.
- Deployment Model: Resources are deployed and managed using ARM templates, allowing for declarative and repeatable deployments.
- Features:
- Supports tagging resources for easier management and cost tracking.
- Enables role-based access control (RBAC) for fine-grained access management.
- Automatically manages resource dependencies within the template.
- Provides better support for automation and DevOps practices through ARM templates and Azure DevOps.
- APIs: Uses REST APIs provided by ARM, offering a unified management experience across different resource types.
- Supported Resources: Includes all resources created in the ARM model, with many new Azure resources only available through ARM.
Summary
In summary, Azure Service Manager (ASM) is the older model with limited functionality and support. Azure Resource Manager (ARM) is the modern model that supports advanced features such as resource grouping, automation through templates, and RBAC. It is the recommended approach for managing resources in Azure due to its comprehensive capabilities and improved management experience.
As Azure continues to evolve, ARM remains the preferred choice for new deployments and management tasks. Transitioning to ARM is advisable to take advantage of the latest features and improvements in Azure resource management.