Skip to main content

Implementing Application Infrastructure in Azure

Course

Intro Video

Photo of Tim Lawless

Tim Lawless

Training Architect

Length

03:00:00

Difficulty

Advanced

Videos

21

Hands-on Labs

2

Course Details

This course will cover how to implement Infrastructure as Code (IaC) and configuration management. These lesson will also illustraite how to provision Azure infrastructure using common automation tools, and how to deploy an application infrastructure using various Azure services and deployment methodologies. This Course is intended as a stand-alone course that can also be taken as part of a learning path, in conjunction with other courses, being developed, to work towards the AZ-400 Azure DevOps Expert Exam.

Syllabus

Getting Started

Course Introduction

00:03:17

Lesson Description:

As we start this course, this lesson provides an overview of what we cover in the course and how it can fit in with other courses around Azure DevOps.

About the Training Architect

00:01:03

Lesson Description:

In this lesson, we have a quick introduction to my background and experience as we move into Implement Application Infrastructure in Azure DevOps.I enjoy chatting with people and helping them study, so please feel free to reach out to me directly via Slack or in the community if you have any questions or thoughts on the course. - Email: tim.lawless@linuxacademy.com - Twitter: [@tim_lawless](https://twitter.com/Tim_lawless) - LinkedIn: [Tim-Lawless](https://www.linkedin.com/in/tim-lawless/)

Design an Infrastructure and Configuration Management Strategy

Analyze Existing and Future Hosting Infrastructure

00:03:31

Lesson Description:

This lesson looks at considerations around analyzing On-Premises and Azure environments, which is a key aspect to any successful cloud migration and optimized application Infrastructure. The tools looked at include Azure Migrate and Azure Advisor.

Analyze Existing Infrastructure as Code (IaC) Technologies

00:04:05

Lesson Description:

In this video, we will discuss the various Infrastructure as Code options to deploy resources and the Configuration Management tools available. This helps us understand the different tools and there intended purpose. In the lesson, we will look at both the Microsoft-based options and some of the third-party tools available.

Design a Strategy for Managing Technical Debt on Templates

00:05:10

Lesson Description:

Here, we look at Technical Debt and how to track and manage it. This is important to the success of any IT project. We will also see an example of an Azure DevOps Extension, NDepend, that can assist in tracking Technical Debt on Azure DevOps Projects.

Design a Strategy for Using Transient Infrastructure for Parts of a Delivery Lifecycle

00:04:13

Lesson Description:

This looks at the inefficiencies and risks involved with Transient Infrastructure. We will also look at some of the tools and techniques that can help manage track and control these changes over time. This helps us understand some of the tools and techniques covered in the following lessons.

Design a Strategy to Mitigate Infrastructure State Drift

00:06:51

Lesson Description:

This lesson looks at the problems caused by Configuration Drift and ways of managing it. It's important to understand the issues we're trying to solve and some of the tools and processes that can help mitigate and manage drift.

Implement Infrastructure as Code (IaC)

Create Nested Resource Templates

00:09:20

Lesson Description:

This looks at the process and structure of using linked and nested ARM Templates in your Azure environment. We also look at the benefits of approaching IaC this way and some examples to understand how it could be used.[Azure Traffic Manager Demo Setup](https://github.com/Azure/azure-quickstart-templates/tree/master/traffic-manager-demo-setup)

Manage Secrets in Resource Templates

00:02:48

Lesson Description:

This lesson looks at managing and creating secrets with Azure Key Vault using ARM Templates. This will be the main way of managing security credentials with ARM Template and in Azure, which is featured in this course.

Provision Azure Resources

00:06:54

Lesson Description:

Here, we look at the structure of ARM Templates and different ways of deploying them. ARM Templates are the core strategy for managing Infrastructure as Code in our environment.**Links Mentioned in the Lesson** Azure QuickStart Templates: https://github.com/Azure/azure-quickstart-templates

Recommended Infrastructure as Code (IaC) Strategy

00:04:27

Lesson Description:

This lesson looks further at ARM Templates and reviews some of the best practices to be aware of when managing your Infrastructure as IaC. This allows us to create optimized well-managed Infrastructure and Architecture.**Links Mentioned in the Lesson** *Azure QuickStart Templates:* [http://download.microsoft.com/download/8/E/1/8E1DBEFA-CECE-4DC9-A813-93520A5D7CFE/World%20Class%20ARM%20Templates%20-%20Considerations%20and%20Proven%20Practices.pdf](http://download.microsoft.com/download/8/E/1/8E1DBEFA-CECE-4DC9-A813-93520A5D7CFE/World%20Class%20ARM%20Templates%20-%20Considerations%20and%20Proven%20Practices.pdf)*Best Practices Article has moved to new site:* [https://thinkrethink.net/2017/12/06/best-practices-using-azure-resource-manager-templates/](https://thinkrethink.net/2017/12/06/best-practices-using-azure-resource-manager-templates/)*Azure QuickStart Templates:* [https://github.com/Azure/azure-quickstart-templates](https://github.com/Azure/azure-quickstart-templates)

Recommended Appropriate Technologies for Configuration Management

00:04:26

Lesson Description:

This lesson helps compare Third-Party Deployment and Configuration Management tools to help us understand which tools are most appropriate for which types of tasks and environments.

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

00:30:00

Manage Azure Kubernetes Service Infrastructure

Provision Azure Kubernetes Service

00:10:28

Lesson Description:

This lesson looks at a number of ways of deploying Docker containers and managing them at scale with Kubernetes. This is done using Azure Kubernetes Services, ARM Templates, and the Azure Portal. This is an important strategy to integrate into Azure DevOps Projects for deployment.

Create a Deployment File for Publishing to Azure Kubernetes Service

00:05:24

Lesson Description:

This lesson shows an example of creating a Kubernetes cluster via CLI using a YAML deployment file.Microsoft Documentation for Voting App Example: https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthroughVoting App Yaml Git Fork for download if desired: https://github.com/timlawless-la/azure-voteHow to Setup the Azure CLI: https://linuxacademy.com/cp/courses/lesson/course/4218/lesson/1/module/345**All commands used if you wish to follow along:** *Bash:* ```BashlsAz aks install-cliaz --versionaz group create --name KubeTestingRg --location eastusaz aks create --resource-group KubeTestingRg --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keysaz aks get-credentials --resource-group KubeTestingRg --name myAKSClusterkubectl get nodesLskubectl apply -f azure-vote.yamlkubectl get service azure-vote-front --watchHold ctrl-C on keyboard ```

Develop a Scaling Plan

00:03:45

Lesson Description:

This lesson looks at options and consideration for scaling AKS Clusters in the Azure Portal and via CLI. These methods help harness the power of containers at scale.**All commands used if you wish to follow along:** *Bash:* ```Bash az aks get-credentials --resource-group KubeTestingRg --name myAKSClusteraz aks show --resource-group KubeTestingRg --name myAKSCluster --query kubernetesVersion --output tableaz aks scale --resource-group KubeTestingRg --name myAKSCluster --node-count 10kubectl autoscale deployment azure-vote-front --cpu-percent=50 --min=3 --max=10kubectl get hpa ```

Implement Infrastructure Compliance and Security

Implement Compliance and Security Scanning

00:05:50

Lesson Description:

This lesson looks at scanning for a security vulnerability in Azure DevOps environments. It's important to build security scanning into your DevOps build process. This example looks at using the Whirtesources Bolt Extension.

Prevent Drift by Using Configuration Management Tools

00:06:14

Lesson Description:

This lesson looks at ways of Managing Configuration Drift, outside of DSC and Custom Script Extensions, which will be the focus of upcoming lessons. It's important to understand the range of tools available to us to manage configuration and prevent drift, as it takes a combination to maintain a healthy environment.

Automate Configuration Management by Using PowerShell Desired State Configuration (DSC)

00:06:31

Lesson Description:

This lesson looks at managing Configuration Drift using PowerShell Desired State Configuration (DSC). This is one of the most important tools for configuration management in Azure. This example also shows the execution via Azure Automation Accounts.

Automate Configuration Management by Using a VM Agent With Custom Script Extensions

00:03:44

Lesson Description:

This lesson looks at an alternative method of managing configuration - Custom Script Extensions and looks at an example of deploying this via an ARM Template. It is important to understand this method as it covers a range of scenarios outside of DSC.

Set up an Automated Pipeline to Inspect Security and Compliance

00:07:58

Lesson Description:

This lesson looks at a range of security tooling both in Azure and Azure DevOps. It's important for this course to understand the wide range of options available on the platform and when to use them.

Course Wrap Up

Conclusion and Next Steps

00:01:40

Lesson Description:

In this lesson, we take a look back at the topics and tools covered in this course, and we also recommend some next steps and future courses that will help your Azure DevOps development.I enjoy chatting with people and helping them with their studies, so please do feel free to reach out to me directly via Slack or in the community if you have any questions or thoughts on the course. - Email: tim.lawless@linuxacademy.com - Twitter: [@tim_lawless](https://twitter.com/Tim_lawless) - LinkedIn: [Tim-Lawless](https://www.linkedin.com/in/tim-lawless/)

Take this course and learn a new skill today.

Transform your learning with our all access plan.

Start 7-Day Free Trial