← BACK TO MISSION LOG
MISSION #003CLASSIFIED

CloudPulse

Self-reporting deployment & DevOps dashboard.

DEPLOYED
AWSECRECSTerraformGitHub Actions
01

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.

02

OBJECTIVE

Build a self-reporting deployment pipeline that surfaces system health, deployment status, and infrastructure metrics in one unified view.

03

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.

04

IMPLEMENTATION

  1. 01

    Wrote Terraform modules for ECS cluster, ECR registry, VPC, and IAM roles

  2. 02

    Built GitHub Actions pipeline for build → test → push → deploy

  3. 03

    Configured CloudWatch dashboards for service health metrics

  4. 04

    Set up ECS task definitions with health checks and auto-recovery

  5. 05

    Implemented environment-based deployment gates (dev → staging → prod)

05

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

06

SOLUTION

Audited IAM policies with Access Analyzer. Added deployment smoke tests in the pipeline. Used S3 + DynamoDB for Terraform state locking.

07

RESULT

A fully automated deployment pipeline with infrastructure-as-code, self-healing containers, and a centralized health dashboard.

08

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