Skip to content

Conversation

@amustaque97
Copy link

Closes: #820

@amustaque97 amustaque97 marked this pull request as ready for review November 27, 2025 16:16
@marcoieni
Copy link
Member

marcoieni commented Nov 27, 2025

from a first look it doesn't look that much simpler 😅
What do you think?

@amustaque97
Copy link
Author

from a first look it doesn't look that much simpler 😅 What do you think?

Umm... TBH, I'm interested in learning about some of the stuff that isn't clearly mentioned in the Terraform docs, or maybe I should dig a little deeper on

  • Multi-container tasks (sidecars, service mesh)
  • Services requiring EFS mounts
  • Complex custom ALB configurations
  • Services needing very specific networking setups
  • Highly customised autoscaling metrics

With ECS Express we're offloading more infra management from the user side to the vendor (AWS)
Before: Manually managed load balancer target groups, listener rules, Route53 records, ACM certificates (handled by ecs-service module)
After: ECS Express automatically provisions and manages all load-balancing infrastructure

IMO, ECS Express is not suitable for complex/critical setups.

@marcoieni
Copy link
Member

So you think aws ecs express is not easily extensible?

Since the terraform code increased I'm wondering if it's suitable even for simple services.

Btw most of our services are quite simple. Just docker container and postgres

@amustaque97
Copy link
Author

amustaque97 commented Nov 28, 2025

So you think aws ecs express is not easily extensible?

IMO, yes! For example, Bors uses an EFS mount, and since there’s currently no explicit way to define task definitions, we might lose support for custom configurations. In my experience, sooner or later, a self-managed Postgres instance will also require persistent storage like EFS. And in the future, there may be other containers that need to write to EFS as well.

Along with EFS mounts, we should also consider S3 access, since some services depend on it. For instance, rust-log-analyser uses S3 for storing and retrieving logs.

We can try adding support for the following services:

Screenshot 2025-11-28 at 2 46 37 PM

Would love to hear from you!

@jdno
Copy link
Member

jdno commented Nov 28, 2025

Since the terraform code increased I'm wondering if it's suitable even for simple services.

I think an interesting aspect here is that the code does not rely on two other Terraform modules anymore. Given that we've been pretty bad historically at maintaining and evolving our code, having a self-contained fastly-exporter environment might actually increase maintainability despite more lines of code.

Having said that, the limitations of ECS Express might still mean that it'd be better for us to improve/update the existing ECS modules... 🤷‍♂️

@marcoieni
Copy link
Member

Having said that, the limitations of ECS Express might still mean that it'd be better for us to improve/update the existing ECS modules...

Yeah, I agree, maybe it's better to create our own modules. Thank you for the investigation by the way, Mustaque!

@amustaque97
Copy link
Author

Having said that, the limitations of ECS Express might still mean that it'd be better for us to improve/update the existing ECS modules...

Yeah, I agree, maybe it's better to create our own modules. Thank you for the investigation by the way, Mustaque!

Pleasure is all mine! Let me know what the next steps could be and whether community contributions are possible. I would like to participate 🙌🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate AWS ECS apps to ECS Express

3 participants