arrow_backRETURN_TO_BASE
devops

Multi-Cloud Terraform Infrastructure

TerraformAWSGCPIaCCloud ArchitectureAutomationSecurity GroupsVPC
RoleCloud / DevOps Engineer
Year2025 (Dec)
ClientPersonal Project
Links
01

The Narrative

Managing hybrid cloud environments manually is error-prone, inconsistent, and difficult to scale, leading to "configuration drift" between different cloud providers.

Designed a unified IaC framework using modular Terraform components that provide a consistent interface for deploying and managing core compute, storage, and database services across AWS and GCP.

Multi-Cloud Terraform Infrastructure diagram showing AWS and GCP resources
02

Key Features

01cloud

Modular Hybrid Cloud

Implemented independent modules for AWS and GCP, allowing for clean encapsulation and easy scaling of resources.

02security

Security & Networking

Automated provisioning of Security Groups and VPC Firewall rules to ensure secure SSH access and internal communication.

03sync

Multi-Cloud Parity

Synchronized deployment of EC2/GCE instances, S3/GCS buckets, and DynamoDB/Firestore databases.

04settings

Parametrized Config

Variable-driven environment management using terraform.tfvars and interactive setup scripts.

03

Engineering

ARCHITECTURE_MANIFEST.json

// SYSTEM_OVERVIEW

Modular Terraform design providing a unified interface for multi-cloud resource provisioning.

Terraform v1.0+AWS (EC2, S3, DynamoDB)GCP (GCE, GCS, Firestore)Bash (Setup Scripts)

01_MODULE: ARCHITECTURE & MODULARITY

The infrastructure is divided into dedicated modules for AWS and GCP. This separation ensures that the root configuration remains high-level, while provider-specific logic (like t2.micro vs e2-micro instance types) is encapsulated within the modules.

02_MODULE: AUTOMATION WORKFLOW

Developed a custom setup.sh script to handle interactive configuration generation, streamlining the terraform init/plan/apply lifecycle for new environments.

03_MODULE: VERIFICATION & ACCESS

Implemented specific output definitions that generate ready-to-use SSH commands immediately after provisioning, facilitating instant verification of the deployed infrastructure.