Module 1: Using Azure PowerShell / Azure CLI 2.0 / Azure Cloud Shell
To create and manage Azure infrastructure solutions in a consistent manner at scale, some form of automation is typically desired. There are many tools and solutions that allow you to automate the complete Azure infrastructure deployment and management lifecycle. This module introduces some of the infrastructure automation tools that you can use in Azure.
Installing and configuring Azure PowerShell Installing and configuring Azure CLI 2.0 Using Azure Cloud Shell Using Visual Studio Code
Module 2: Automating Azure Networking
This module introduces the student to automating Azure Networking and its common management tasks.
Creating a virtual network Implementing network security groups (NSG) Configuring VNet peering
Module 3: Automating Azure Storage
This module introduces the student to automating Azure Storage (Blob and File storage) and its common management tasks.
Create a storage account and retrieve the access keys Perform Azure Blob storage operations Migrate Blobs across storage accounts Uploading a VHD to Azure Storage Creating, connecting, and mounting Azure File Share
Module 4: Automating Azure Virtual Machines
This module introduces the student to creating, configuring, and managing Azure Virtual Machines (VM) using different automation techniques.
Creating Azure VM Creating highly available virtual machines Managing a VM using VM extensions (Custom Script, DSC...) Monitoring a VM with Operations Management Suite (OMS) Creating a managed image of a generalized VM Creating a VM from a managed OS disk Back up a virtual machine Encrypting virtual disks on a VM
Module 5: Azure Automation
This module introduces the student to using the Azure Automation service that works the best when it is linked to the Operation Management Suite (OMS). Student will learn how to author, test, and schedule automation runbooks to automate and monitor Azure infrastructure. Azure Automation can run across both Windows and Linux VMs, as well as on-premises virtual or physical machines with a hybrid runbook worker.
Implementing OMS Configuring Automation accounts Creating runbooks Adding a module Importing and scheduling a runbook Starting a runbook
Module 6: Azure Automation DSC (Desired State Configuration)
Azure Automation also provides a Desired State Configuration (DSC) service that allows you to create definitions for how a given set of VMs (Windows and Linux) should be configured. This module details how to ensure that the required configuration is applied and the VM stays consistent.
Desired State Configuration (DSC) Overview Onboarding machines for management Compiling DSC configurations Configure machines to a desired state and manage drift Forwarding Azure Automation DSC reporting data to OMS
Module 7: Azure Resource Manager Template
This module walks a student through the steps of deploying Azure resources using the Azure Resource Manager (ARM) templates. ARM templates are files that define the resources we need to deploy for our solution. They enable idempotent deployment of Azure infrastructure resources and combined with PowerShell DSC give us a full declarative solution to build our environment and provision our VMs.
Visual Studio Code extension for ARM templates Understanding the structure and syntax of ARM templates Creating an ARM template Deploying an ARM template View deployment operations Export an ARM template and redeploy
Module 8: DevOps in practice with Visual Studio Team Services and Azure VM
To automate the build, test, and deployment phases of application development, you can use a continuous integration and deployment (CI/CD) pipeline. In this module, we create a CI/CD pipeline using Visual Studio Team Services and an Azure Windows VM with IIS.
Publishing an ASP.NET web application to a Team Services project Creating a build definition that is triggered by code commits Installing and configuring IIS on a virtual machine in Azure Adding the IIS instance to a deployment group in Team Services Creating a release definition to publish new web deploy packages to IIS Testing the CI/CD pipeline.
Module 9: 3rd-party Automation Tools (1): Ansible
Ansible is an automation engine for configuration management, VM creation, or application deployment. Ansible uses an agent-less model, typically with SSH keys, to authenticate and manage target machines. Configuration tasks are defined in playbooks, with a number of Ansible modules available to carry out specific tasks.
Installing and configuring Ansible Creating a basic VM Create a complete VM environment including supporting resources
Module 10: 3rd-party Automation Tools (2): Terraform
Terraform is an automation tool that allows you to define and create an entire Azure infrastructure with a single template format language. You define templates that automate the process to create network, storage, and VM resources for a given application solution. Terraform simplifies the infrastructure deployment without needing to convert to an Azure Resource Manager template.
Installing and configuring Terraform with Azure Creating an Azure infrastructure with Terraform.