Production-grade Azure High Availability Infrastructure implementing Azure Load Balancer, Health Probes, Backend Pools, Availability Sets, Traffic Distribution, Failover Validation and Enterprise Networking Design.
This project demonstrates enterprise-grade Azure networking implementation focused on building highly available backend infrastructure capable of automatic traffic distribution and failover handling.
Implemented capabilities:
β Azure Standard Load Balancer
β Backend Pool Architecture
β Health Probe Validation
β Multi VM Infrastructure
β Automatic Failover
β Availability Set Deployment
β Azure Compute Gallery
β Production-grade Availability Design
Enterprise applications require:
β Zero Single Point Of Failure
β Traffic Distribution
β Backend Redundancy
β Automatic Recovery
β Infrastructure Availability
β Production-grade Reliability
This project solves those problems using Azure networking and high availability principles.
graph TD
User[End User / Internet]
LB[Azure Public Load Balancer]
VM1[Backend Web Server 01]
VM2[Backend Web Server 02]
Probe[Health Probe TCP 80]
User -->|Traffic via Port 80| LB
subgraph Availability_Set_High_Availability
LB -->|Backend Pool Route 1| VM1
LB -->|Backend Pool Route 2| VM2
end
Probe --> VM1
Probe --> VM2
LB --> Probe
Public IP mapped with Azure Load Balancer for incoming traffic.
Collection of backend Virtual Machines responsible for serving application traffic.
Implemented:
β Availability Set
β Backend Redundancy
β Fault Domain Isolation
β Update Domain Protection
Configured:
TCP Port 80
Capabilities:
β Backend Validation
β Health Monitoring
β Automatic Traffic Rerouting
β Unhealthy VM Removal
Configured:
Frontend β Backend Port Mapping
Capabilities:
β Traffic Distribution
β Availability Protection
β High Availability
Modify deployment behavior using:
variables.tf
| Variable Name | Description | Default Value |
|---|---|---|
| resource_group_name | Azure Resource Group Name | azure-lb-ha-rg |
| location | Azure Region | East US |
| vm_count | Backend VM Count | 2 |
| vm_size | Azure VM SKU | Standard_B1s |
| Technology | Purpose |
|---|---|
| Azure | Cloud Platform |
| Azure VM | Backend Infrastructure |
| Ubuntu Linux | Operating System |
| Apache2 | Web Layer |
| PHP | Application Runtime |
| Azure Load Balancer | Traffic Distribution |
| Azure Compute Gallery | VM Image Standardization |
| Azure Health Probe | Backend Monitoring |
| NSG | Security Rules |
| PowerShell | Traffic Testing |
| Azure Monitor | Monitoring |
β Azure Standard Load Balancer
β Backend Pool
β Frontend Public IP
β Health Probe
β Availability Set
β Azure Monitor
β Compute Gallery
β NSG Rules
Installed:
sudo apt update
sudo apt install apache2 php -yConfigured:
- Apache
- PHP
- Website Files
Created:
-
Image Definition
-
Image Version
Benefits:
β Faster Provisioning
β Standardization
β Repeatable Infrastructure
Provisioned second backend VM.
Validated:
β Same Runtime
β Same Application
β Same Configuration
Configured:
-
Frontend IP
-
Backend Pool
-
Health Probe
-
Load Balancing Rule
Added backend servers.
Capabilities:
β Traffic Distribution
β Backend Redundancy
β Failover Protection
Configured:
TCP Port 80
Validated:
β VM Health Validation
β Backend Monitoring
β Automatic Failover
| Configuration | Value |
|---|---|
| Protocol | TCP |
| Frontend Port | 80 |
| Backend Port | 80 |
| Probe Type | TCP |
| Probe Port | 80 |
| SKU | Standard |
PowerShell Validation:
1..5000 | % { Start-Job { Invoke-WebRequest http://LOADBALANCER-IP } }Observed:
β CPU Increase
β Traffic Distribution
β Backend Balancing
β Stable Availability
Scenario:
-
Website opened through LB Public IP
-
Backend VM manually stopped
-
Traffic behavior validated
Result:
β Zero Downtime
β Automatic Traffic Redirection
β Health Probe Operational
β Backend Redundancy Working
| Challenge | Solution |
|---|---|
| Website inaccessible | NSG Rule Configuration |
| VM deployment standardization | Compute Gallery |
| Public IP limitation | Dedicated Frontend IP |
| VM not visible in pool | Network Validation |
| Health Probe failed | TCP Probe Fix |
| Needed balancing proof | PowerShell Traffic Testing |
Validated:
β Traffic Distribution
β CPU Utilization
β Health Probe Behavior
β Backend Availability
β Failover Validation
Using:
Azure Monitor
Azure Load Balancer
Azure Networking
High Availability Architecture
Backend Pool Management
Health Probe Configuration
Azure Virtual Machines
Traffic Distribution
Failover Testing
Linux Administration
Azure Monitoring
Cloud Operations
Successfully implemented highly available Azure backend infrastructure supporting:
β Traffic Distribution
β Automatic Failover
β Backend Redundancy
β Production-grade Availability
β Infrastructure Reliability
Cloud Engineer | Azure Administrator | Infrastructure Engineer
GitHub
