docker-archive / compose-cli

Easily run your Compose application to the cloud with compose-cli
Apache License 2.0
958 stars 254 forks source link

Questions about Compose into ECS #2091

Closed frangrolemund closed 1 year ago

frangrolemund commented 3 years ago

I'm currently working in my team with our DevOps team to roll out Docker Compose more broadly to other developers in our environment. What I'd like to do is allow projects to request their own AWS ECS clusters and then keep them reliably sandboxed there, while at the same time giving them all the freedom of using Docker Compose as they wish to experiment with container configurations.

What I noticed was the workflow described by Amazon doesn't sufficiently capture the importance of the -p option with the docker compose command in generating its CloudFormation template. If the default behavior for naming the template is insufficient, a mistyping of the project-name can very easily create and commit templates that wipe out existing ones in AWS because they are shared across the region.

My main question is whether I'm missing something obvious about how this is to be used?

Assuming this is working as intended, would you ever consider building a bit more integration with AWS in this workflow so that it can be better managed? I can think of different possibilities from executing a custom Lambda to building more dedicated configuration for this into the context, but somehow I'd like to protect our devs (and infrastructure) from honest mistakes while allowing people to ramp up on all the benefits of Docker.

Thanks for building this integration. It really seems promising if I can sort out the collaborative elements.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

JohnPreston commented 2 years ago

Hello @frangrolemund The use-case you describe is exactly the original reason for creating ECS Compose-X: give the devs the possibility to spin up an entire environment box-ed up that will allow different users to have their own environments, and then shut everything down. If you don't have (or don't want to use) an existing networking environment or ECS Cluster, it will automatically create all of that for you. You can tune each components to fit your needs.

And because having a cluster and some services usually is not enough, there are multiple extension fields that will support CFN definitions for resources, such as S3/SQS/RDS etc. and automate the "link" to the services to make it easy and secure.

Instead of doing docker compose up you end up doing ecs-compose-x up. Note that ECS Compose-X will just generate the CFN templates, store them in S3 or locally (or both), so you can tune anything you wanted if you had to.

stale[bot] commented 2 years ago

This issue has been automatically marked as not stale anymore due to the recent activity.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 1 year ago

This issue has been automatically closed because it had not recent activity during the stale period.