This repository contains two comprehensive cloud infrastructure projects demonstrating modern DevOps practices using Infrastructure as Code (IaC) principles.
- Project 1: Local Cloud Infrastructure with Terraform and Docker - Three-tier application with Nginx, Flask, and PostgreSQL
- Project 2: Kubernetes Cluster Management with Terraform and k3d - Kubernetes cluster with multi-replica Nginx deployment
Through these projects, I gained hands-on experience with core cloud infrastructure and DevOps concepts that are essential in modern software development. In Project 1, I built a complete three-tier application using Docker containers orchestrated by Terraform, learning how to create modular infrastructure code, manage secure credentials, implement health checks, and establish isolated networking between services. Project 2 extended these skills into Kubernetes territory, where I deployed a k3d cluster with Terraform, worked with Kubernetes primitives like ConfigMaps, Deployments, and Services, and implemented production-ready features such as resource limits, liveness probes, and readiness checks. These experiences taught me the power of Infrastructure as Code for creating reproducible, version-controlled infrastructure, the importance of containerization for consistent deployments across environments, and how proper health monitoring and resource management are crucial for building resilient applications. Beyond the technical implementations, I developed a deeper understanding of cloud-native architecture patterns, troubleshooting containerized applications, and the DevOps mindset of automation and scalability. This project reinforced that modern application deployment is not just about writing code, but about designing robust infrastructure that can be reliably deployed, monitored, and maintained at scale.
- Infrastructure as Code: Terraform
- Containerization: Docker, Kubernetes (k3d)
- Web Servers: Nginx
- Backend: Python Flask, Gunicorn
- Database: PostgreSQL
- Networking: Docker networks, Kubernetes services
Navigate to the individual project directories to explore each implementation:
cd project_1 # Docker-based three-tier application
cd project_2 # Kubernetes cluster deploymentEach project contains detailed documentation, setup instructions, and troubleshooting guides.