You are on page 1of 28

AWS Cloud Developer Program

1
Previous Sessions
Amazon Web Services (AWS) Elastic Container Service (ECS) and Elastic Kubernetes
Service (EKS) are container orchestration services provided by AWS.

AWS ECS:
• Fully managed service for deploying and managing Docker containers
• Runs containers on clusters of Elastic Compute Cloud (EC2) instances and on
Fargate serverlessly
• Key features include task definitions, scalability, load balancing, and service
discovery

AWS EKS:
• Fully managed service for deploying and managing Kubernetes clusters
• Provides a managed Kubernetes control plane
• Supports self-managed worker nodes and managed node groups
• Key features include Kubernetes compatibility, scalability, and integration with
AWS services 2
Today’s Agenda
AWS ECS is a managed service for deploying and managing Docker containers, while AWS
EKS is a managed service for deploying and managing Kubernetes clusters, providing
scalability and integration with AWS services.
Demo 1 Preparing Docker Host and run a Container
Demo 2 Pulling an Image From Docker Hub, Creating an ECR Registry, Pushing the Image
Into the ECR Registry, Creating ECS Cluster Using EC2 resource, Creating Task
Definition and Running Task, and Checking and Verifying
Demo 3 Launching of Containers Using AWS Fargate and Configuration of ECS Using Load
Balancer and Autoscaling
Demo 4 EKS Cluster Deployment and Application Deployment Using the deployment.yaml
File
Best Practices
Summary of Key Points and Q&A Discussion 3
Overview of AWS Services
Including
Elastic Container Service
Edit Master text styles
And
Elastic Kubernetes Service
Instructor: Sanjay

4
Goals and Objectives of the Session

• Simplify container deployment and management.


• Enable scalability and high availability for containerized applications.
• Facilitate seamless integration with other AWS services.
• Ensure compatibility and interoperability with existing container
technologies.
• Deliver cost optimization and resource efficiency.
• Ensure high performance and reliability of containerized applications.

5
Technical Prerequisites
Networking setup:
• Virtual Private Cloud (VPC): Set up a VPC to define the networking environment for your ECS or
EKS clusters
Container images:
• Docker images: Prepare the container images of your application using Docker. These images
will be deployed and managed using ECS or EKS
• Docker registry: Push your Docker images to a container registry, such as Amazon Elastic
Container Registry (ECR) to store and distribute them
Access and permissions:
• Identity and Access Management (IAM) roles: Create IAM roles with appropriate permissions to
allow ECS or EKS to interact with other AWS services, such as EC2, ECR, and load balancers
• IAM users/groups: Assign necessary IAM permissions to users or groups to manage and operate
ECS or EKS resources
Compute resources:
• EC2 instances (for ECS): Set up and configure EC2 instances that will serve as the underlying
infrastructure for running ECS containers
• EC2 worker nodes (for EKS): Configure EC2 worker nodes or managed node groups to join the
EKS cluster and execute Kubernetes pods

6
Demo: 1
Preparing Docker Host
and Running a
Container
Edit Master text styles

Instructor:

7
Poll 1
Clickofto
1.Which theadd Title
following best describes a Docker host?

A) A platform for managing containerized applications


B) A server or virtual machine that runs Docker and hosts
containers
C) A cloud-based container orchestration service
D) A tool for building and deploying Docker images
• Practice in teams of 4 students
• Industry expert mentoring to learn better
• Get personalised feedback for improvements

Footer 8
Poll 1
Clickofto
1.Which theadd Title
following best describes a Docker host?

A) A platform for managing containerized applications


B) A server or virtual machine that runs Docker and hosts
containers
C) A cloud-based container orchestration service
D) A tool for building and deploying Docker images
• Practice in teams of 4 students
• Industry expert mentoring to learn better
• Get personalised feedback for improvements

Footer 9
Poll 2
Clickisto
2.What add
ECS in theTitle
context of AWS?

A) Elastic Compute Service for managing virtual machines


B) Elastic Container Service for managing Docker containers
C) Elastic Container Storage for persisting container data
D) Elastic Container• Scheduler for orchestrating container
Practice in teams of 4 students
• Industry expert mentoring to learn better
deployments • Get personalised feedback for improvements

Footer 10
Poll 2
Clickisto
2.What add
ECS in theTitle
context of AWS?

A) Elastic Compute Service for managing virtual machines


B) Elastic Container Service for managing Docker containers
C) Elastic Container Storage for persisting container data
D) Elastic Container• Scheduler for orchestrating container
Practice in teams of 4 students
• Industry expert mentoring to learn better
deployments • Get personalised feedback for improvements

Footer 11
Demo: 2
Pulling an Image From Docker
Hub, Creating an ECR Registry,
Pushing the Image Into the ECR
Registry, Creating ECS Cluster
Edit EC2
Using Master text stylesCreating Task
Resource,
Definition and Running Task, and
Checking and Verifying

Instructor : Sanjay

12
Demo: 3
Launching of Containers
Using AWS Fargate and
Configuration of ECS Using
Edit Master text styles
Elastic Load Balancer and
Autoscaling

Instructor: Sanjay

13
Discussing
• Key features and capabilities of EC2 cluster and Fargate
• Challenges and considerations
• Compare ECS with Fargate and highlight their differences,
use cases, and suitability for production environments
• Use cases and recommendations
• Best practices and optimization

14
Demo: 4
EKS Cluster Deployment
and Application
Edit Master text styles
Deployment Using the
deployment.yaml
Configuration File

Instructor: Sanjay

15
Discussing AWS EKS and Its Challenges and
Comparison Between ECS and EKS

16
Poll 3
Click
3.How toAWS
does addEKS Title
handle the underlying infrastructure for
Kubernetes clusters?

A) It utilizes self-managed worker nodes.


B) It integrates with AWS EC2 instances.
C) It leverages AWS Lambda functions.
• Practice in teams of 4 students
D) It relies on AWS Fargate
• Industryfor
expertinfrastructure
mentoring to learn better management.
• Get personalised feedback for improvements

Footer 17
Poll 3
Click
3.How toAWS
does addEKS Title
handle the underlying infrastructure for
Kubernetes clusters?

A) It utilizes self-managed worker nodes.


B) It integrates with AWS EC2 instances.
C) It leverages AWS Lambda functions.
• Practice in teams of 4 students
D) It relies on AWS Fargate
• Industryfor
expertinfrastructure
mentoring to learn better management.
• Get personalised feedback for improvements

Footer 18
Poll 4
Click to add Title
4.How does AWS ECS Fargate differ from AWS ECS with EC2 instances?

A) Fargate provides serverless compute resources, while ECS with EC2 requires
the manual management of virtual machine instances.
B) ECS with EC2 offers greater customization options compared to Fargate.
C) Fargate is limited in terms of scalability and availability compared to ECS
with EC2. • Practice in teams of 4 students

D) ECS with EC2 offers better integration with other AWS services compared to
• Industry expert mentoring to learn better
• Get personalised feedback for improvements
Fargate.
Footer 19
Poll 4
Click to add Title
4.How does AWS ECS Fargate differ from AWS ECS with EC2 instances?

A) Fargate provides serverless compute resources, while ECS with EC2 requires
the manual management of virtual machine instances.
B) ECS with EC2 offers greater customization options compared to Fargate.
C) Fargate is limited in terms of scalability and availability compared to ECS
with EC2. • Practice in teams of 4 students

D) ECS with EC2 offers better integration with other AWS services compared to
• Industry expert mentoring to learn better
• Get personalised feedback for improvements
Fargate.
Footer 20
Best Practices for Docker Container Deployment of Application in
ECS Using EC2 Cluster and Fargate

21
Summary
AWS ECS:
Managed service for deploying and managing Docker containers
Offers flexibility, scalability, and integration with other AWS services
Suitable for organizations already using Docker and looking for a simplified container
orchestration solution
AWS Fargate:
Serverless compute engine for containers, eliminating the need to manage underlying
infrastructure
Automatically scales containers, reducing operational overhead
Ideal for stateless workloads, bursty applications, and organizations seeking a
serverless container deployment experience
AWS EKS:
Fully managed Kubernetes service for deploying and managing Kubernetes clusters
Provides compatibility with the Kubernetes ecosystem and tooling
Offers automatic scaling, high availability, and seamless integration with other AWS
services
22
Summary
Key benefits of ECS, Fargate, and EKS:
Simplified container deployment and management
Scalability and automatic scaling based on demand
Integration with AWS services for enhanced functionality
Improved resource efficiency and cost optimization
High availability and resilience for containerized applications
Compatibility with the existing infrastructure and tooling

Challenges and considerations:


Learning curve for the concepts of ECS and Kubernetes
Container orchestration complexity and management overhead
Networking and security configuration for containerized applications
Monitoring, logging, and debugging challenges
Ongoing maintenance and compatibility with updates and upgrades

23
Key Takeaways
Docker:
Docker is a popular containerization platform that enables developers to package applications and their
dependencies into portable containers.
It provides a consistent environment for software development and deployment across different
systems.
Docker simplifies application deployment, scalability, and management by encapsulating applications
into isolated containers.
AWS ECS:
ECS is a managed service by AWS for deploying and managing Docker containers.
It provides a scalable and highly available platform for running containerized applications on AWS
infrastructure.
ECS offers features such as automatic load balancing, service discovery, and seamless integration with
other AWS services.
AWS Fargate:
Fargate is a serverless compute engine for containers provided by AWS.
It allows users to run containers without the need to provision or manage the underlying infrastructure.
Fargate automatically scales containers based on demand, reducing operational overhead and
improving resource efficiency.
24
Key Takeaways
AWS EKS:
EKS is a fully managed Kubernetes service offered by AWS.
It simplifies the deployment, scaling, and management of Kubernetes clusters, enabling
organizations to leverage the power of Kubernetes without the operational complexities.
EKS provides compatibility with the Kubernetes ecosystem and tooling, automatic
scaling, and seamless integration with other AWS services.

Key considerations:
Docker provides a standardized way to package and distribute applications, making them
highly portable and efficient.
AWS ECS offers a managed environment for deploying and managing Docker
containers, providing scalability and integration with AWS services.
AWS Fargate offers a serverless experience for running containers, eliminating the need
to manage underlying infrastructure and enabling automatic scaling.
AWS EKS provides a fully managed Kubernetes service, allowing organizations to
leverage Kubernetes for container orchestration with high availability and compatibility
with the Kubernetes ecosystem.
25
Key Takeaways
Use case considerations:
Docker is widely used for development environments, enabling consistency
across different systems and simplifying application deployment.
AWS ECS is suitable for organizations already using Docker and looking for a
managed container orchestration service with tight integration with other AWS
services.
AWS Fargate is ideal for organizations seeking a serverless experience, with
automatic scaling and reduced operational overhead for containerized
workloads.
AWS EKS is recommended for organizations with existing Kubernetes
26
expertise, complex workloads, and a need for compatibility with the Kubernetes
Questions and Answers

27
Thank You!

28

You might also like