Azure Application Gateway is a web traffic load balancer that enables you to manage traffic to your web applications. It provides advanced routing capabilities to direct client traffic to the backend pools. This document outlines the key features that make Application Gateway a powerful tool for modern web applications.
Application Gateway can decrypt incoming SSL/TLS traffic, allowing decryption to occur at the gateway. This offloads the decryption overhead from your backend servers and simplifies SSL certificate management. You can then choose to re-encrypt traffic to the backend or send it unencrypted.
Key aspects:
Application Gateway includes an integrated Web Application Firewall (WAF) that helps protect your web applications from common web exploits and vulnerabilities. It provides protection against threats like SQL injection, cross-site scripting (XSS), and other common attacks.
The WAF offers:
Also known as "sticky sessions," this feature ensures that all requests from a particular client are sent to the same backend server. This is crucial for applications that rely on server-side session state and cannot handle requests distributed across multiple servers.
Application Gateway allows you to route traffic to different backend pools based on the URL path of the request. This is extremely useful for microservices architectures or monolithic applications where different URL paths map to different services or application modules.
Example:
/images/*
routes to the image backend pool/api/*
routes to the API backend pool/*
routes to the default web server poolThis feature enables you to route traffic to different backend pools based on the host header in the HTTP request. It's essential for hosting multiple websites on a single IP address. Application Gateway supports wildcard host names for more flexible configurations.
Application Gateway supports URL rewriting, allowing you to modify the URL of a request before it's forwarded to the backend. This can be used to simplify URLs, redirect old URL paths, or manage internal application structures without affecting the client-facing URL.
Application Gateway continuously monitors the health of your backend instances using configurable health probes. If an instance becomes unhealthy, Application Gateway automatically stops sending traffic to it, ensuring high availability and reliability for your applications.
Probe configurations include:
Connection draining allows you to gracefully remove backend instances from service during maintenance or updates. When an instance is marked for removal, Application Gateway ensures that all existing connections to that instance are completed before it's taken out of rotation.
Application Gateway offers different SKUs to meet various performance and security needs:
The v2 SKU of Application Gateway supports autoscaling, allowing it to automatically scale up or down based on traffic load. This ensures optimal performance and cost-efficiency by dynamically adjusting capacity as needed.
With the v2 SKU, Application Gateway can be deployed across multiple Availability Zones in a region. This provides high availability by ensuring that your gateway remains accessible even if one Availability Zone experiences an outage.