Challenge 03 - Azure Pipelines: Infrastructure as Code

< Previous Challenge - Home - Next Challenge >

Introduction

Great we now have some code, now we need an environment to deploy it to. In DevOps we can automate the process of deploying the Azure Services we need with an Azure Resource Manager (ARM) template. Review the following articles:

  1. Azure Resource Manager overview
  2. Create Azure Resource Manager template

Description

In Azure DevOps we can use Azure Pipelines to automate deploying our Azure infrastructure. For our application we will deploy 3 environments: Dev, Test and Prod. Each environment will consist of an Azure App Service, however all of our environments will share a single Resource Group, Azure App Service Plan, Application Insights Instance, and Azure Container Registry.

NOTE: In real world deployments you will likely not share all of these resources.

Please note, while you can create a pipeline with the UI with a Release Pipeline, we will be focused on the YAML pipelines for this hack.

Success Criteria

  1. Your infrastructure release should complete without any errors and you should see all three environments out in Azure.

Learning Resources

We are just scratching the surface of what is offered in Azure for Infrastructure as Code, if you are interested in learning more, there are multiple What the Hacks focused on Azure Infrastructure as Code: