[ECS] [request]: Add Readiness Checks
- Dominant language
- Shell
- Stars
- 5.4k
- Forks
- 334
- PR merge metrics
- No merged PRs in 30d
Description
### Community Note
* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment
**Tell us about your request**
Today in ECS, any healthcheck failure results in the immediate termination of the task. While this is theoretically desirable, in practice this can exacerbate outages rather than help. For example, a momentary blip in health across the fleet can lead to a minutes-long rotation of all tasks which, depending on what path ECS takes, can be disruptive to customers. Additionally, task replacement is comparatively expensive process, requiring various provisioning systems to be online.
Contemporaries like Kubernetes have opted to make a distinction between "liveliness" and whether a task should kept running or replaced and "readiness" and whether a task should be routed to. Having the ability to encode readiness checks as distinct from what exists today would help service owners configure their services to isolate tasks during periods of temporary instability without the full blown replacement.
caveat: one interesting aspect to this request is that some systems ECS integrates with have their own readiness checking built-in, i.e. ELB. Any such system should also be able to change how ELB's signals are treated by ECS.
**Which service(s) is this request for?**
ECS
**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
See above
**Are you currently working around this issue?**
Not particularly. This is a fundamental behavior of ECS and not one you can easily work around.
**Additional context**
Anything else we should know?
**Attachments**
If you think you might have additional information that you'd like to include via an attachment, please do - we'll take a look. (Remember to remove any personally-identifiable information.)
Contributor guide
Assessment
This issue has not been assessed yet.