Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌐 Multi-Environment Azure Infrastructure Setup


📌 Overview

Enterprise-grade 3-Tier Azure Infrastructure built using Terraform and Azure DevOps.

This project demonstrates how to provision and manage Development, Staging, and Production environments using reusable Terraform modules and automated CI/CD workflows.

Key Objectives

  • Multi-Environment Infrastructure
  • Infrastructure as Code (IaC)
  • Secure Networking
  • Automated Deployments
  • High Availability Architecture
  • Enterprise Cloud Governance

🏗️ Architecture Diagram

Azure Enterprise Architecture


✨ Core Components

Layer Services
🌐 Networking VNet, Subnets, NSGs, Azure NAT Gateway, Private Endpoints
⚖️ Traffic Management Application Gateway, Internal Load Balancer
💻 Compute Frontend & Backend Virtual Machines
🔐 Security Azure Bastion, Key Vault
🗄️ Database Azure SQL Server & Database
📊 Monitoring Azure Monitor, Log Analytics
🚀 Automation Terraform + Azure DevOps

🌍 Environment Strategy

Development
│
├── Small Compute Resources
├── Rapid Testing
└── Frequent Deployments

QA / Staging
│
├── Production-like Environment
├── Validation & UAT
└── Release Verification

Production
│
├── High Availability
├── Secure Configuration
└── Business Critical Workloads

🔄 CI/CD Pipeline

flowchart LR

A[GitHub / Azure Repos Push]
--> B[Terraform Validate]

B --> C[Security Scan]

C --> D[Terraform Plan]

D --> E[Dev Deployment]

E --> F[QA Deployment]

F --> G[Manual Approval]

G --> H[Production Deployment]
Loading

Pipeline Features

  • Terraform Validation & Formatting Check
  • Security Scanning (tfsec)
  • Automated Dev & QA Deployment
  • Production Governance & Approval Gates
  • Remote State Backend Management

📂 Repository Structure

.
├── Environment/
│   ├── dev/
│   ├── qa/
│   └── prod/
├── Module/
│   ├── azurerm_application_gateway/
│   ├── azurerm_bastion/
│   ├── azurerm_database/
│   ├── azurerm_internal_loadbalancer/
│   ├── azurerm_nat_gateway/
│   ├── azurerm_niclb_association/
│   ├── azurerm_publicip/
│   ├── azurerm_resource_group/
│   ├── azurerm_virtual_machine/
│   └── azurerm_virtual_network/
├── Pipeline/
│   ├── dev.yml
│   ├── qa.yml
│   ├── prod.yml
│   └── multi-env.yml
└── README.md

🚀 Deployment Workflow

Clone Repository

git clone https://github.com/Pjaisw1103/Multi-Environment-Azure-Infrastructure-Setup.git
cd Multi-Environment-Azure-Infrastructure-Setup

Login to Azure

az login

Navigate to Environment

cd Environment/dev

Initialize Terraform

terraform init

Validate Configuration

terraform validate

Generate Execution Plan

terraform plan

Deploy Infrastructure

terraform apply -auto-approve

📊 Project Highlights


🎯 Learning Outcomes

  • Enterprise Azure Architecture Design
  • Terraform Module Development
  • Azure Networking & Security
  • Azure SQL & Private Endpoints
  • CI/CD with Azure DevOps
  • Infrastructure Automation

👩‍💻 Author

Priya Jaiswal

Azure Cloud | DevOps | Terraform


⭐ If you found this project useful, consider giving it a star.

About

Automated multi-environment (Dev, QA, Prod) 3-Tier Azure infrastructure using modular Terraform & Azure DevOps CI/CD pipelines with NAT Gateway, App Gateway, Bastion, and SQL Server.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages