aws / containers-roadmap

This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS).
https://aws.amazon.com/about-aws/whats-new/containers/
Other
5.2k stars 315 forks source link

[ECS] [Fargate]: Expose Firecracker MicroVM Snapshots to AWS Fargate Tasks #2373

Open tlaverdure opened 2 months ago

tlaverdure commented 2 months ago

Community Note

Tell us about your request What do you want us to build?

I would like to request the addition of snapshot capabilities to AWS Fargate, enabling the ability to pause and resume containers. This feature would leverage Firecracker microVM snapshots, similar to what I believe AWS App Runner utilizes to transition containers between provisioned (memory-only) and active (memory and vCPU) states.

If AWS App Runner is using Firecracker microVM snapshots to efficiently manage container states, this functionality suggests that it should be feasible to extend similar capabilities directly to Fargate tasks, given that App Runner operates on Fargate.

Which service(s) is this request for? This could be Fargate, ECS, EKS, ECR

Fargate

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard? What outcome are you trying to achieve, ultimately, and why is it hard/impossible to do right now? What is the impact of not having this problem solved? The more details you can provide, the better we'll be able to understand and solve the problem.

Currently, the only way to save on costs with a Fargate task is to set the desired task count to 0. While you can resume the task by setting the desired count back to 1, the restart time is too long to effectively serve web requests.

Goals:

Providing an API to pause and resume tasks within a cluster would significantly enhance Fargate's flexibility and resource efficiency. Specifically, when a task is paused, it should:

A task could be paused:

A task could be resumed:

Are you currently working around this issue? How are you currently solving this problem?

Other service options:

Additional context Anything else we should know?

Many users have requested a "Scale to Zero" feature for Fargate and App Runner for many years. I'm not sure if this aligns with the current service goals or technical capabilities, but I believe implementing a feature similar to AWS App Runner's provisioned containers would be the next best alternative.

wesmontgomery commented 1 month ago

I hope this feature is added to the Road Map sooner than later. One of the main selling points of App Runner is the ability to scale to near zero when not in use. However, for whatever reason many of the features available to Fargate are not available to App Runner like integration with EFS or EBS, scaling based on CPU and Memory, Arm/Graviton processors, and sensible request time outs. These lack of features make App Runner unusable for many use cases.

The whole App Runner team has either been reassigned to GenAI or fired as no one is responding in their road map project. This feature would make Fargate the best option for containers and quite competitive to the likes of Cloud Run.