Hacker News new | ask | show | jobs
by frazbin 505 days ago
If I may ask, just to educate myself

where do you keep the ECS service/task specs and how do you mutate them across your stacks?

How long does it take to stand up/decomm a new instance of your software stack?

How do you handle application lifecycle concerns like database backup/restore, migrations/upgrades?

How have you supported developer stories like "I want to test a commit against our infrastructure without interfering with other development"?

I recognize these can all be solved for ECS but I'm curious about the details and how it's going.

I have found Kubernetes most useful when maintaining lots of isolated tenants within limited (cheap) infrastructure, esp when velocity of software and deployments is high and has many stakeholders (customer needs their demo!)

2 comments

Not sure if this is a rhetorical question but I'll bite :-)

> where do you keep the ECS service/task specs and how do you mutate them across your stacks?

It can be defined in CloudFormation, then use CloudFormation Git sync, some custom pipeline (ie. github actions) or CodePipeline to deploy it from github

You can also use CodeDeploy to deploy from Git or even a AWS supplied github action for deploying a ECS task.

> How long does it take to stand up/decomm a new instance of your software stack?

It really depends on many factors, ECS isn't very fast (I think it's on purpose to prevent thundering herd problems).

> How do you handle application lifecycle concerns like database backup/restore, migrations/upgrades?

From what I learned from AWS is that ECS is a compute service and you shouldn't persist data in ECS.

Run your database in RDS and use the supplied backup/restore functionality

> How have you supported developer stories like "I want to test a commit against our infrastructure without interfering with other development"?

If it's all defined in CloudFormation you can duplicate the whole infrastructure and test your commit there.

Yeah, that doesn't really answer the question at all... Do you just have a pile of cloudformation on your desktop? point and click? tf? And then none of the actual questions like

> How do you handle application lifecycle concerns like database backup/restore, migrations/upgrades?

were even touched.

There is no difference between cloudformation, clicking, terraform, boto, awscli, pulumi, or whatever else. The platform at the other end of those tools is still ECS.

Backing up databases isn't the job of the container-running platform (ECS), especially not in AWS-world where databases are managed with RDS.

The rest of the questions were "how do I run containers on ecs?" in various forms. The answers to all of them is "by asking ecs to run containers in various forms."