Adding a What-If to an ARM Azure DevOps Pipeline

Adding a What-If to an ARM Azure DevOps Pipeline

Azure DevOps
When deploying ARM templates via Azure PowerShell/CLI or Azure DevOps pipelines, it is extremely useful to know what actions will be performed.Sure creating a storage account is simple to understand the outcome, but in a complicated existing environment knowing what resources will be added, modified or removed is very important to validate. Microsoft added a new What-If option to the Azure PowerShell and Azure CLI modules, which outputs exactly what changes it will make, so you can confirm the actions before running the deployment.This is very similar to a Terraform "Plan" which will validate which resources will be added, modified or destroyed and helps identify any obvious configuration issues or dependencies before a Terraform "Apply" aka deployment. For information on What-If can be found here on MS Docs: ARM template…
Read More
Create an Azure DevOps Release Pipeline for ARM Template Deployment

Create an Azure DevOps Release Pipeline for ARM Template Deployment

Azure DevOps
Azure DevOps provides pipelines for both Continuous Integration (CI) aka "Build" and Continuous Delivery (CD) aka "Release". In this post I will create a Release Pipeline to deploy an ARM Template using an Artifact produced in a Build Pipeline we created previously here: Create an Azure DevOps Build Pipeline (Classic) for ARM Template Deployment. Artifacts The end result of our Build pipeline, was an Artifact containing our validated ARM Template. This Artifact can be viewed by clicking on the “1 published” link on the Build pipeline run summary page. This will take you to the Artifact within a drop folder containing our azuredeploy.json and azuredeploy.parameters.json files which create a storage account. Release Pipeline We are now going to create a Release pipeline to perform an ARM template deployment and create…
Read More
Create an Azure DevOps Build Pipeline (Classic) for ARM Template Deployment

Create an Azure DevOps Build Pipeline (Classic) for ARM Template Deployment

Azure DevOps
Azure DevOps provides pipelines for both Continuous Integration (CI) and Continuous Delivery (CD). It also provides Git based Repos to store source files (in our case ARM templates) and version control them. In this post I will create a Build Pipeline (also known called as a "Classic" build pipeline) to validate the ARM template and create an Artifact.Then in a follow up post I will create a Release Pipeline (CD) to deploy the ARM template based on the Artifact created in this Build Pipeline (CI). There are lots of ways of working with Pipelines in Azure DevOps (ADO). This is one way of doing it.Another way is skip the build pipeline all together and go straight to release without creating an Artifact, or use the newer YAML based pipeline which…
Read More
Create an Azure Bastion

Create an Azure Bastion

Azure, Azure Networking
Azure Bastion is a PaaS service which allows you to securely connect to Virtual Machines using the Azure Portal using HTTPS without having to expose RDP or SSH to the internet via a public IP. This removes the risk of having a jump box exposed to the internet which is insecure. Azure Bastion also ensures anyone connecting is already authenticated via the Azure portal, before being prompted for server login credentials.It is simple to deploy a bastion host and there aren't any additional extensions to install on the VM or within your browser for this to work. "Azure Bastion is a fully managed service that provides more secure and seamless Remote Desktop Protocol (RDP) and Secure Shell Protocol (SSH) access to virtual machines (VMs) without any exposure through public IP…
Read More