Azure Resource Manager
Author: Ronald Fung
Creation Date: 30 May 2023
Next Modified Date: 30 May 2024
A. Introduction
Azure Resource Manager is the deployment and management service for Azure. It provides a management layer that enables you to create, update, and delete resources in your Azure account. You use management features, like access control, locks, and tags, to secure and organize your resources after deployment.
To learn about Azure Resource Manager templates (ARM templates), see the ARM template overview. To learn about Bicep, see Bicep overview.
Consistent management layer
When you send a request through any of the Azure APIs, tools, or SDKs, Resource Manager receives the request. It authenticates and authorizes the request before forwarding it to the appropriate Azure service. Because all requests are handled through the same API, you see consistent results and capabilities in all the different tools.
The following image shows the role Azure Resource Manager plays in handling Azure requests.
All capabilities that are available in the portal are also available through PowerShell, Azure CLI, REST APIs, and client SDKs. Functionality initially released through APIs will be represented in the portal within 180 days of initial release.
Important
Azure Resource Manager will only support Transport Layer Security (TLS) 1.2 or later by Fall 2023. For more information, see Migrating to TLS 1.2 for Azure Resource Manager.
B. How is it used at Seagen
As a biopharma research company using Microsoft Azure, Seagen could use Azure Resource Manager (ARM) to manage and deploy their Azure resources. ARM is a powerful tool that allows users to provision, configure, and manage Azure resources in a consistent and scalable manner. Here are some ways Seagen could use Azure Resource Manager:
Resource deployment: Azure Resource Manager allows Seagen to deploy Azure resources using templates, which provide a consistent and repeatable way to deploy resources. This can help Seagen reduce errors and ensure compliance with industry standards.
Resource configuration: Azure Resource Manager allows Seagen to configure Azure resources using declarative templates, which specify the desired state of the resources. This can help Seagen ensure that their Azure resources are configured correctly and consistently.
Resource management: Azure Resource Manager allows Seagen to manage Azure resources across multiple subscriptions and resource groups using a single management plane. This can help Seagen simplify resource management and reduce administrative overhead.
Resource tagging: Azure Resource Manager allows Seagen to tag Azure resources with metadata, such as cost center or project name. This can help Seagen track resource usage and costs across multiple departments or projects.
Resource security: Azure Resource Manager allows Seagen to manage Azure resource access using RBAC (Role-Based Access Control), which allows users to grant permissions based on roles. This can help Seagen ensure that their Azure resources are secure and comply with industry standards.
Resource monitoring: Azure Resource Manager allows Seagen to monitor Azure resource usage and performance metrics, such as CPU utilization and network traffic. This can help Seagen optimize resource usage and identify performance issues.
Overall, Azure Resource Manager provides a powerful tool for managing and deploying Azure resources. Its ability to deploy, configure, manage, tag, secure, and monitor Azure resources, as well as simplify resource management, makes it a valuable tool for organizations that require a scalable and flexible platform for their Azure resources.
C. Features
Azure Resource Manager is a powerful tool that allows users to manage and deploy Azure resources. It offers a range of features to help organizations provision, configure, and manage Azure resources in a consistent and scalable manner. Here are some of the key features of Azure Resource Manager:
Resource deployment: Azure Resource Manager allows users to deploy Azure resources using templates, which provide a consistent and repeatable way to deploy resources. This can help users reduce errors and ensure compliance with industry standards.
Resource configuration: Azure Resource Manager allows users to configure Azure resources using declarative templates, which specify the desired state of the resources. This can help users ensure that their Azure resources are configured correctly and consistently.
Resource management: Azure Resource Manager allows users to manage Azure resources across multiple subscriptions and resource groups using a single management plane. This can help users simplify resource management and reduce administrative overhead.
Resource tagging: Azure Resource Manager allows users to tag Azure resources with metadata, such as cost center or project name. This can help users track resource usage and costs across multiple departments or projects.
Resource security: Azure Resource Manager allows users to manage Azure resource access using RBAC (Role-Based Access Control), which allows users to grant permissions based on roles. This can help users ensure that their Azure resources are secure and comply with industry standards.
Resource monitoring: Azure Resource Manager allows users to monitor Azure resource usage and performance metrics, such as CPU utilization and network traffic. This can help users optimize resource usage and identify performance issues.
Integration with Azure services: Azure Resource Manager integrates with other Azure services, such as Azure Policy and Azure Monitor, to provide a comprehensive solution for managing Azure resources.
Customization: Azure Resource Manager allows users to customize their templates and scripts to automate resource deployment and management. This can help users automate repetitive tasks and improve their productivity.
Overall, Azure Resource Manager provides a powerful tool for managing and deploying Azure resources. Its ability to deploy, configure, manage, tag, secure, and monitor Azure resources, as well as simplify resource management, makes it a valuable tool for organizations that require a scalable and flexible platform for their Azure resources.
D. Where Implemented
E. How it is tested
Testing Azure Resource Manager involves several steps that include:
Creating a test environment: The first step is to create a test environment that is separate from the production environment. This ensures that any issues or bugs discovered during testing do not affect the live system.
Defining a test plan: The next step is to define a test plan that includes the test scenarios and test cases that need to be executed. This can help ensure that all the features of Azure Resource Manager are thoroughly tested.
Testing resource deployment: Once the test plan is defined, the next step is to test resource deployment. This involves verifying that Azure Resource Manager can deploy resources using templates and that the resources are deployed correctly.
Testing resource configuration: After resource deployment is tested, the next step is to test resource configuration. This involves verifying that Azure Resource Manager can configure Azure resources using declarative templates and that the resources are configured correctly.
Testing resource management: Once resource configuration is tested, the next step is to test resource management. This involves verifying that Azure Resource Manager can manage Azure resources across multiple subscriptions and resource groups using a single management plane.
Testing resource tagging: After resource management is tested, the next step is to test resource tagging. This involves verifying that Azure Resource Manager can tag Azure resources with metadata, such as cost center or project name, and that the tags are applied correctly.
Testing resource security: After resource tagging is tested, the next step is to test resource security. This involves verifying that Azure Resource Manager can manage Azure resource access using RBAC and that the access controls are configured correctly.
Testing resource monitoring: After resource security is tested, the next step is to test resource monitoring. This involves verifying that Azure Resource Manager can monitor Azure resource usage and performance metrics, such as CPU utilization and network traffic.
Integration testing: After Azure Resource Manager has been tested, it must be integrated with other systems and applications to ensure that it works seamlessly with other components.
User acceptance testing: Finally, Azure Resource Manager must undergo user acceptance testing to ensure that it meets the requirements of the end-users.
Overall, testing Azure Resource Manager involves a comprehensive testing approach that covers all the functionalities of the solution and ensures that it meets the requirements of the end-users. Testing should include both functional and non-functional testing, such as performance testing, security testing, and scalability testing. It is also important to test the integration of Azure Resource Manager with other systems and applications to ensure that it works seamlessly with other components. It is recommended to test Azure Resource Manager in a test environment before deploying it in a production environment to minimize the risk of issues during production use.
F. 2023 Roadmap
????
G. 2024 Roadmap
????
H. Known Issues
Like all software products, Azure Resource Manager may have some known issues. Here are some of the known issues of Azure Resource Manager:
Deployment errors: Azure Resource Manager may experience deployment errors due to issues with the template syntax or resource dependencies. This can impact the ability of users to deploy Azure resources correctly.
Template validation: Azure Resource Manager may have issues with template validation, such as not detecting syntax errors or failing to validate dependencies. This can impact the accuracy of resource deployment and configuration.
Integration issues: Azure Resource Manager may have integration issues when integrating with other systems and applications. This can impact the ability of users to use Azure Resource Manager in their existing workflows.
Resource group limits: Azure Resource Manager has limits on the number of resources that can be deployed in a single resource group. This can impact the scalability of Azure Resource Manager for large and complex Azure resource environments.
Resource tagging: Azure Resource Manager may have issues with resource tagging, such as tags not being applied correctly or not being searchable. This can impact the ability of users to track resource usage and costs.
Performance issues: Azure Resource Manager may have performance issues when deploying or managing large numbers of Azure resources. This can impact the ability of users to manage Azure resources effectively.
Customization issues: Azure Resource Manager allows users to customize templates and scripts to automate resource deployment and management. However, customization can introduce issues, such as syntax errors or security vulnerabilities.
Overall, while Azure Resource Manager is a powerful solution for managing and deploying Azure resources, users must be aware of these known issues and take steps to mitigate their impact. This may include addressing deployment errors, ensuring template validation, monitoring resource tagging, and providing training and support to users to effectively use and manage Azure Resource Manager. It is recommended to carefully plan and test the use of Azure Resource Manager in a test environment before deploying it in a production environment to minimize the risk of issues during production use.
[x] Reviewed by Enterprise Architecture
[x] Reviewed by Application Development
[x] Reviewed by Data Architecture