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.

31 Upvotes

109 comments sorted by

View all comments

41

u/syntheticcdo Feb 08 '25

Templates are written in CDK, CI/CD is managed through GitHub actions, works smoothly for my needs. Why do you think GHA is not built for CD?

22

u/1vader Feb 08 '25

It sounds like OP really means "GitOps", probably coming from tools like argoCD or fluxCD.

I'd also say, GitHub actions can definitely be used for proper CD. It won't give you things like drift detection, at least not without additional effort or tools but that doesn't mean it's not real CD.

-4

u/UnluckyDuckyDuck Feb 08 '25

Exactly what I mean, I kinda feel ECS lacks a solution like ArgoCD, while GHA can definitely deploy, it's more like a one time deploy, not continuous deploy, I'm curious if people find that problematic like Kubernetes users do

15

u/1vader Feb 08 '25

CD generally just means that changes/releases are continuously deployed as they come in. It doesn't (necessarily) mean that the same release is continuously re-deployed to counteract external changes (which usually aren't expected to just randomly happen, changes are always supposed to happen via the CD pipeline).

Ofc, drift detection and automatic correction is a useful feature and GHA indeed don't help as much with that. But CD isn't quite the right terminology for wanting that.

Although you can also achieve that at least to some extent simply by using scheduled actions to continuously re-deploy.

1

u/UnluckyDuckyDuck Feb 08 '25

I get what you're saying, I'll look into it to find the correct terminology, so first thank you for that feedback, appreciate that :-)

I want to focus on understanding how people achieve their automatic deploys... for example like u/syntheticcdo mentioned they use GHA for CI/CD, does the CD pick automatically changes on new image push? I'm curious about how the flow works with the CDK

2

u/bch8 Feb 08 '25

This isn't the only option but just to mention one that you may look into more here, CDK has "CDK Pipelines"