🌐 Live Demo: https://devopsjames.com
This repository demonstrates a production-grade, containerized Flask web application deployed to AWS ECS Fargate, showcasing cloud, DevOps, and CI/CD best practices.
Key highlights:
- Infrastructure as Code with Terraform (modular, multi-environment)
- Multi-environment CI/CD via GitHub Actions (develop → test, main → prod)
- Secure & Scalable AWS Architecture (ECR, ALB, ACM, DynamoDB, CloudWatch)
- Full observability & automation with logging, autoscaling, and IaC
This Internal Feedback Collection Web App is a lightweight tool for collecting:
- Bug reports
- Feature requests
- General internal feedback
Ideal for internal SaaS tools or dashboards, it allows staff to quickly submit input to dev or support teams.
The project demonstrates how to:
- Design scalable, secure AWS cloud infrastructure
- Automate deployments with multi-environment CI/CD
- Apply Infrastructure as Code (IaC) principles with Terraform
- AWS ECS Fargate handles container orchestration without EC2 management
- Application Load Balancer (ALB) provides high availability across AZs
- ECS Autoscaling ensures the app adapts to load changes
- HTTPS via ACM encrypts traffic end-to-end
- Route 53 + ALB manage DNS and SSL seamlessly
- IAM task roles grant least-privilege access to DynamoDB
- Optional AWS WAF for protection against XSS/SQLi attacks
- AWS CloudWatch Logs capture application & infrastructure logs
- Integrated with ECS for task-level logging
- GitHub Actions builds & pushes Docker images to Amazon ECR
- ECS Service Deployment automatically triggered on each branch push:
develop
→ Test Environment (test-latest
image)main
→ Production Environment (prod-latest
image)
- Terraform Modules manage VPC, ECS, ALB, IAM, DynamoDB, and logging
- Remote backend (S3 + DynamoDB) prevents state drift in team workflows
- Developer pushes to
develop
→ Deploy to Test - Validate functionality in the test environment
- Merge
develop → main
→ Deploy to Production
The CI/CD pipeline ensures fast, repeatable, and safe deployments.
- Cloud Architecture (AWS ECS, ALB, DynamoDB, ACM, CloudWatch)
- Infrastructure as Code (Terraform with remote state)
- CI/CD & Automation (GitHub Actions, Docker, ECR, ECS)
- Security Best Practices (IAM least privilege, HTTPS, optional WAF)
- Scalable Application Deployment with autoscaling & observability