shiichan

ECS rolling deployments: decide "good enough" success on your own terms!

Hi everyone, it's me! Found a subtly powerful new ECS deployment feature!

AWS What's New aws.amazon.com

What was announced?

According to AWS What's New, Amazon ECS rolling service deployments now support "Early Success Criteria" — letting you define, in your own terms, when a deployment counts as successful based on your workload's needs and your own comfort level.

The story so far

Previously, a rolling deployment was only considered "successful" once every single desired task was up and healthy. For workloads that need specialized hardware, like GPU instances, task launches can take a while, leaving the whole deployment incomplete and blocking downstream CI/CD pipelines or other dependent operations in the meantime.

What changes

With Early Success Criteria, you set a "healthy percent," and once that percentage of tasks is healthy, the deployment is marked successful. For example, with a desired count of 100 and a healthy percent of 90%, ECS marks the deployment successful once 90 tasks are healthy, while the remaining 10 continue launching through regular service scaling. For workloads like GPU inference where hardware availability can slow task launches, this means deployments can wrap up sooner without blocking everything downstream.

Dive Deep

You also get to choose how ECS handles cleanup of the source revision (the previous set of tasks):

  • BLOCKING: cleanup of the source revision finishes before success is declared
  • DEFERRED: success is declared as soon as the criteria are met, and source task termination continues asynchronously

Early Success Criteria also affects how long rollback monitoring stays active — it protects the deployment until your configured success criteria are met, after which further scale-out proceeds under normal service scaling.

This is available across all AWS commercial regions and AWS GovCloud, configurable via the Management Console, CLI, SDKs, or IaC tools.

Wrap-up

  • ECS rolling deployments now support "Early Success Criteria"
  • Set a healthy percent to mark deployments successful earlier than 100% completion
  • Choose BLOCKING or DEFERRED for how the previous revision gets cleaned up
  • Available across all commercial regions and GovCloud via console, CLI, SDK, or IaC

If you run workloads on ECS where slow task launches (like GPU inference) have been holding up your deployments, this is worth trying right away!