CloudPulse
Self-reporting deployment & DevOps dashboard.
THE PROBLEM
Deployment status and system health are scattered across multiple tools — there's no single pane of glass for a solo engineer managing cloud infrastructure.
OBJECTIVE
Build a self-reporting deployment pipeline that surfaces system health, deployment status, and infrastructure metrics in one unified view.
ARCHITECTURE
Terraform provisions AWS infrastructure (ECS, ECR, VPC). GitHub Actions handles CI/CD, pushing Docker images to ECR and triggering ECS deployments. A lightweight status dashboard reads from AWS CloudWatch.
IMPLEMENTATION
- 01
Wrote Terraform modules for ECS cluster, ECR registry, VPC, and IAM roles
- 02
Built GitHub Actions pipeline for build → test → push → deploy
- 03
Configured CloudWatch dashboards for service health metrics
- 04
Set up ECS task definitions with health checks and auto-recovery
- 05
Implemented environment-based deployment gates (dev → staging → prod)
CHALLENGES
- ⚠
IAM permission scoping — least-privilege is harder than it sounds
- ⚠
ECS cold starts adding latency to deployment verification
- ⚠
Terraform state management in a solo environment
SOLUTION
Audited IAM policies with Access Analyzer. Added deployment smoke tests in the pipeline. Used S3 + DynamoDB for Terraform state locking.
RESULT
A fully automated deployment pipeline with infrastructure-as-code, self-healing containers, and a centralized health dashboard.
LESSONS LEARNED
- →
Least-privilege IAM should be designed in from day one, not retrofitted
- →
Infrastructure as code pays dividends — even for solo projects
- →
Smoke tests in the pipeline catch real deployment failures before monitoring does
PORTFOLIO // ISSUE #001 · ESHAN SAHAD