Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 

Repository files navigation

🌐 Azure Load Balancer & High Availability Infrastructure

Azure Azure Load Balancer Linux Apache PHP Azure Monitor PowerShell

Production-grade Azure High Availability Infrastructure implementing Azure Load Balancer, Health Probes, Backend Pools, Availability Sets, Traffic Distribution, Failover Validation and Enterprise Networking Design.


πŸ“Œ Project Overview

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


🎯 Business Requirement

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.


πŸ—οΈ Architecture Design

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

Loading

βš™οΈ Core Components Implemented

🌐 Frontend IP Configuration

Public IP mapped with Azure Load Balancer for incoming traffic.


🎯 Backend Pool

Collection of backend Virtual Machines responsible for serving application traffic.

Implemented:

βœ… Availability Set

βœ… Backend Redundancy

βœ… Fault Domain Isolation

βœ… Update Domain Protection


πŸ” Health Probes

Configured:

TCP Port 80

Capabilities:

βœ… Backend Validation

βœ… Health Monitoring

βœ… Automatic Traffic Rerouting

βœ… Unhealthy VM Removal


βš–οΈ Load Balancing Rules

Configured:

Frontend β†’ Backend Port Mapping

Capabilities:

βœ… Traffic Distribution

βœ… Availability Protection

βœ… High Availability


βš™οΈ Configuration Variables

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 Stack

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

πŸš€ Infrastructure Components

βœ… Azure Standard Load Balancer

βœ… Backend Pool

βœ… Frontend Public IP

βœ… Health Probe

βœ… Availability Set

βœ… Azure Monitor

βœ… Compute Gallery

βœ… NSG Rules


πŸš€ Deployment Process

1️⃣ Linux VM Deployment

Installed:

sudo apt update

sudo apt install apache2 php -y

Configured:

  • Apache
  • PHP
  • Website Files

2️⃣ Azure Compute Gallery

Created:

  • Image Definition

  • Image Version

Benefits:

βœ… Faster Provisioning

βœ… Standardization

βœ… Repeatable Infrastructure


3️⃣ Secondary VM Deployment

Provisioned second backend VM.

Validated:

βœ… Same Runtime

βœ… Same Application

βœ… Same Configuration


4️⃣ Load Balancer Configuration

Configured:

  • Frontend IP

  • Backend Pool

  • Health Probe

  • Load Balancing Rule


5️⃣ Backend Pool Configuration

Added backend servers.

Capabilities:

βœ… Traffic Distribution

βœ… Backend Redundancy

βœ… Failover Protection


6️⃣ Health Probe Validation

Configured:

TCP Port 80

Validated:

βœ… VM Health Validation

βœ… Backend Monitoring

βœ… Automatic Failover


πŸ“ˆ Load Balancing Configuration

Configuration Value
Protocol TCP
Frontend Port 80
Backend Port 80
Probe Type TCP
Probe Port 80
SKU Standard

🚦 Traffic Simulation & Load Testing

PowerShell Validation:

1..5000 | % { Start-Job { Invoke-WebRequest http://LOADBALANCER-IP } }

Observed:

βœ… CPU Increase

βœ… Traffic Distribution

βœ… Backend Balancing

βœ… Stable Availability


πŸ”₯ Failover Testing

Scenario:

  1. Website opened through LB Public IP

  2. Backend VM manually stopped

  3. Traffic behavior validated

Result:

βœ… Zero Downtime

βœ… Automatic Traffic Redirection

βœ… Health Probe Operational

βœ… Backend Redundancy Working


⚠️ Engineering Challenges Solved

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

πŸ“Έ Project Proof Screenshots

πŸ—οΈ Architecture Diagram

Azure Architecture


Validated:

βœ… Traffic Distribution

βœ… CPU Utilization

βœ… Health Probe Behavior

βœ… Backend Availability

βœ… Failover Validation

Using:

Azure Monitor


🧠 Skills Demonstrated

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


πŸ“ˆ Project Outcome

Successfully implemented highly available Azure backend infrastructure supporting:

βœ… Traffic Distribution

βœ… Automatic Failover

βœ… Backend Redundancy

βœ… Production-grade Availability

βœ… Infrastructure Reliability


πŸ‘¨β€πŸ’» Author

Amit Kumar

Cloud Engineer | Azure Administrator | Infrastructure Engineer

GitHub

https://github.com/Akamitt009

LinkedIn

https://www.linkedin.com/in/amit-kumar-657255232/

About

`Production-ready Azure High Availability Infrastructure using Azure Load Balancer, Linux Virtual Machines, Health Probes, Backend Pools, and Azure Compute Gallery with failover testing, traffic distribution, and real-world load balancing implementation.`

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors