Seeking clarification about the differences between Infrastructure as Code and Azure Blueprints

anil kumar 1,641 Reputation points


I am unable to figure out if Infrastructure as Code and Azure Blueprints are same things or there is some crucial differences between them - Could you please help me out?

Azure Blueprints empowers the end users to recreate a specific environment with certain resources and destroy when you are done to reduce costs. Infrastructure as Code also seems be doing the same thing. May be Infrastructure as Code is declarative and Azure Blueprints are prescriptive but not sure actually. In a way Serverless Compute is also declarative - is that also part of Infrastructure as Code?

Appreciate your insightful response. Thank you!!

Azure Blueprints
Azure Blueprints
An Azure service that provides templates for quick, repeatable creation of fully governed cloud subscriptions.
70 questions
0 comments No comments
{count} votes

Accepted answer
  1. prmanhas-MSFT 17,891 Reputation points Microsoft Employee

    @anil kumar Apologies for the delay in response and all the inconvenience caused because of the issue.

    Azure Blueprints and IAC on Azure are definitely different terms related to different components in Azure.

    First considering the IAC as mentioned here Infrastructure as Code (IaC) is the management of infrastructure (networks, virtual machines, load balancers, and connection topology) in a descriptive model, using the same versioning as DevOps team uses for source code. Like the principle that the same source code generates the same binary, an IaC model generates the same environment every time it is applied. IaC is a key DevOps practice and is used in conjunction with continuous delivery. Azure provides native support for IaC via the Azure Resource Manager. Teams can define declarative templates that specify the infrastructure required to deploy their solutions.

    In Azure, you also have to think about resource groups, RBAC permissions and Azure policies. You might have multiple Azure subscriptions in your organization and need a way to centrally manage them all.

    Azure Blueprints is the solution for that. It combines ARM templates, Azure policies, resources group structures and RBAC permission in a single package. In Azure Blueprints these different kinds of resources are called artifacts. You apply the blueprints to one or more subscriptions and Azure will automatically build and configure accordingly. More information here.

    Now as mentioned above IAC is supported via ARM in Azure. Nearly everything that you want to include for deployment in Azure Blueprints can be accomplished with an ARM template. However, an ARM template is a document that doesn't exist natively in Azure - each is stored either locally or in source control. The template gets used for deployments of one or more Azure resources, but once those resources deploy there's no active connection or relationship to the template.

    With Azure Blueprints, the relationship between the blueprint definition (what should be deployed) and the blueprint assignment (what was deployed) is preserved. This connection supports improved tracking and auditing of deployments. Azure Blueprints can also upgrade several subscriptions at once that are governed by the same blueprint. More info here.

    In short IAC will be the piece of code embedded in ARM in Azure to help with architect of development side while Azure Blueprint is the big picture which can help you architect almost everything not coming under scope of IAC.

    You can refer to this as well to see integration of IAC with Azure Blueprint.

    Hope it helps!!!

    Please "Accept as Answer" if it helped so it can help others in community looking for help on similar topics.

    Disclaimer: This response contains a reference to a third-party World Wide Web site. Microsoft is providing this information as convenient to you. Microsoft does not control these sites and has not tested any software or information found on these sites; therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there.
    There are inherent dangers in the use of any software found on the Internet, and Microsoft cautions you to make sure that you completely understand the risk before retrieving any software from the Internet.

0 additional answers

Sort by: Most helpful