Choosing the best Azure subscription service model

When starting on your journey to Azure, you need to get your subscription model in place before you start building your cloud infrastructure.  Its important to get this right before you do anything else.


I’ve put together 2 options to choose from that is most common in large enterprises.


Option 1- Multiple Subscription Model

Azure multiple subscription model


In Azure Active Directory (Azure AD), a tenant is representative of an organization. It is a dedicated instance of the Azure AD service that an organization receives and owns when it signs up for a Microsoft cloud service such as Azure, Microsoft Intune, or Office 365. Each Azure AD tenant is distinct and separate from other Azure AD tenants


  • An Azure tenant can have multiple subscriptions
  • Each subscription can use the same Azure AD


As per the diagram above, we have 4 subscriptions under 1 Azure AD Tenant


  1. Subscription for Identity / Management

Host Active Directory IaaS DCs / DNS / ADFS and Any Management Servers


2) Subscription for Testing / UAT environment

Use for any testing, preview of Azure features in a test environment


3) Subscription for Production

All production servers and applications will be hosted here


4) Subscription for Development

Use for application development work



  • Multiple Subscriptions allow a company to easy view billing for each Subscription and limit who can access the Microsoft Azure services associated with that subscription
  • Overcome any Azure limits and constraints
  • Development and project team agility



  • Complex
  • Increased Management and costs
    • Network circuits
    • Edge gateway devices
    • IP Address space
    • Routing and firewall configurations
    • Monitoring, patching and anti-virus for VMs
    • Storage / Backup vaults



Option 2 – Single Subscription Model


Single subscription under 1 Azure AD Tenant. You can segregate all servers and resources using VNets, Subnets, Firewalls, RBAC on Resource Groups.

Single Azure Subscription Model



  • Easier Cost Control. Project based billing via Tags and Resource groups
  • Centralized Operations
  • Reuse of Shared infrastructure (Networking)




  • Azure Limits and constraints (e.g 250 storage accounts per subscription)
  • Less agility for development & project teams
  • Requires more granular permission model (RBAC)




Resource Group Model


Once you have decided on which subscription model to choose from, the next step is defining how you are going to utilise resource groups within your subscriptions.  Within each subscription resources can be segregated using Azure resource groups and role based access controls can be applied to users for their respective resource groups they need access to.  At the moment resource groups can’t be nested but this may change in the future


There are 2 ways to design the Azure resource group model as follows:



1) Segregate resources by department


By separating each department into their own resource group and putting all their resources they need access to into a resource group (e.g Virtual Servers), you can apply role based access controls at the resource group level, that way they only have permission to view and access only the resources in their respective department and not access any other departments resources. You will also be able to track their billing at the resource group level also.


Department azure resource group model



2) Segregate resources by workload deployment


Another option is to segregate your resources into types of workloads, for example – Web Tier, Application Tier, Management, Database Tier, etc
You can then apply RBAC to Active Directory groups and assign the AD Group to the Resources the users need access to. You then apply the Resource TAGs to resources that are being used by each department. You can then track the billing based on resources using the associated TAG as shown in the following image:

Azure resources by workload



Role Based Access Control


Role based access control (RBAC) allows you to control who has access to what resources within your Azure subscriptions.


azure Role based access controls


  • You’ll need to connect your corporate identity store (E.g Active Directory) to Azure Active Directory using the AD connect tool.
  • Control the Admin/Co-Admin of a subscription using a managed identity. Don’t assign Admin/Co-admin to a new subscription owner. Instead, use RBAC roles to provide Owner rights to a group or individual.
  • Add Azure users to a group (for example, Application X Owners) in Active Directory. Use the synced group to provide group members the appropriate rights to manage the resource group containing the application.
  • Follow the principle of granting the least privilege required to do the expected work. For example:
    • Deployment Group: A group that is only able to deploy resources.
    • Virtual Machine Management: A group that is able to restart VMs (for operations)


Naming Standards


Well-designed naming standards enable you to identify resources in the portal, on a bill, and within scripts. Most likely, you already have naming standards for your on-premises infrastructure. When adding Azure to your environment, you should extend those naming standards to your Azure resources. Naming standard facilitate more efficient management of the environment at all levels.


Recommendations on how you should name your resources in Azure are to use camelCasing for example ProductDevteamResourceGroup and vnetProduction

Consider using Azure Resource Manager polices to enforce naming standards




Andrew Fitzgerald

Cloud Solution Architect. Helping customers transform their business to the cloud. 20 years experience working in complex infrastructure environments and a Microsoft Certified Solutions Expert on everything Cloud

0 0 votes
Article Rating
Notify of
Newest Most Voted
Inline Feedbacks
View all comments
Deepak Gurejani

awesome amalgamation

Would love your thoughts, please comment.x