
This lesson introduces the concept of microservices, contrasting them with traditional monolithic application architectures, and explaining their implementation within containers. It focuses on the benefits of microservices, such as resilience, service independence, and flexible scaling, while also discussing the use of well-defined APIs for interaction among different microservices, and the advantages of adopting a microservices approach in cloud environments like AWS.
This lesson introduces microservices and their implementation within containers, highlighting the advantages over traditional monolithic application architectures. It discusses how containers solve problems of software reliability across different computing environments by encapsulating the application with its dependencies, libraries, and configuration files, ensuring consistent performance regardless of the underlying infrastructure.
This lesson introduces the basic concepts of container orchestration, specifically focusing on using EC2 as a capacity provider in ECS for running numerous containers. It explains the challenges of deploying, scaling, and managing multiple containers, and how container orchestration tools, particularly ECS in AWS, simplify these processes. The lesson also discusses the use of container registries, the role of container hosts like EC2 instances, and the integration of auto-scaling groups for efficient container management.
This lesson introduces AWS Fargate and its differences from using EC2 as a capacity provider for ECS clusters. It explains how Fargate simplifies container management by eliminating the need to manage EC2 instances, allowing for a more abstracted, managed compute resource approach. The lesson also discusses the benefits of Fargate in handling dynamic workloads and compares the cost-effectiveness of using Fargate versus EC2 for various types of container workloads.
This lesson explores the use of EC2 container hosts in AWS and their integration with the Elastic Container Registry (ECR) service. It explains how EC2 instances function as container hosts, running multiple containers with their own isolated execution environments, and highlights the role of ECR as a storage service for container images. Additionally, the lesson discusses the management of these containers using ECS for orchestration, detailing the choices between EC2 and serverless Fargate for compute capacity.
This demo shows how to create an ECS cluster with EC2 capacity, starting with the deployment of an AWS VPC using a CloudFormation template. It explains the setup of a VPC with private and public subnets, an application load balancer, and an auto-scaling group for EC2 container hosts, as well as the configuration of a Nat Gateway to enable internet access for privately addressed instances.
This demo provides a step-by-step guide on creating the first ECS cluster using EC2 capacity in AWS. It explains the process, starting with setting up the necessary AWS infrastructure such as VPC, subnets, and route tables, and then demonstrates how to create the cluster, configure EC2 instances, and establish security groups and network settings.
This demo shows how to start tasks on an Amazon ECS cluster. It reviews the auto scaling group created by ECS, explaining the setup and management of EC2 instances as container hosts. The tutorial then covers the creation and configuration of a task definition for running a web server container, followed by executing the task on the cluster to ensure the container is operational.
This demo shows how to modify an existing Amazon ECS cluster. It demonstrates how to stop running tasks and alter the cluster's auto scaling group, including adjusting the desired capacity and updating the launch template with a new instance type. Everything concludes with a practical example of the effects of these changes, such as the automatic termination and initiation of EC2 instances based on the updated configurations.
This lesson focuses on explaining bridge networks in an ECS cluster. It highlights the concept of static port mapping, where traffic to the EC2 instance's port is redirected to a specific container. The limitations of static port mapping, such as challenges in handling multiple containers on the same port, are discussed, leading to the introduction of dynamic port mapping as a solution. The tutorial also touches on the role of the NAT Gateway in enabling communication between the ECS container agent and the ECS control plane, and its importance for accessing external resources like ECR, S3, and DynamoDB.
This lesson explains the differences between ECS AWSVPC networks and bridge networks. It discusses how VPC networks provide each ECS task with its own Elastic Network Interface (ENI), allowing for individual traffic routing and separate security group assignments. This setup contrasts with bridge networks, where all traffic is routed through a software bridge on the EC2 instance, leading to potential latency issues. The lesson also covers considerations like the number of ENIs supported by different EC2 instances and the necessity of a NAT gateway for internet access.
This lesson explores task definitions and services in ECS, focusing on how to efficiently size tasks and manage resources. It emphasizes the importance of correctly allocating CPU and memory to tasks and containers within them, while considering the implications of reservations and limits on resource usage. It also differentiates between tasks and services in ECS, explaining how services offer advantages like scaling, monitoring, and automatic restarts of tasks. Furthermore, it discusses the use of AWS VPC network mode for services, allowing different security groups for each task, and the utility of tagging in ECS for organizational and reporting purposes.
This demo focuses on using an AWS Application Load Balancer (ALB) to evenly distribute incoming internet traffic across multiple containers in an ECS (Elastic Container Service) environment. It includes the creation of an ALB, setting up listeners and target groups (which are later discarded), and configuring the necessary security groups to allow traffic from the ALB to the containers. The demonstration highlights the significance of correctly setting up the ALB and security groups to ensure efficient traffic distribution to ECS containers.
This demo shows setting up an ECS cluster and integrating it with an application load balancer (ALB) to manage traffic across multiple tasks. The demonstration begins with creating a task definition named "load balanced web" using the EC2 capacity and bridge network mode, without static port mapping. Subsequently, a service is created with the ALB to dictate the desired number of container instances and manage traffic distribution. It also covers configuring security groups for the ALB and container hosts, ensuring the proper flow of traffic to the containers.
This demo shows how to simulate and manage failures in an ECS cluster. It displays the process of stopping tasks and terminating an EC2 instance within the cluster, observing how ECS adjusts by launching new containers and instances to maintain the desired state. The demonstration highlights ECS's declarative nature, ensuring the specified number of tasks are always running, and how auto scaling responds to an EC2 instance failure by initializing a new container host. It concludes with a cleanup process, preparing for future demos using Fargate instead of EC2.
This demo shows creating a Fargate cluster in ECS, including setting up an application load balancer. The process begins with creating a load balancer in the EC2 dashboard, configuring listeners and target groups, and then proceeding to the ECS dashboard to establish a new Fargate cluster. The cluster uses serverless capacity, differing from previous EC2-based clusters. The demonstration covers creating a task definition with specific CPU and memory resources for Fargate, and setting up a service to ensure a designated number of container instances are always running. It concludes with the cleanup of the created service and task definition, keeping the load balancer for future demonstrations.
https://docs.aws.amazon.com/eks/latest/userguide/automode-workload.html
https://docs.aws.amazon.com/eks/latest/userguide/automode-workload.html
https://docs.aws.amazon.com/eks/latest/userguide/auto-elb-example.html
"Easy to understand the flow of the information. Good for a beginner or more advanced learner." -Sarah
"Really clear and straight to the point. I was able to quickly learn how to deploy two containers, verify they are working and clearly understand how it all works!" -Jack
This course now includes many downloadable study guide PDF files and downloadable slides!
Are you brand new to AWS ECS, Fargate, or EKS? Have you found that many training resources are filled with complex jargon that makes it difficult to grasp the basics? If you’re looking for a clear, fast, and beginner-friendly way to understand AWS container services, this course is for you.
I’ve taught hundreds of thousands of students across multiple platforms, and I believe anyone new to AWS container services will benefit from this course. Most lessons are 5–10 minutes long, and in just a couple of hours, you'll gain confidence in using ECS, Fargate, and EKS.
You’ll learn how ECS and EKS work, how they are billed, and how to deploy and manage containers on AWS with real-world demos and walkthroughs.
You can begin this course now, and in two short hours you will have a strong understanding of ECS. So don't wait - give this course a try now and learn how to manage ECS and Fargate!
Lessons include:
Introduction to Microservices and Containers
Introduction to ECS, EKS, and Fargate
EC2 Container Hosts vs. Fargate
Configure a VPC for ECS using CloudFormation
Create an ECS cluster, launch tasks and services, and test failures
Modify an ECS cluster
Create a web server running in ECS
Distribute traffic across multiple containers using an Application Load Balancer (ALB)
Configure and run containers on Fargate
Install and Use AWS CLI, kubectl, and eksctl
Deploy a Cluster using EKS Auto Mode
Launch and Manage Sample Workloads in EKS
Deploy Load-Balanced and Stateful Applications in EKS
Understand the Difference Between EKS Auto Mode vs. Fargate
Deploy an EKS Cluster using Fargate Profiles
Join now and gain practical hands-on experience with both ECS and EKS—two of the most powerful container orchestration platforms on AWS!