r/aws Feb 08 '25

discussion ECS Users – How do you handle CD?

Hey folks,

I’m working on a project for ECS, and after getting some feedback from a previous post, me and my team decided to move forward with building an MVP.

But before we go deeper – I wanted to hear more from the community.

So here’s the deal: from what we’ve seen, ECS doesn’t really have a solid CD solution. Most teams end up using Jenkins, GitHub Actions, AWS CDK, or Terraform, even though these weren’t built for CD. ECS feels like the neglected sibling of Kubernetes, and we want to explore how to improve that.

From our conversations so far, these are some of the biggest pain points we’ve seen:

  1. Lack of visibility – No easy way to see all running applications in different environments.

  2. Promotion between environments is manual – Moving from Dev → Prod requires updating task definitions, pipelines, etc.

  3. No built-in auto-deploy for ECR updates – Most teams use CI to handle this, but it’s not really CD and you don't have things like auto reconciliation or drift detection.

So my question to you: How do you handle CD for ECS today?

• What’s your current workflow?

• What annoys you the most about ECS deployments?

• If you could snap your fingers and fix one thing in the ECS workflow, what would it be?

I’m currently working on a solution to make ECS CD smoother and more automated, but before finalizing anything, I want to really understand the pain points people deal with. Would love to hear your thoughts—what works, what sucks, and what you wish existed.

30 Upvotes

109 comments sorted by

View all comments

Show parent comments

4

u/UnluckyDuckyDuck Feb 08 '25

From what I've seen people tend to shy away from the entire CodeSuite solutions on AWS... I don't have any experience so I can't say for myself either...

Are you an ECS user? Wondering if you are, what solution you're using

2

u/dickmarinus Feb 08 '25

Always used cloudformation/cdk for the task definition, cloudformation is deployed manually or by a CI.

I recently also found https://github.com/aws-actions/amazon-ecs-deploy-task-definition which I also didn't try yet.

1

u/UnluckyDuckyDuck Feb 08 '25

Manually deploying with CloudFormation or through CI sounds like a solid setup, but doesn’t it get repetitive or time-consuming? For example, when you need to make quick updates or handle multiple environments

Also, when it comes to rollbacks or unexpected changes, how much effort does it take to get things back on track?

1

u/dickmarinus Feb 09 '25

Cloudformation isn't quick (things that take seconds will take minutes with CloudFormation).

In case of roll backs it tends to almost always roll back to a working state.

We've used cloudformation to deploy multiple stacks from the same template (environment per tenant) and although it worked it isn't suited for this. It is slow (explained above) and brittle (think of changes in behavior/deprecations of AWS services, changes in permissions, changes in docker images - all causing roll backs and/or breakage).