Practical DevOps with Microsoft Azure
4.0 (48 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
313 students enrolled

Practical DevOps with Microsoft Azure

Automate your operations on the cloud to deliver software faster and more reliably with DevOps projects on Azure.
4.0 (48 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
313 students enrolled
Created by Packt Publishing
Last updated 4/2019
English [Auto-generated]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Develop a fully scalable solution on Azure using PaaS services to easily manage your users' traffic peaks
  • Design your application's architecture as cloud-native and asynchronous in nature to allow better cost savings and higher profits.
  • Deploy your solution as a Web App, a container, or a fully managed Kubernetes cluster; forget about operating a website and focus more on business leads.
  • Deploy databases and caching solutions on Azure to save costs and be protected from DDoS and other attacks.
  • Develop customer-centric engagement and retention solutions using best-in-class AI and Machine Learning solutions on Azure, so that you can reach them quickly, even on vacations.
  • Secure your web application with Azure AD, an Identity-as-a-Service service, enabling you to authenticate your users and secure their data in the GDPR world.
  • Safely balance your traffic loads across several nodes on the cloud/or off the cloud, so that you can provide the best experience to your users, even during sales
  • Work with DevOps for modern-day application lifecycle management and automate your apps on the Azure Cloud platform
Course content
Expand all 62 lectures 04:42:13
+ DevOps with Azure
30 lectures 02:41:31

This video will give you an overview about the course.

Preview 02:08

The aim of this video is to learn about DevOps.

  • Learn the differences between DevOps and Traditional SDLC

  • Explore the advantages over Traditional SDLC

DevOps Overview

The aim of this video is to learn about how Agile differs from DevOps in practice.

  • Get in-depth understanding of Agile Software Development

  • Learn more about the differences and its uses

Agile versus DevOps

The aim of this video is to learn about version control and how Git can greatly add to the DevOps pipeline.

  • Explore Git Version Control System

  • Take a look at a few examples on the different ways Git can be used to realize its benefits

  • Learn about Git Branching

What Is Version Control?

The aim of this video is to get introduced to CI/CD.

  • Explore different methods to achieve Continuous Integration

  • Study the GitFlow workflow

  • Take a look at an example of Git-branching

Implementing DevOps

The aim of this video is to learn about Infrastructure as Code.

  • Know how operations function in an organization

  • Explore the IaC technologies

  • Discuss the advantages of IaC

Infrastructure as Code

The aim of this video is to learn about continuous monitoring.

  • Get an overview of continuous monitoring

  • Learn the 7 best practices

Continuous Monitoring

The aim of this video is to focus on Docker containers and how to install and configure Docker on Azure Virtual machine.

  • Get in-depth understanding of containers

  • Learn the various benefits of containers

  • Setup and install Docker on Linux machine

Preview 06:46

The aim of this video is to learn about the basic commands used to interact with Docker container system.

  • Learn about the various commands and execute them

  • Discuss the new concept of port

  • Create a container in Docker

Working with a Container

The aim of this video is to create custom images using Dockerfile.

  • Walk through an example in the documentation

  • Get an in-depth understanding of a Dockerfile and how to run commands

  • Build an image and run the container

Creating Custom Images Using Dockerfile

The aim of this video is to learn how to publish containers in Docker Hub and Azure container registry.

  • Login to Docker Hub registry and then to the command line

  • List images locally and instruct Docker to Push the image to the Docker hub

  • Tag image for Azure in the command line

Pushing Containers to Docker Hub and ACR

The aim of this video is to learn about the challenges and need for Kubernetes in detail.

  • Explore the challenges for running multiple containers

  • Take a look at the arising queries when running containerized systems in a production environment

  • Study in detail about Kubernetes

Need for Kubernetes

The aim of this video is to learn about Kubernetes and the practical orchestration of containers

  • Take a look at a Case study

  • Discuss how Kubernetes can assist

  • Perform practical orchestration of a container

Working with Kubernetes

The aim of this video is to explore more about Azure DevOps.

  • Discuss the features of Azure DevOps service

  • Learn in detail the six principals of Azure DevOps Services

Overview to Azure DevOps

The aim of this video is to learn about Work items, Kanban and Dashboard to track progress.

  • Study azure boards in detail

  • Work on a project example

  • Connect a work item to a commit in a Git repo

Azure Boards

The aim of this video is to create an application using Dockerfile placed in a Git repository.

  • Discuss the difference between TFS and Git

  • Clone the repo from azure Git repo

  • Build and push an image

Version Control with Azure

The aim of this video is to create pipelines to run a test of the application.

  • Install pytest

  • Create a test file and integrate the test into Azure DevOps

  • View test results using analytics

CI with Azure Pipelines

The aim of this video is to take a deeper look some of the key points of pipelines and examine an alternative method for designing and interacting with our pipeline.

  • Study in-depth about pipelines

  • Review the Docker build step and Docker push to registry steps

  • Review build result, logs and find what test failed

Playing with Azure Pipelines

The aim of this video is to get an overall understanding of Azure Kubernetes Service.

  • Explore in detail about AKS

  • Compare Classic Azure IaaS and New Azure IaaS

  • Learn the advantages of using AKS

Overview of AKS

The aim of this video is to deploy an AKS cluster using the Azure portal.

  • Create an AKS cluster

  • Authenticate your cluster

  • Connect to the cluster and run your application

Creating a Cluster

The aim of this video is to learn about ARM templates

  • Study the Azure Resource Manager architecture

  • Learn the concept and advantages of ARM

  • Discuss the features of ARM

Implementing ARM Templates

The aim of this video is to learn to create a cluster using terraform.

  • Study in-depth about terraform

  • Create a Kubernetes cluster with Azure Kubernetes service and Terraform

  • Recover from a Cloud Shell timeout, and finally test the Kubernetes cluster


The aim of this video is to learn about the continuous delivery of our app.

  • Create a release Pipeline

  • Extend a release pipeline by adding stages

  • Monitor and track deployments

Continuous Delivery of Our App

The aim of this video is to see how the build gets triggered when changes are made to the files in our Azure Repo.

  • Log in to your Visual Studio account

  • Select the project you are working and make changes

  • Navigate to the Build tab under Pipelines

Working of Our Pipeline

The aim of this video is to learn the basics of Azure Monitor and get to know its advantages.

  • Study the high-level view of Azure Monitor

  • Understand its working in detail

  • Study the workflow of Azure Monitor

Overview of Azure Monitor

The aim of this video is to learn what Azure Monitor for containers provide, and then enable monitoring from Azure Monitor.

  • Explore what Azure Monitor for containers provide

  • Enable monitoring from Azure Monitor

Azure Monitor for Containers

The aim of this video is to Query and analyze container logs in the AKS cluster running our app.

  • Create a simple search and retrieve data

  • Filter the results of the query

  • Work with the results

Working with Container Logs

The aim of this video is to create a metric measurement alert rule, and then view the alerts in Azure portal.

  • Create a metric measurement alert rule

  • Configure the alert

  • View your alerts in Azure portal

Setting Up Alerts

The aim of this video is to learn how we can have Azure Monitor automatically create work items in our Azure DevOps Board.

  • Setup a central monitoring point using Application Insights

  • Connect the web application to our monitor service

  • Review the monitoring blade

Connecting Azure Monitor to Azure Boards

This video will give you a review on the topics learnt so far.

  • Take a tour of what we’ve achieved learning in each section

  • Take a note of the reference links for further study

Test your knowledge
4 questions
+ Hands-On DevOps on Azure
32 lectures 02:00:42

This video will give you an overview of the course.

Preview 05:26

The aim of this video is to discuss different perspectives of software development, from basic software engineering to its tools, patterns, strategies, and frameworks up to the modern software.

  • Discuss different models and a little about their implementations and role in the software development lifecycle

  • Highlight the features of common SDLCs and then discuss how complexity grows in a traditional software development process

  • Get a quick overview of Agile flow and its requirements

Modern Software Engineering

Discuss why we need to take a step ahead from Agile to DevOps.

  • Discuss the relationship between the developer and operations teams

  • Explore how DevOps bridges the gaps and how automation makes the flow smoother by taking maximum control of the ongoing process

  • Oversee and talk about the responsibilities that a DevOps team should possess in order to have the real ownership

From Agile to DevOps

Potentially, we’ll see what CI/CD is and the misconceptions related to its role in this whole DevOps chain.

  • Learn about the base line where Dev and Ops meet and the actual concept behind it

  • Discuss the continuous nature of DevOps flow and how much it impacts the overall process

  • Address actual outcomes and role functionality of these two major phases (CI/CD), and the code-level benefits of being in the DevOps chain

Continuous Integration and Delivery

From start to the end, learn the entire flow that needs to be followed and how this cycle makes the things less frictional.

  • Learn about the different phases and the given eases and benefits of each of these phases

  • Study the concept of DevOps and SRE engineers

  • Get to know what DevOps is for developers and how they should consider playing their role for it

DevOps Cycle

There are many different cloud platforms that support DevOps practices, but you need to choose wisely which one ideally suits your requirements.

  • Understand why Microsoft Azure could provide a suitable cloud platform to offer the needed services and tools

  • Highlight the different features offered by Microsoft Azure to make the DevOps implementations easy and scalable

  • Discuss a few other reliable tools that make Azure a more powerful option, that is, VSTS

Why Azure?

What is it about and what does it offer to make things organized and updated within the team?

  • It offers a cloud-based solution of Visual Studio team foundation services

  • Explore the role of VSTS throughout the course

  • Learn how efficiently it works with Azure and provide connectivity to it

Visual Studio Team Services Overview

The aim of this video is to learn how VSTS works in integration with Azure.

  • Learn what VSTS offers as a service: endpoint connectivity, user accounts, Azure AD, and so on

  • Discuss Azure AD, the principles that help us to access other resources for the DevOps pipeline, and overall development

  • Take a look at how the ‘DevOps Project’ helps a team to commit, build, release, and do analytics using VSTS

VSTS on Azure

Learn what it supports, and how it opens the path to use many other third-party open source tools and services.

  • Know how Azure supports the idea of working with open source tools and technologies

  • Learn why Microsoft loves open source and became an open source contributor, and where Azure stands in it

Azure Ecosystem

Azure DevOps project is not a typical DevOps project. It’s a platform that provides ease to go along with all the steps included in DevOps implementations, but on the other hand, it has some limitations. They need to be considered beforehand.

  • Understand what the considerable limitations are when we decide to work with a DevOps project

  • Jot down a list of scenarios and questions on which you should consider your needs and requirements

  • Discuss the role of Azure DevOps, VSTS, and App Service from different types of actions involved in the DevOps lifecycle

Pre-Planning and Limitations

The aim of this video is to discuss multiple considerable things while creating an account.

  • Talk about how to make a selection of runtime

  • Discuss how to select a VSTS account as per the app’ needs

  • Understand the terms to create an Azure App Service

Creating a DevOps Account

Learn how to access the DevOps dashboard and the features we need to get familiar with.

  • Discuss all of the accessible information at a dashboard

  • Learn about reporting of the version control system, repository information, and so on shown on the dashboard

  • Learn how error messages work in analytics and how we can see the site traffic from the dashboard

Understanding Dashboard

The aim of this video is to discuss version control in VSTS (Visual Studio Team Services) and how to use it for building and managing our applications.

  • Discuss properties like number of allowed repositories, their accessibility, and so on.

  • Look into the user account and security settings. Target other topics like REST APIs, GIT commands, and online code editors.

  • Highlight some of the possible limitations: storage, import, export options, and supported large filesystem by GIT.

Version Controls in VSTS

This video is a demonstration of how we can configure the continuous integration pipeline or edit the pipeline that is already created by Microsoft Azure for us.

  • Learn how to add tasks and agents in the pool, and create and utilize the variable for our CI pipeline

  • Explore how to set triggers and why exactly we need them

  • Specify the build artifacts, specify the retentions, and look for the history and summary settings as well

Continuous Integration Configuration

We discuss why exactly we need to test our application and what the right steps to test our application functionality and expected behavior would be.

  • Discuss why VSTS keeps testing applications

  • Know the tools and scripting languages used by DevOps pipelines

  • Learn what would happen in case of failure, to whom the alerts will be sent, and so on

Testing Apps

In this video, we walk though some hidden gems of a DevOps project, such as the release environment, staging with best practices, and supported tools by VSTS (FTP, PowerShell, VM deployment, and so on).

  • The build pipelines were created and configured the release settings

  • Discuss the practical insight of the phases like integration, testing, and deployment

  • Discuss Azure support for deployment slots

Release Environments

Learn how we can include more agents (especially the Azure Virtual Machine), the need for it, and how we can improve the performance using these virtual machines.

  • Learn what packages and products we can install on these virtual machines, and how we can download the installer for this

  • Discuss the benefits of using these agents and the different types of cross-platform agents

  • Explore the account settings

Azure Build Agents

There are some necessary settings and configurations to understand in order to get the expected behavior while working with Azure App Service. We’ll go through all the settings in this video.

  • Explore environment variables and learn how to set them

  • Discuss the privacy and policy settings, and how we can store passwords and connection strings securely

  • Get to know how we can set different alerts and render the default pages at times when our site is down

Azure App Service Settings

The concept of deployment slots is an advanced topic, provided by Azure for ease while deploying and maintaining our applications over the Azure portal.

  • Learn the benefits of having deployment slots

  • Know how we get the endpoint in the same service and same subscription for the other instances of our application

  • Discuss how we can manage the load without missing the traffic

Deployment Slots for Environments

Create a test environment and also learn about other settings such as instance scaling and API integration.

  • Explore how deployment slots can be used as the production environment

  • Discuss how your application will behave at times when new changes will be pushed

  • Test the working of REST APIs and their requests

Testing Production Configurations

This is the concept: our users will not face downtime issues because we have already set and tested the overall functionality after committing the code in the deployment slots directly.

  • Learn the deployment slots and how we test overall app functionality

  • Discuss how downtime affects user experience when there are updates in the code

  • Learn how there will be no downtime and no user request that will be missed on swapping the IPs of production and testing slots

Zero-Downtime Release

Branches are created in order to keep our main branch clean. Separate branches can have code about which we’re not 100% sure to proceed with. So, the benefit of these branches is maintaining the track and builds separately.

  • Create a subbranch and then commit the code in it

  • Merge these branches with the master branch if our team decides to proceed with these changes

Add Branches to the Repository

We’ve talked about CI in the starting sections. Now we’ll see how we can implement it and create the build environment to have the CI applied on it. Which is one of the major go-to steps in the DevOps cycle.

  • Decide on either to import the build definition or to create a new one

  • Select the template and then add tasks in it

  • Set variables and configure other settings so that our build will listen to all the changes onward

Continuous Integration

We’ve talked about deployment in the starting videos. Now in this video, we will talk about how we set up the release environment and set it up properly.

  • Create an empty release environment

  • Select either a template for pre-configurations and dependencies, or our custom libraries

  • Select artifact to get the build results in order to proceed and start the build


In this video, we learn to commit the code using GIT commands from the command line. We understand different commands and their usage.

  • Initialize the repositories and add code

  • Commit the changes locally

  • Push the changes to remote repository

Committing the Code

In this video we’ll analyze our repository after we have committed the code.

  • Learn which build has been triggered and who has triggered this build

  • Know what changes have occurred in our release environment

  • Navigate to the home page with all the latest changes

Investigating the Workflow

The aim of this video is to learn how to set alerts.

  • Learn to send a notification

  • Explore role-based alerts

  • Discuss team-bases alerts and how to configure them

Notifications for DevOps Pipelines

For the monitoring and all the insights, such as traffic load, timely requests, success, error codes, and so on, we need to have a monitoring tool. For this purpose, we’ll use Microsoft’s own library, which is Application Insights.

  • Download Application Insights using npm and install it

  • After installing the package using npm, we’ll import it using ‘require’

  • Use Application Insights to report and track all the traffic and happenings on our site

Adding Application Insights

Learn how monitoring works and how you can visualize the stats, requests, and all trends based on different activities and actions.

  • Examine the wider view, where we can analyze each request with its return code and status

  • Discuss the options using which we can fix issues and errors before our users will encounter them

  • Examine the useful stats and properties that we can view from our application dashboard and how these can be useful for us

Monitoring the Site Activity

The aim of this video is to learn how we can fix the code issues and the useful options for patching. These issues will be fixed after analyzing the code properly.

  • After analyzing the root cause, optimize and fix the code

  • Discuss the possible solutions for the issues found

  • Test the performance of the code

Resolving Error and Patching

Alerts are extremely useful for small as well as large teams. We can configure them to track any type of behavior or event in order to tackle issues and dynamically change tracks, quickly and smartly.

  • Learn how we can put different conditions to make rules and define the time and frequency constraints

  • Demonstrate how to make alert groups in order to combine multiple alerts and rules

  • Set the email notifications for different roles

Alerts in Application Insights

This video will give you the summary of the course

Course Summary
Test your knowledge
5 questions
  • Prior basic Knowledge of Azure is assumed.

You might have come across slow development cycles due to traditional infrastructure management processes. Azure DevOps is everything you need to build your software product from beginning to end! The project helps to deploy applications, add test environment to validate your production, manage the code flow and high quality. If you’re looking to automate your operations to deliver reliable code & software faster with Azure DevOps then is the perfect Course for you!

This comprehensive 2-in-1 course follows a hands-on approach to plan, manage and monitor your applications by implementing DevOps using Microsoft Azure. Initially, you’ll acquire a deeper insight into implementing DevOps. You’ll understand how containerization technologies work as well as execute tests across your applications with continuous integration. Moving further, you’ll work with DevOps for modern-day application lifecycle management and automate your apps on the Azure Cloud platform. Finally, you’ll configure a full CI/CD pipeline for any Azure app using the language and app framework you want.

Towards the end of this course, you'll be able to automate your operations on the cloud with Azure DevOps to deliver software faster and more reliably with DevOps projects on Azure.

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, DevOps with Azure, covers Implementing DevOps using Microsoft Azure. This course is a complete guide on how to implement DevOps using Microsoft Azure. You'll learn how to plan your projects with agile tools, manage your code using Git, and deploy your code through the best CI/CD systems. You'll be empowered to get full traceability and visibility across all your development activity. By the end of this course, you will learn how you can get Azure on board as a unified DevOps environment.

The second course, Hands-On DevOps on Azure, covers delivering software faster and more reliably with DevOps projects on Azure. In this course, you will delve into the DevOps support on Microsoft Azure and investigate about the teams that can migrate their existing DevOps solutions to Microsoft Azure, using Azure DevOps project. By the end of this course, you will be an expert in testing, deploying, and monitoring your applications with Azure.

Towards the end of this course, you'll be able to automate your operations on the cloud with Azure DevOps to deliver software faster and more reliably with DevOps projects on Azure.

About the Authors

  • Allen ONeill is a consulting engineer with a background in enterprise systems. He runs his own company specializing in system architecture, optimization, and scaling. Allen is a chartered engineer, a Fellow of the British Computing Society, and a Microsoft MVP and Insider, a CodeProject and C# Corner MVP.

  • Afzaal Ahmad Zeeshan is a computer programmer from Rabwah, Pakistan, and likes .NET Core for regular everyday development. He is an expert with Cloud, Mobile, and API development. Afzaal has experience with the Azure platform and likes to build cross-platform libraries/software with .NET Core. Twice he has been awarded Microsoft MVP status for his work in the field of software development, twice CodeProject MVP status for technical writing and mentoring, and 3 times C# Corner MVP status in the same field.

  • Iqra Ali is a software engineer at MIXIT-Technologies USA and an author at CodeProject and CSharpCorner, and she is from Karachi, Pakistan. She spends most of her time contributing to open source world and authoring technical articles. Iqra is an expert .NET developer and has worked on several .NET and DevOps related projects in her professional career. In her spare time, she spends time contributing to CSharpCorner and other alike platforms, helping others in the open communities.

Who this course is for:
  • This course is perfect for:
  • System Administrators, Developers, Cloud Engineers, IT and DevOps Professionals who would like to implement DevOps techniques and best practices to manage IT infrastructures or would like to acquire the necessary skills needed to work in DevOps teams.