AMportfolio@v3.0.0
All case studies
InfrastructureApp Service · Azure SQL · Application Gateway01 / 10

Multi-Tier Web Application with Auto-Scaling

Highly available app tier behind Application Gateway

Overview

A highly available multi-tier architecture built on Azure App Services, Azure SQL Database, and Application Gateway. Traffic enters through the gateway, is load balanced across the web tier, and the data tier stays private to the application subnet. Auto-scale rules react to live CPU and request pressure so the platform absorbs traffic spikes without manual intervention, and Azure Monitor watches every tier for real-time alerting.

Engineering focus

Keeping the database tier unreachable from the internet while the web tier scales freely — health probes, private access paths, and scale rules all have to agree or the gateway drops the backend pool.

Architecture flow

🌐
User Traffic
Public internet
Application Gateway
WAF + path-based routing
🖥
Web Tier — App Service
Auto-scaled plan
🔧
App Tier — API
Private endpoint access
🗄
Azure SQL Database
No public endpoint
📊
Azure Monitor
Metrics · alerts · dashboards

Network security rules

RuleDirectionSourcePortPurpose
Allow-HTTPSInboundInternet443Public web access
Allow-GatewayInboundApp Gateway subnet443Backend pool traffic
Allow-SQLOutboundApp subnet1433Database connectivity
Deny-AllInboundAnyAnyDefault deny baseline

Auto-scaling configuration

Scale out: CPU > 70% for 5 minutes → add instance
Scale in: CPU < 30% for 10 minutes → remove instance
Minimum: 2 instances
Maximum: 10 instances

Key outcomes

Highly available multi-tier design across App Services, Azure SQL, and Application Gateway
Auto-scaling and load balancing for dynamic traffic and consistent performance
Azure Monitor configured for real-time monitoring, alerting, and reliability

Stack

Azure App ServiceAzure SQLApplication GatewayAutoscaleAzure MonitorVNetNSG

Environment

RegionCanada Central
Resource Grouprg-multitier-prod
Entry PointApplication Gateway v2
Scale Range2 – 10 instances
Data TierAzure SQL (private)