As companies host more and more infrastructure components in the Azure cloud, deploying these resources in an automated way becomes a key factor. You should be able to create required resources multiple times with little effort and minimal time investment.
Keeping track of your deployments and rolling back if needed is another important aspect of maintaining your infrastructure. Source control systems can help to accomplish this, not only for application code but also for your infrastructure elements.
In this workshop you will learn about the tools you can use to achieve these goals in an Azure environment. From basic automation with PowerShell and the Azure CLI, to fully automated deployments with Bicep files and GitHub Actions.
Module 1: Azure Automation Tooling Overview
This module introduces the tooling available for automation in Azure. Scripting tools like PowerShell and Azure CLI can be quite useful to create and modify deployments. ARM templates and Terraform allow you to define a configuration file that fully describes your environment and can be redeployed at any time.
Module 2: The Bicep Language
One of the languages available to create resources in Azure is Bicep. This new language is a layer on top of ARM templates with a simple and easy-to-use syntax. In this module you will learn all about the Bicep language and how it can benefit your deployments.
Module 3: Source Control with GitHub
Sources are probably the most important part in any software project, and we need a way to keep track of all sources and their changes. In this module you will learn to use Git(Hub) to store the assets needed to deploy your infrastructure, such as Bicep files and Terraform configurations.
Module 4: Continuous Deployment with GitHub Actions
With continuous deployment you can automatically setup a complete environment containing all the required infrastructure components to host your applications, whenever and wherever you want. On top of that you can make sure everything remains in the desired state and roll back to a previous state if needed.