Containers-roadmap: [ECS] [request]: Support Cross Service Cross Task Definition Dependency

Created on 16 Sep 2019  路  4Comments  路  Source: aws/containers-roadmap

Tell us about your request
What do you want us to build?
Support Cross Service Cross Task Definition Dependency

Which service(s) is this request for?
Fargate, ECS

Based on aws documentation https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html,

"Your entire application stack does not need to exist on a single task definition, and in most cases it should not. Your application can span multiple task definitions by combining related containers into their own task definitions, each representing a single component"

This means that it is best practice to separate each component/service into its own task definition. However, cross task definition is not yet supported. Only container dependencies within a single task definition is supported. This needs extending to support cross service.

ECS Proposed

Most helpful comment

+1 for this.

As you said @coultn we would like to prioritize startup order of different services which can run into issues if a certain service starts before the other (currently random). This has come up basically as a result of starting and stopping the ECS cluster overnight for cost saving reasons.

All 4 comments

Can you explain more about your use case? Do you want to have services that start up and shut down in a certain order? Or something else? The more detail you can provide, the better we can evaluate and prioritize.
Thanks for your feedback!

+1 for this.

As you said @coultn we would like to prioritize startup order of different services which can run into issues if a certain service starts before the other (currently random). This has come up basically as a result of starting and stopping the ECS cluster overnight for cost saving reasons.

Need this to run Apollo GraphQL Federated Schema.
In short, there is a Gateway that polls child schemas (Fargate services) on startup to compile a single schema. The Gateway must spawn after all child services are up. Otherwise it won't contain parts of schema that were spawned after it.

We have daemon services of datadog-agent on ECS EC2 clusters. As the agent task collects metrics and logs from other tasks on an EC2 instance, it should start before (and stop after) any other tasks when an EC2 instance is initializing (and draining). It would be achieved if we can define the dependency between services.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tabern picture tabern  路  3Comments

adlemich picture adlemich  路  3Comments

groodt picture groodt  路  3Comments

mineiro picture mineiro  路  3Comments

pauldougan picture pauldougan  路  3Comments