SYSTEM Cited by 4 sources
Amazon ECS (Elastic Container Service)¶
Amazon Elastic Container Service (Amazon ECS) is AWS's proprietary container-orchestration service, the substrate for both App Mesh (deprecated) and ECS Service Connect (current). Compared to Kubernetes (which AWS also offers as EKS), ECS is AWS-native with tighter IAM / VPC / ALB integration and a simpler abstraction model.
Stub page — minimal viable for the App Mesh discontinuation ingest. Expand on future ECS-internals sources.
Core abstractions¶
- Task Definition — template for a container group (image, resources, env, IAM role, networking mode).
- Task — running instance of a Task Definition; the unit of compute.
- Service — long-running managed group of identical Tasks with desired-count, health, and replacement policy.
- Cluster — logical group of Services / Tasks.
Tasks can run on EC2 capacity (customer-managed instances) or on Fargate (serverless, AWS-managed compute).
Role in service-mesh story¶
The ECS Service is the atomic unit for mesh membership:
- In App Mesh, each Service's Task Definition includes a self-managed Envoy sidecar container.
- In Service Connect, each Service's Task Definition cannot also be in App Mesh — the mesh membership is exclusive, which is why migration is forced to blue/green recreate.
Related¶
- systems/aws-app-mesh — deprecated sidecar-mesh layer above ECS
- systems/aws-ecs-service-connect — current managed mesh layer
Seen in¶
- sources/2026-05-12-aws-building-hybrid-multi-tenant-architecture-for-stateful-services
— canonical wiki instance of ECS cluster as the tenant-isolation
boundary for a stateful multi-tenant service. AWS's ad-serving
platform runs one dedicated ECS cluster per tenant inside shared
AWS accounts; each cluster loads only its tenant's in-memory
state, eliminating cross-tenant heap sharing. Canonical
dedicated-ECS-cluster-
per-tenant pattern with naming convention
(
tier-1-cell-1-ig-1-tenant-a), task-definitionTENANT_IDenv var propagation, and ECS-task-per-service 5,000 ceiling applying per tenant because cluster is single-tenant. Capacity math (up to 5 clusters per tenant, up to 100 ECS clusters per infra group) and the cluster- level tenant isolation framing first canonicalised on this ingest. - sources/2025-01-18-aws-app-mesh-discontinuation-service-connect-migration — the substrate under both meshes; the ECS Service's exclusive mesh-membership constraint is load-bearing for migration.
- sources/2024-08-08-figma-migrated-onto-k8s-in-less-than-12-months — ECS as the origin substrate in Figma's 12-month migration to EKS. Figma enumerates ECS limitations that drove the move: no StatefulSets (had to write custom etcd cluster-membership code on ECS, "fragile and hard to maintain"); no Helm support (OSS like systems/temporal required hand-porting into systems/terraform); poor graceful-node-drain on ECS-on-EC2 vs EKS cordon-and-drain; limited auto-scaling vs CNCF systems/keda + systems/karpenter; missing service-mesh off-the-shelf options; expected slower investment vs vendor-agnostic Kubernetes.
- sources/2026-04-08-aws-build-a-multi-tenant-configuration-system-with-tagged-storage-patterns — ECS tasks on Fargate in private subnets are the substrate for the NestJS gRPC Order Service + Config Service in the multi-tenant tagged-storage architecture; ECS Service as the registration unit discovered by Cloud Map for the event-driven refresh Lambda's gRPC fan-out.
- — ECS as the non-Kubernetes substrate that Zalando Payments' Load Test Conductor scales in lockstep with Kubernetes during an end-to-end load-test run. One declarative load-test API call scales applications across two Kubernetes node pools and an ECS cluster simultaneously — an instance of multi-substrate parallel orchestration from a single control plane for a heterogeneous microservice landscape.