Skip to main content
Containers and Serverless Recommendation Guide

Amazon Elastic Container Service (Amazon ECS)

Guidance

Since you selected "I would like to run containerized applications” we recommend Amazon Elastic Container Services (ECS) as the best place for you to start. 

What is Amazon ECS?

Amazon ECS is an opinionated container orchestration service that delivers the easiest way for organizations to build, deploy, and manage containerized applications at any scale. When you select to use Amazon ECS with AWS Fargate, Amazon ECS supports serverless container orchestration so you can leverage more of AWS’s operational excellence when it comes to scaling, maintaining availability, and securing your containerized workloads. ECS is fully managed and versionless, providing tooling and built-in support that makes it simple to build and run containerized applications on AWS. For example, Amazon ECS Service Connect simplifies service discovery, connectivity, and traffic observability while Amazon ECS CloudWatch Container Insights collects, aggregates, and summarizes metrics and logs. 

Why are we recommending Amazon ECS?

Over 65% of new containers customers on AWS start with Amazon ECS, and according to the CNCF more customers run containers on AWS than any other cloud. Many customers like that they can use ECS with AWS Fargate for a serverless containers experience that removes much of the operational lifting from internal teams. For workloads where you need more control, we recommend ECS on Amazon EC2 and for those that need to run hybrid between AWS and on-premises we recommend Amazon ECS Anywhere or Amazon ECS on AWS Outposts. 

While this is our recommended starting point, other services could also suit your needs and you can always try a different service if your use case changes or if Amazon Elastic Container Services (ECS) does not seem optimal for your use case. 

Frequently Asked Questions

Open all
Amazon ECS works with container images (i.e. registry repo image).
In addition to AWS regions, Amazon ECS can deploy applications on Outpost, Wavelength, Local Zone and on customer managed infrastructure via Amazon ECS Anywhere.
Amazon ECS can run front-end services, web services, back-end workers, batch jobs and AI/ML workloads.
For information on Amazon ECS pricing, please visit Amazon ECS Pricing.
Amazon ECS is the easiest way to get started with a container orchestrator. However, AWS has purpose-built services that make it easy to run a variety of container-based use cases where a full orchestrator access is unnecessary. For example, you could use AWS App Runner for basic web applications with a request-response pattern, AWS Batch for batch jobs, and Amazon Lightsail for students, hobbyists and other applications that will never need the scalability and capabilities of AWS. Beyond those choices, you can look into AWS IoT Greengrass for IoT, AWS CodeBuild for build jobs and AWS Amplify for full-stack web and mobile apps.
Amazon ECS is a fully managed container control plane that allows you to focus on applications instead of infrastructure. While deploying to an AWS region often allows users to gain the major benefits of the cloud, Amazon ECS allows to deploy containerized applications on AWS Outposts on-prem maintaining high infrastructure fidelity with the AWS region. In addition, Amazon ECS allows to deploy containerized applications on customer managed infrastructure via Amazon ECS Anywhere without the need to run and maintain a local orchestrator.
Yes! Amazon ECS has a deep list of third party partners that it integrate with (many of which are open source projects). That being said, Amazon ECS itself does not have the richness of a options of a traditional open source projects. While some customers may think this is a problem, many Amazon ECS customers appreciate the reduced tool fatigue that Amazon ECS offers with a more out of the box and opinionated experience.
Amazon ECS is a container orchestrator whereas AWS Lambda is a function deployment. Amazon ECS is ideal if you have tasks running longer than 15 minutes or need to run code outside of AWS Regions. Amazon ECS provides opinionated experiences for things like networking and observability but can be customized to your needs. Amazon ECS has multiple deployment options including serverlessly on AWS Fargate, on Amazon EC2, on AWS Outposts, and on AWS Anywhere for on-premises workloads. AWS Lambda is ideal for applications that run on-demand in 15 minutes or less and/or you want to pay only for the capacity that is used. AWS Lambda uses an event-driven model and takes on more of the work to scale, secure, and ensure the availability of your workload. AWS Lambda is only available in AWS Regions.