Azure Blueprint

Prerequisite Knowledge

 
Before we start with the understanding of what Microsoft Azure blueprints are, we should have:

Background

 
I suggest going through my previous article to understand ‘Azure Resource Manager’ before we go through the Azure blueprint.
 
ARM gives a more structured approach to create and manage the resources inside the Azure cloud. By using the ARM template which is in JSON declarative format, we can deploy the resources easily.
 
In many cases, such as software product development or where we need to deploy the same resource with similar configuration and resources as standard, Azure blueprint comes into the  picture. Now let’s see what  Azure blueprint actually is.
 

Introduction to Microsoft Azure Blueprint

 
Azure blueprints help us to define a repeatable set of Azure resources that implements and adheres to an organization's standards, patterns, and requirements. Development teams can use this feature to rapidly build and set up the new environment while adhering to the policies and compliance of the organization. In simple words Azure blueprint is the reusable design parameter for the cloud which can be shared and used in enterprise.
 
We can create and manage this Azure blueprint by using Azure portal or with REST API’s. It is one click deployment for cloud foundation, pattern to an Azure subscription. Azure blueprints are backed up globally in different regions and datacenters by Azure Cosmos DB. This replication helps us for low latency, high availability and consistency.
 
Remember, Azure blueprint consists of the definition, meaning it consists of the design that should be deployed in to the Azure cloud. The definition consists of the name of the blue print and the definition location. Definition location is the place in the Management Group hierarchy where this Blueprint Definition will be stored.
 
Blueprints are a declarative way to compose the deployment of various resource templates and other artifacts such as,
  • Role Assignments – It allows you to add user, assign role, access etc.
  • Policy Assignments – It allows us to add Azure policy which can be built in or a custom policy.
  • Azure Resource Manager templates – It allows you to add the ARM template. Refer to my article on ARM here.
  • Resource Groups – Allows us to add a resource group.
Azure blueprint assignment is an activity for applying the blueprint when Azure blueprint is built and ready to apply. Some Azure blueprints can create the resources during the blueprint assignment and can be locked with a state like not locked (can change/deleted), read only, cannot edit/delete.
 

How does it differ from Azure resource manager (ARM) template?

 
This is a very interesting question. Azure resource manager has the same features as Azure blueprint. However, Azure resource manager document (JSON) has no place in Azure that will tackle the relationship between the ARM and where it is installed. We must store the ARM in the safe controlled repository. On the side, Azure blueprint is natively stored in Azure and tackles the relationship with deployment of resources. It can also be versioned and assign subscription. It helps with the auditing of the deployment operations. The single blueprint can be also used to update multiple subscriptions at a time.
 
Azure blueprint can have ARM templates as artifacts and are reusable with Azure blueprint. ARM template is important in Azure blueprint because it defines the variety of the resources in the resource group.
 
Microsoft Documentation
 
Define and assign blueprint using Azure portal
 
Reference Links
  • https://docs.microsoft.com/en-us/azure/governance/blueprints/overview
  • https://azure.microsoft.com/en-in/services/blueprints/
  • https://docs.microsoft.com/en-us/azure/governance/blueprints/
  • http://www.buchatech.com/2018/09/architect-your-cloud-with-azure-blueprints/
  • https://cloudacademy.com/blog/what-are-azure-blueprints/

Conclusion

 
In this article we have learned the overview of Microsoft Azure blueprint and its services.