Azure Architecture Fundamentals: Azure subscriptions and management groups
Tags: azure, career, beginners, devops
Published: 2023-05-24 16:26:33

Azure Architecture Fundamentals:
Part 1: [Overview of Azure subscriptions, management groups, and resources](https://dev.to/theyasirr/azure-architecture-fundamentals-overview-of-azure-subscriptions-management-groups-and-resources-1ko)
Part 2: [Azure regions, availability zones, and region pairs](https://dev.to/theyasirr/azure-architecture-fundamentals-azure-regions-availability-zones-and-region-pairs-22k3)
Part 3: [Azure resources and Azure Resource Manager](https://dev.to/theyasirr/azure-architecture-fundamentals-azure-resources-and-azure-resource-manager-o9h)
Part 4: [Azure subscriptions and management groups](https://dev.to/theyasirr/azure-architecture-fundamentals-azure-subscriptions-and-management-groups-5g2h)


To get started with Azure, one of your first steps will be to create at least one Azure subscription. You'll use it to create your cloud-based resources in Azure.

## Azure subscriptions
Using Azure requires an Azure subscription. A subscription provides you with authenticated and authorized access to Azure products and services. It also allows you to provision resources. An Azure subscription is a logical unit of Azure services that links to an Azure account, which is an identity in Azure Active Directory (Azure AD) or in a directory that Azure AD trusts.

![Diagram showing Azure subscriptions using authentication and authorization to access Azure accounts.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8zvlqacqe3xmbeaaf3ac.png)

An account can have one subscription or multiple subscriptions that have different billing models and to which you apply different access-management policies. You can use Azure subscriptions to define boundaries around Azure products, services, and resources. There are two types of subscription boundaries that you can use:

**Billing boundary:** This subscription type determines how an Azure account is billed for using Azure. You can create multiple subscriptions for different types of billing requirements. Azure generates separate billing reports and invoices for each subscription so that you can organize and manage costs.
**Access control boundary:** Azure applies access-management policies at the subscription level, and you can create separate subscriptions to reflect different organizational structures. 

## Create additional Azure subscriptions
You might want to create additional subscriptions for resource or billing management purposes. For example, you might choose to create additional subscriptions to separate:

**Environments:** When managing your resources, you can choose to create subscriptions to set up separate environments for development and testing, security, or to isolate data for compliance reasons. This design is particularly useful because resource access control occurs at the subscription level.
**Organizational structures:** You can create subscriptions to reflect different organizational structures. For example, you could limit a team to lower-cost resources, while allowing the IT department a full range. This design allows you to manage and control access to the resources that users create within each subscription.
**Billing:** You might want to also create additional subscriptions for billing purposes. Because costs are first aggregated at the subscription level, you might want to create subscriptions to manage and track costs based on your needs. For instance, you might want to create one subscription for your production workloads and another subscription for your development and testing workloads.
You might also need additional subscriptions because of:

**Subscription limits:** Subscriptions are bound to some hard limitations. For example, the maximum number of Azure ExpressRoute circuits per subscription is 10. Those limits should be considered as you create subscriptions on your account. If there's a need to go over those limits in particular scenarios, you might need additional subscriptions.

## Customize billing to meet your needs
If you have multiple subscriptions, you can organize them into invoice sections. Each invoice section is a line item on the invoice that shows the charges incurred that month. For example, you might need a single invoice for your organization but want to organize charges by department, team, or project.

Depending on your needs, you can set up multiple invoices within the same billing account by creating additional billing profiles. Each billing profile has its own monthly invoice and payment method.

The following diagram shows an overview of how billing is structured. If you've previously signed up for Azure or if your organization has an Enterprise Agreement, your billing might be set up differently.

![Flowchart-style diagram showing an example of setting up a billing structure where different groups like marketing or development have their own Azure subscription that rolls up into a larger company-paid Azure billing account.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u28dbalhryf0tz9s11jj.png)

## Azure management groups
If your organization has many subscriptions, you might need a way to efficiently manage access, policies, and compliance for those subscriptions. Azure management groups provide a level of scope above subscriptions. You organize subscriptions into containers called management groups and apply your governance conditions to the management groups. All subscriptions within a management group automatically inherit the conditions applied to the management group. Management groups give you enterprise-grade management at a large scale no matter what type of subscriptions you might have. All subscriptions within a single management group must trust the same Azure AD tenant.

**Hierarchy of management groups and subscriptions**
You can build a flexible structure of management groups and subscriptions to organize your resources into a hierarchy for unified policy and access management. The following diagram shows an example of creating a hierarchy for governance by using management groups.

![Diagram showing an example of a management group hierarchy tree.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nb8y2kbmpsibapxqe8a4.png)

**Important facts about management groups**

- 10,000 management groups can be supported in a single directory.
- A management group tree can support up to six levels of depth. This limit doesn't include the root level or the subscription level.
- Each management group and subscription can support only one parent.
- Each management group can have many children.
- All subscriptions and management groups are within a single hierarchy in each directory.

Credits: [Microsoft](https://www.microsoft.com/)