hands-on lab

Application Load Balancing with Azure Application Gateways

Up to 2h
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.


Azure Application Gateways are HTTP/HTTPS load balancing solutions. Compared to Azure Load Balancers which are TCP/UDP load balancing solutions. Similar to Azure Load Balancers, Application Gateways can be configured with internet-facing IP addresses or with internal load balancer endpoints making them inaccessible via the internet. Application Gateways are ideal when you require some of the following features:

  • Web-based traffic in any HTTP, HTTPS, or WebSocket protocols
  • TLS/SSL offloading
  • Built-in web application firewall
  • Cookie affinity for sticky sessions

This Lab will take you through a scenario of deploying a web application in Azure, and creating and configuring an Application Gateway to load balance the web application's traffic. The Lab uses the Azure CLI to create and configure resources in the Lab environment.

Lab Objectives

Upon completion of this Lab, you will be able to:

  • Use an Application Gateway to load balance application traffic
  • Understand the use cases for an Application Gateway and when to use an Azure Load Balancer instead
  • Familiarize with the Azure CLI to inspect, create, and update resources in a resource group
  • Deploy applications to Virtual Machine Scale Sets (VMSS) using VMSS extensions

Lab Prerequisites

You should be familiar with:

  • Working at the command line in Linux
  • Basic Azure concepts including resource groups, virtual networks, VMs, and the Azure CLI


November 8th, 2023 - Resolved application gateway creation issue

July 24th, 2023 - Updated lab to use Standard_v2 Application Gateway

September 23th, 2022 - Migrated lab to use Cloud Academy Web Terminal

February 24th, 2022 - Updated the Application Gateway CIDR address in the environment diagrams

May 20th, 2020 - Reverted some lab steps to account for a closed issue with the Azure CLI

May 5th, 2020 - Added a validation check function to check the work done in the lab

March 16th, 2020: Refactored some lab steps to get around an open issue with the Azure CLI

Environment before

Environment after

About the author

Logan Rakai, opens in a new tab
Lead Content Developer - Labs
Learning paths

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.

LinkedIn, Twitter, GitHub

Covered topics

Lab steps

Logging in to the Microsoft Azure Portal
Logging In to the Azure CLI in the Web Terminal
Understanding Azure Application Gateways and the Lab Scenario
Creating an Application Gateway to Load Balance VMSS Traffic
Using a VMSS Extension to Deploy a Web Application to the VMSS
Configuring the VMSS as the Application Gateway Backend Pool