Skip to content
bryant@fukushima:~ (home)
cd ..

cat ecs-migration.md

ECS migration

AWS ECS · Docker · CI/CD

Context

A production web platform for a HIPAA-compliant product, running entirely on a single server. I led the move to containers on AWS and built the infrastructure myself, while teammates helped containerize the app. It took about 3–4 months, with the old setup running alongside the new one until the switch.

The problem

  • Local environments didn't match each other or production.
  • Everything shared one server, so no part could be monitored or scaled on its own.

What we built

Before

  1. One server running everything

After

  1. CI/CD pipeline
  2. Container images
  3. Separate services that scale on their own
From one server to separate container services, deployed by a CI/CD pipeline.

Results

  • A smooth cutover with only minutes of downtime, then zero-downtime deploys.
  • Per-service metrics that make problems easier to find.
  • Improved encryption, access control and logging.

What I learned

  • Infrastructure as code: next time I'd define everything with AWS CDK or Terraform instead of clicking through the console, so changes are reviewed, versioned and repeatable.
  • Pin image tags: tag each image with its commit SHA instead of latest, so every service runs a known version and rollbacks are one step.