Overview

HAQM Elastic Container Service (ECS) is a fully managed container orchestration service that simplifies your deployment, management, and scaling of containerized applications. Whether you are new to HAQM ECS or you already have a use case in mind, choose your own path and follow the curated learning steps to get started.

photo of man holding lightbulb

Path 1: Get started with HAQM ECS 101

Open all

Get started with this short video to see how to deploy a monolithic node.js application to a Docker container, and then decouple the application into microservices without any downtime.

In this workshop, we will launch a frontend and multiple backend services on HAQM ECS, and explore how you might adopt this workflow into your environment.

Next, learn the core concepts of HAQM ECS and HAQM Container Registry (HAQM ECR), and how they help deploy, manage, and scale Docker-enabled applications on AWS. 

HAQM ECS makes it easy to run and scale containerized workloads on AWS. Learn how to create task definitions to run containers using HAQM ECS.

This whitepaper provides guidance for application lifecycle management, security, and architectural software design patterns for container-based applications on AWS. 

This last module is designed for Terraform centric developers. In this workshop, you will learn how to leverage HAQM ECS Blueprints to build and deploy various features on top of HAQM ECS.

Path 2: Run microservices with serverless containers using HAQM ECS with AWS Fargate

Open all

Get started with this short video to see how to deploy a monolithic node.js application to a Docker container, and then decouple the application into microservices without any downtime.

Next, we will show you how to run a simple monolithic application in a Docker container, deploy the same application as microservices, and then switch traffic to the microservices without any downtime.

This course will cover a quick review of containers and then will dive into the features, benefits, use cases, and a demonstration on HAQM ECS.

In this workshop, we will launch a frontend and multiple backend services on HAQM Elastic Container Service, and explore how you might adopt this workflow into your environment.

With HAQM ECS and AWS Fargate, users don't need to manage any middleware, any HAQM EC2 instances, or host OS. HAQM ECS Solution Blueprints, gives you a jumpstart and allows you to learn-by-doing. It codifies best practices, well-designed architecture patterns, and provides end-to-end solutions addressing CI/CD, observability, security, and cost efficiency.

To wrap, take this course to learn how to gain observability into your applications running on HAQM ECS. You will learn how to collect metrics, logs, and traces at the system and application level. Finally, learn how to apply this to identify and correct problems.

Path 3: Scale and run web applications

Open all

To get started, watch this video that details best practices and tips for scaling with HAQM ECS.

Next, learn more about ECS Cluster Auto Scaling (CAS), which allows for HAQM ECS to manage the scaling of HAQM EC2 Auto Scaling Groups (ASG). With CAS, you can configure HAQM ECS to scale your ASG automatically, and just focus on running your tasks. 

Learn more about hosting and exposing container-based APIs, and how to build a solution which supports HTTP requests routing, autoscaling, high availability, and user authorization, in some cases.

Learn how to make infrastructure choices to support your containerized enterprise applications running on HAQM ECS. In this course, you will learn how to scope requirements based on your application, select the best architecture to support your application, and design reusable infrastructure patterns that are secure, performant, and resilient.

In this course, you will learn how to manage enterprise applications running at scale on HAQM ECS, to build environments that can scale in or out quickly and safely. You will also learn how to differentiate application scaling from infrastructure scaling, and perform testing to identify the best metric for scaling your application.

For more details about how things work under the hood of HAQM ECS and to view best practices to make sure your application is secure, performant, and resilient, use the Official HAQM ECS User Guide and Best Practices to get up to scale quickly.

Path 4: Deploy advanced applications using HAQM ECS on HAQM EC2

Open all

This pattern shows how to setup an HAQM ECS cluster that automatically launches its own HAQM EC2 instances using an HAQM ECS Capacity Provider. This approach allows the HAQM ECS cluster to start out completely empty, add HAQM EC2 capacity as needed, and then "scale down to zero" when you stop all container tasks in the cluster.

Running containers on HAQM EC2 allows you to optimize how those containers are distributed across HAQM EC2 hosts, or how they are binpacked together onto shared hosts, to save costs. In this module, we will dive deep into placement strategies and constraints that let you target specific types of hosts, and control how the container tasks are placed onto hosts.

Spot Fleet lets you set your desired target capacity for your cluster, and optionally set the maximum amount per hour that you’re willing to pay for your fleet. Spot Fleet attempts to optimize your spend by launching mixed instance types out of the available Spot instance types to fulfill your total capacity needs, at the most minimal cost. Learn how to combine this strategy with HAQM ECS and container placement strategies to save money.

When running containers on HAQM EC2, you have a choice of three main networking approaches: AWS VPC, bridge mode, and host mode. Which makes sense for your application? Click on the links below to understand what tradeoffs each has to make the optimal choice.

host mode
bridge mode
awsvpc mode

In this pattern, you will see how to deploy HAQM EC2 instances that have GPUs and use the HAQM GPU Optimized AMI to give your containers access to an attached GPU for hardware acceleration of your computations.

GPUs are designed for general purpose tasks, and therefore aren’t always the most cost effective technique for accelerating your machine learning tasks. In this pattern, learn how to setup AWS Inferentia hardware, and use the AWS Deep Learning Container to run an AWS Neuron powered environment that makes use of purpose-built hardware that accelerates model training and inference, at a cost/performance ratio that beats GPU in many cases.

How do you manage updates and patches to HAQM EC2 hosts when your containers are running across a fleet of HAQM EC2 instances? This pattern demonstrates how to do patches and rolling upgrades to your underlying capacity while avoiding downtime for your applications.

More digital learning with HAQM ECS

Open all

New to AWS or using HAQM ECS for the first time? Take this course to get an overview of the basics of the service and what it's capable of.

Now that you know the basics, this course will teach you more about the fundamentals of HAQM ECS and the kinds of application patterns it's best suited for.

Ready to use containers on AWS but don't want to manage the compute instances yourself? This course introduces you to AWS Fargate, the serverless compute for HAQM ECS.

Using containers and microservices effectively usually means there's an image registry being used for deployments. This course introduces you to the HAQM Elastic Container Registry (ECR) and gives examples about how it can be used with HAQM ECS.

Learn more about how to troubleshoot the deployment and performance of your HAQM ECS-based services and how to dig in to get the logs and data you need to keep your applications performing as expected.

Ready to move beyond the UI and start using HAQM ECS more programmatically? This course introduces you too AWS Copilot, a tool for deploying apps and services in a more repeatable, coordinated, and orchestrated way.

Enterprise applications have their own special requirements for design, availability and scalability. This course will go over how to choose the right technologies for your environment, as well as best practices for networking, task-to-task communications and security.

Deploying and managing applications at scale is a delicate balance of capabilities, tools, culture, and discipline. This course will introduce you to the basics of using HAQM ECS in a CI/CD environment, focusing on the HAQM tools, patterns, best practices, and scenarios that are best to drive high velocity application environments.

Nothing scales like HAQM ECS does. This course goes over the topics of growth and scale, and looks at the best practices, application patters, and tools that can support customers from their initial deployment to servicing millions of requests per second.

When things go wrong, a platform's ability to help customers understand what has happened and how to resolve it becomes key. This course will dig into how to monitor and log performance inside HAQM ECS, and how to optimize the performance of running workloads.