- Products›
- Compute›
- Amazon Elastic Container Service›
- Getting Started with Amazon ECS
Getting Started with Amazon ECS
Overview
Amazon 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 Amazon ECS or you already have a use case in mind, choose your own path and follow the curated learning steps to get started.
Path 1: Get started with Amazon ECS 101
Step 1: Moving from Monolith to Microservices with Amazon ECS
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.
Step 2: Amazon ECS Workshop
In this workshop, we will launch a frontend and multiple backend services on Amazon ECS, and explore how you might adopt this workflow into your environment.
Step 3: Amazon ECS Core Concepts
Next, learn the core concepts of Amazon ECS and Amazon Container Registry (Amazon ECR), and how they help deploy, manage, and scale Docker-enabled applications on AWS.
Step 4: Writing Task Definitions
Amazon ECS makes it easy to run and scale containerized workloads on AWS. Learn how to create task definitions to run containers using Amazon ECS.
Step 5: Running Containerized Microservices on AWS
This whitepaper provides guidance for application lifecycle management, security, and architectural software design patterns for container-based applications on AWS.
Step 6: Amazon ECS Blueprints Workshop
This last module is designed for Terraform centric developers. In this workshop, you will learn how to leverage Amazon ECS Blueprints to build and deploy various features on top of Amazon ECS.
Path 2: Run microservices with serverless containers using Amazon ECS with AWS Fargate
Step 1: Moving from Monolith to Microservices with Amazon ECS
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.
Step 2: Break the Monolith Application into Microservices
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.
Step 3: Introduction to Amazon ECS
This course will cover a quick review of containers and then will dive into the features, benefits, use cases, and a demonstration on Amazon ECS.
Step 4: Amazon ECS Workshop
In this workshop, we will launch a frontend and multiple backend services on Amazon Elastic Container Service, and explore how you might adopt this workflow into your environment.
Step 5: Get Started with Infrastructure As Code with Amazon ECS and AWS Fargate
With Amazon ECS and AWS Fargate, users don't need to manage any middleware, any Amazon EC2 instances, or host OS. Amazon 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.
Step 6: Observing, Troubleshooting, and Optimizing Workloads Running on Amazon ECS
To wrap, take this course to learn how to gain observability into your applications running on Amazon 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
Step 1: Amazon ECS Scalability Best Practices
To get started, watch this video that details best practices and tips for scaling with Amazon ECS.
Step 2: Deep Dive on Amazon ECS Cluster Auto Scaling
Next, learn more about ECS Cluster Auto Scaling (CAS), which allows for Amazon ECS to manage the scaling of Amazon EC2 Auto Scaling Groups (ASG). With CAS, you can configure Amazon ECS to scale your ASG automatically, and just focus on running your tasks.
Step 3: Serverless Container-Based APIs with Amazon ECS and Amazon API Gateway
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.
Step 4: Building Enterprise Architectures in Amazon ECS
Learn how to make infrastructure choices to support your containerized enterprise applications running on Amazon 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.
Step 5: Managing Applications at Scale with Amazon ECS
In this course, you will learn how to manage enterprise applications running at scale on Amazon 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.
Step 6: Amazon ECS User Guide / Best Practices
For more details about how things work under the hood of Amazon ECS and to view best practices to make sure your application is secure, performant, and resilient, use the Official Amazon ECS User Guide and Best Practices to get up to scale quickly.
Path 4: Deploy advanced applications using Amazon ECS on Amazon EC2
Step 1: Deploying a Cluster Capacity Provider for Amazon EC2 Capacity for Containerized Services
This pattern shows how to setup an Amazon ECS cluster that automatically launches its own Amazon EC2 instances using an Amazon ECS Capacity Provider. This approach allows the Amazon ECS cluster to start out completely empty, add Amazon EC2 capacity as needed, and then "scale down to zero" when you stop all container tasks in the cluster.
Step 2: Optimize Cost and Performance with Advanced Placement Strategies and Constraints
Running containers on Amazon EC2 allows you to optimize how those containers are distributed across Amazon 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.
Step 3: Save Costs by Running Flexible Spot Fleet and Use Containers to Normalize Performance
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 Amazon ECS and container placement strategies to save money.
Step 4: Advanced Networking for Containers on Amazon EC2
When running containers on Amazon 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.
Step 5: Running GPU Workloads with Amazon ECS and Containers
In this pattern, you will see how to deploy Amazon EC2 instances that have GPUs and use the Amazon GPU Optimized AMI to give your containers access to an attached GPU for hardware acceleration of your computations.
Step 6: Advanced Machine Learning Workload Acceleration with AWS Inferentia and AWS Neuron
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.
Step 7: Maintaining an Amazon EC2 Fleet for Your Containers
How do you manage updates and patches to Amazon EC2 hosts when your containers are running across a fleet of Amazon 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 Amazon ECS
Step 1: Introduction to Amazon ECS
New to AWS or using Amazon ECS for the first time? Take this course to get an overview of the basics of the service and what it's capable of.
Step 2: Amazon ECS Primer
Now that you know the basics, this course will teach you more about the fundamentals of Amazon ECS and the kinds of application patterns it's best suited for.
Step 3: Introduction to AWS Fargate
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 Amazon ECS.
Step 4: Introduction to Amazon Elastic Container Registry (ECR)
Using containers and microservices effectively usually means there's an image registry being used for deployments. This course introduces you to the Amazon Elastic Container Registry (ECR) and gives examples about how it can be used with Amazon ECS.
Step 5: Troubleshooting Amazon ECS
Learn more about how to troubleshoot the deployment and performance of your Amazon ECS-based services and how to dig in to get the logs and data you need to keep your applications performing as expected.
Step 6: AWS CustomerCast - AWS Copilot - Simplifying Container Development
Ready to move beyond the UI and start using Amazon 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.
Step 7: Building Enterprise Architectures in Amazon ECS
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.
Step 8: Managing the Application Lifecycle in Amazon ECS
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 Amazon ECS in a CI/CD environment, focusing on the Amazon tools, patterns, best practices, and scenarios that are best to drive high velocity application environments.
Step 9: Managing Applications at Scale with Amazon ECS
Nothing scales like Amazon 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.
Step 10: Observing, Troubleshooting, and Optimizing Workloads Running on Amazon ECS
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 Amazon ECS, and how to optimize the performance of running workloads.
Get started with Amazon ECS
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages.