This project was built to practice real deployment workflows using modern tools used by engineering teams.
This project focuses on automation, containerization, infrastructure as code, AWS deployments, and monitoring.
- CI pipeline with GitHub Actions
- Dockerized API application
- Terraform infrastructure on AWS
- Deployment to ECS Fargate
- Monitoring with Prometheus and Grafana
- Security scanning in CI
- Separate staging and production environments
- Node.js / Express
- Docker
- GitHub Actions
- Terraform
- AWS ECS Fargate
- AWS ECR
- AWS Application Load Balancer
- Prometheus
- Grafana
- Code is pushed to GitHub
- GitHub Actions runs linting and tests
- Security scans run on source code and container image
- Docker image is built and published
- Deployment to staging environment
- Health checks are executed
- Manual approval for production
- Production deployment
Provisioned with Terraform:
- VPC
- Public and Private Subnets
- Application Load Balancer
- ECS Cluster
- ECR Repository
- Auto Scaling
- IAM Roles
Application metrics are exposed through /metrics.
Prometheus collects metrics such as:
- Request count
- Response time
- Error rate
- Container health
Grafana dashboards visualize performance and availability.
git clone https://github.com/diegonunfio/aws-devops-lab.git
cd aws-devops-lab
docker compose up --build