<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Application Gateway on BuiltWithCaffeine</title><link>https://blog.builtwithcaffeine.cloud/tags/application-gateway/</link><description>Recent content in Application Gateway on BuiltWithCaffeine</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>- BuiltWithCaffeine</copyright><lastBuildDate>Wed, 02 Sep 2026 10:30:00 +0000</lastBuildDate><atom:link href="https://blog.builtwithcaffeine.cloud/tags/application-gateway/rss.xml" rel="self" type="application/rss+xml"/><item><title>Azure Application Gateway: An Introduction</title><link>https://blog.builtwithcaffeine.cloud/posts/azure-application-gateway-introduction/</link><pubDate>Wed, 02 Sep 2026 10:30:00 +0000</pubDate><guid>https://blog.builtwithcaffeine.cloud/posts/azure-application-gateway-introduction/</guid><description>&lt;p&gt;Azure Application Gateway is a managed web traffic load balancer for Azure. It operates at the application layer, making routing decisions using details such as the HTTP host name, URL path, and TLS connection—not just the destination IP address and port.&lt;/p&gt;
&lt;p&gt;That makes Application Gateway a useful front door for web applications running on Azure App Service, virtual machines, virtual machine scale sets, and other back-end services. It can provide a single public entry point while keeping the application back ends private, centralising routing rules, and giving us a place to manage web traffic policies.&lt;/p&gt;
&lt;p&gt;This is the first post in a series about designing, deploying, and operating Azure Application Gateway.&lt;/p&gt;
&lt;h2 id="what-is-application-gateway"&gt;What is Application Gateway?
&lt;/h2&gt;&lt;p&gt;Application Gateway is an Azure-managed Layer 7 load balancer. A client connects to the gateway, and the gateway evaluates the request before forwarding it to a healthy back-end target.&lt;/p&gt;
&lt;p&gt;At a high level, a gateway configuration contains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Front-end IP configurations&lt;/strong&gt; — the public or private address clients connect to.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Listeners&lt;/strong&gt; — the protocol, port, host name, and TLS settings accepted by the gateway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Routing rules&lt;/strong&gt; — the rules that connect listeners to back-end pools and HTTP settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Back-end pools&lt;/strong&gt; — the App Services, virtual machines, IP addresses, or other targets that receive traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP settings&lt;/strong&gt; — the back-end protocol, port, host name, cookie-based affinity, connection draining, and health probe behaviour.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Health probes&lt;/strong&gt; — checks that determine whether a back-end target can receive traffic.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, &lt;code&gt;app.example.com&lt;/code&gt; and &lt;code&gt;api.example.com&lt;/code&gt; can share one gateway while routing to different back-end pools. Likewise, &lt;code&gt;/images&lt;/code&gt; and &lt;code&gt;/api&lt;/code&gt; can be sent to separate services using path-based routing.&lt;/p&gt;
&lt;h2 id="why-use-application-gateway"&gt;Why use Application Gateway?
&lt;/h2&gt;&lt;h3 id="layer-7-routing"&gt;Layer 7 routing
&lt;/h3&gt;&lt;p&gt;Unlike a basic network load balancer, Application Gateway understands HTTP and HTTPS requests. Host-based and URL path-based routing allow multiple applications or services to share a gateway and a public IP address.&lt;/p&gt;
&lt;h3 id="tls-termination"&gt;TLS termination
&lt;/h3&gt;&lt;p&gt;The gateway can terminate TLS connections from clients before forwarding requests to the back end. This can simplify certificate management at the application layer and gives us a central place to configure HTTPS listeners. End-to-end TLS is also possible when the connection from the gateway to the back end must remain encrypted.&lt;/p&gt;
&lt;p&gt;TLS configuration and certificate management will be covered in &lt;a class="link" href="#the-series" &gt;part four&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="web-application-firewall"&gt;Web Application Firewall
&lt;/h3&gt;&lt;p&gt;The Web Application Firewall (WAF) capability helps protect web applications from common attacks described by the Open Web Application Security Project (OWASP). It supports managed rule sets as well as custom rules for requirements specific to an application.&lt;/p&gt;
&lt;p&gt;WAF is not a replacement for secure application development, identity controls, or network segmentation. It is one layer in a broader defence-in-depth strategy.&lt;/p&gt;
&lt;h3 id="private-back-ends"&gt;Private back ends
&lt;/h3&gt;&lt;p&gt;Application Gateway can expose a controlled public endpoint while the application back ends remain on a virtual network or use private connectivity. This reduces the number of services that need to be directly reachable from the internet.&lt;/p&gt;
&lt;h3 id="centralised-traffic-management"&gt;Centralised traffic management
&lt;/h3&gt;&lt;p&gt;Routing, probes, redirects, rewrite rules, TLS policies, and WAF policies can be managed in one service. This is particularly useful when several applications need consistent ingress behaviour without each application implementing its own edge configuration.&lt;/p&gt;
&lt;h2 id="application-gateway-versions"&gt;Application Gateway versions
&lt;/h2&gt;&lt;p&gt;There are two current generations to understand when planning a deployment:&lt;/p&gt;
&lt;h3 id="application-gateway-v2"&gt;Application Gateway v2
&lt;/h3&gt;&lt;p&gt;Application Gateway v2 is the recommended generation for new deployments. It provides the modern feature set, including autoscaling, zone redundancy where supported, static public IP support, improved performance, and private front-end IP support.&lt;/p&gt;
&lt;p&gt;The v2 family includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Standard_v2&lt;/strong&gt; — application delivery and Layer 7 load-balancing features.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WAF_v2&lt;/strong&gt; — the same core capabilities with Web Application Firewall functionality.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;v2 instances can scale based on traffic, which avoids choosing a fixed instance count for the entire lifetime of an application. The minimum instance count still matters, particularly for availability, cost, and whether the gateway is deployed across availability zones.&lt;/p&gt;
&lt;h3 id="application-gateway-v1"&gt;Application Gateway v1
&lt;/h3&gt;&lt;p&gt;The original v1 generation includes &lt;strong&gt;Standard&lt;/strong&gt; and &lt;strong&gt;WAF&lt;/strong&gt; SKUs. It uses a fixed instance model and does not provide the newer v2 capabilities such as autoscaling and zone redundancy.&lt;/p&gt;
&lt;p&gt;For new solutions, v2 should normally be the starting point. Existing v1 gateways may still need to be assessed and migrated rather than replaced without planning. Before choosing a SKU, check the current Azure documentation for regional availability, feature support, pricing, and migration guidance.&lt;/p&gt;
&lt;h2 id="application-gateway-and-other-azure-edge-services"&gt;Application Gateway and other Azure edge services
&lt;/h2&gt;&lt;p&gt;Application Gateway is not interchangeable with every Azure traffic service. The right choice depends on where traffic originates and what kind of routing is required.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Best suited to&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Azure Load Balancer&lt;/td&gt;
&lt;td&gt;Layer 4 TCP/UDP load balancing for network traffic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Azure Application Gateway&lt;/td&gt;
&lt;td&gt;Regional Layer 7 HTTP/HTTPS routing and optional WAF&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Azure Front Door&lt;/td&gt;
&lt;td&gt;Global HTTP/HTTPS entry, acceleration, and edge routing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Azure Traffic Manager&lt;/td&gt;
&lt;td&gt;DNS-based distribution between endpoints&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;These services can also be combined. For example, Azure Front Door can provide global entry and Application Gateway can provide regional routing, private back-end access, and WAF policy enforcement. That design introduces additional complexity, so it should be driven by a clear requirement such as global failover, multi-region delivery, or a specific security boundary.&lt;/p&gt;
&lt;h2 id="considerations-before-deploying"&gt;Considerations before deploying
&lt;/h2&gt;&lt;p&gt;Application Gateway is powerful, but it is not automatically the best choice for every application. Before deploying one, consider:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Traffic scope:&lt;/strong&gt; Is the application regional, or does it need global entry and failover?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Back-end connectivity:&lt;/strong&gt; Can the gateway reach the target over the required network path, DNS name, and port?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Health probes:&lt;/strong&gt; Does the probe use the correct host name, path, status codes, and TLS settings?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TLS ownership:&lt;/strong&gt; Where should certificates be stored, renewed, and rotated?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Availability:&lt;/strong&gt; Do the region and SKU support zone redundancy, and what minimum capacity is appropriate?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cost:&lt;/strong&gt; Will autoscaling, WAF processing, public IPs, and data transfer affect the design?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Operations:&lt;/strong&gt; How will access logs, performance metrics, WAF events, and alerts be monitored?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Many Application Gateway issues are caused by a mismatch between the listener, routing rule, HTTP setting, probe, and back-end host name. Treat those components as one request flow when designing and troubleshooting the gateway.&lt;/p&gt;
&lt;h2 id="the-series"&gt;The series
&lt;/h2&gt;&lt;p&gt;This series will build an Application Gateway configuration in stages:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Introduction&lt;/strong&gt; — what Application Gateway is, why to use it, and how the versions compare.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deploying with infrastructure as code&lt;/strong&gt; — create a repeatable gateway deployment using IaC.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Example configurations&lt;/strong&gt; — route traffic to Azure App Service and virtual machine back ends.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TLS configuration and certificate management&lt;/strong&gt; — configure HTTPS, certificates, renewal, and end-to-end TLS.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Application Gateway with Azure Front Door&lt;/strong&gt; — understand when and how to combine regional and global ingress services.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="conclusion"&gt;Conclusion
&lt;/h2&gt;&lt;p&gt;Azure Application Gateway is a strong fit when an application needs managed regional Layer 7 ingress, host or path-based routing, centralised TLS handling, or an optional WAF. Application Gateway v2 is generally the right generation for new deployments, but the surrounding architecture still matters: back-end connectivity, health probes, certificates, availability, monitoring, and cost all need to be designed together.&lt;/p&gt;
&lt;p&gt;In the next post, we will move from concepts to a repeatable Application Gateway deployment using infrastructure as code.&lt;/p&gt;
&lt;h2 id="references"&gt;References
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/azure/application-gateway/overview" target="_blank" rel="noopener"
&gt;Azure Application Gateway overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/azure/application-gateway/overview-v2" target="_blank" rel="noopener"
&gt;What is Azure Application Gateway v2?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://azure.microsoft.com/pricing/details/application-gateway/" target="_blank" rel="noopener"
&gt;Azure Application Gateway pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learn.microsoft.com/azure/application-gateway/application-gateway-faq" target="_blank" rel="noopener"
&gt;Azure Application Gateway frequently asked questions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>