Amazon Elastic Container Service (Amazon ECS) is a highly scalable, high-performance container orchestration service that supports Docker containers and allows you to easily run and scale containerized applications on AWS. ECS can be used to launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.
Amazon ECS eliminates the need for you to install, operate, and scale your own cluster management infrastructure. With simple API calls, you can set up and manage a distributed system of highly available container applications throughout the entire lifecycle including installation, scaling, monitoring, and management. ECS is deeply integrated with familiar features such as Amazon EC2, Amazon CloudWatch, Elastic Load Balancing, and AWS Identity and Access Management (IAM), which provides robust security without the need for you to implement your own container security system. ECS allows you to launch your applications in a secured, managed, and scalable environment. It schedules your containers across your cluster based on your resource needs and isolation policies. This provides high levels of availability and scalability by running on a diverse set of Amazon EC2 instance types and sizes.
For even more fine-grained control, Amazon ECS supports tasks definitions that allow you to specify the CPU and memory requirements, restart policies, and more for each container.
One of the key benefits of Amazon ECS is its integration with AWS Fargate, which takes the hassle out of managing servers and clusters. Instead, with Fargate, you only worry about defining your applications and their requirements. The infrastructure needed to run these applications is fully managed by AWS, which allows you to focus on designing and building your applications instead of managing the infrastructure that runs them.
Amazon ECS Managed Instances is another fully managed compute option. It automatically provisions, manages, and scales EC2 instances within your ECS cluster, including patching and lifecycle management, while keeping the instances visible in your AWS account.
Amazon ECS Anywhere lets you register external instances, such as on-premises servers or virtual machines, with an ECS cluster.
With ECS on AWS Outposts, container instances run on Outposts EC2 capacity while the ECS control plane remains in the AWS cloud.
Amazon ECS Express Mode provides a simplified deployment experience that automatically creates and configures the ECS service, task definition, networking, load balancer, and auto-scaling, and supplies a default domain. By default, it uses AWS Fargate and an Application Load Balancer, with the resources created in your AWS account.
It supports various application architectures including microservices, batch processing, and machine learning and is versatile enough to support various application needs, from long-running applications to intermittent batch jobs. This makes ECS a highly effective platform for deploying a wide variety of applications, providing developers and IT teams the flexibility and tools they need to deliver robust, scalable applications.
Icon source: AWS