AWS recently announced Amazon ECS Managed Instances, a new feature in ECS designed to simplify the deployment of containerized applications on EC2 instances. The service automatically manages instance provisioning, scaling, and maintenance, thereby reducing the operational overhead associated with maintaining container infrastructure.
ECS Managed Instances supports a broad range of EC2 instance types and, by default, automatically selects the most cost-optimized EC2 instances for the specific workload. AWS handles infrastructure management, including provisioning, scaling, and security patching. Micah Walter, senior solutions architect at AWS, writes:
This includes implementing regular security patches initiated every 14 days (due to instance connection draining, the actual lifetime of the instance may be longer), with the ability to schedule maintenance windows using Amazon EC2 event windows to minimize disruption to your applications.
Many users on Reddit discussed the differences between the new feature, Fargate, and EKS Auto Mode. User vtrac comments:
AWS choosing to continually add operator complexity instead of just adding sane defaults. This seems like fargate + configurable instances. Why not just call this a new fargate “feature” instead of an entirely new thing that someone has to remember?
With the new ECS Managed Instances, operations teams can choose the instances used; with Fargate, they lack control over the underlying compute. On LinkedIn, Sebastien Allam, solution architect specialist at AWS, highlights another significant difference:
ECS Fargate is for only 1 task. On managed instance you can do bin-packing of multiple task on an instance. Unlike Fargate you can also have access to the instance types of your choice, bare metal, GPUs.., and you can choose only specific types if needed by your workload.
Although ECS Managed Instances automatically selects cost-optimized instance types by default, developers can specify the desired instance attributes, including options for GPU acceleration, CPU architecture, and network performance requirements.
According to the documentation, ECS Managed Instances manages resource utilization by automatically placing multiple tasks on larger instances and optimizes task placement, consolidating workloads onto fewer instances to utilize and terminate idle instances. Corey Quinn, chief cloud economist at The Duckbill Group, comments:
Neither this announcement nor the blog post mention the pricing page, which is hilariously expensive. Note: this is a charge in addition to the underlying cost of the EC2 instances themselves. Is it worth it? Only you know for sure; I’m not you. Just go into it with your eyes open.
EC2 event windows can be used to schedule patching within weekly maintenance windows, minimizing the risk of interruptions during critical hours. Allen Helton, ecosystem engineer at Momento and AWS Hero, writes:
ECS Managed Instances (…) offers an interesting blend of managed infrastructure with EC2. I feel like this is the first step of many to get us to a generalized compute service in the future that is as tunable, customizable, and managed as you want.
According to the pricing page, the new service is charged according to instance class and size, with prices in addition to the Amazon EC2 instance price. While savings plans apply to the EC2 instances themselves, the new service is always billed at on-demand pricing, charged per second with a one-minute minimum.