SlideShare a Scribd company logo
Running
Containers in
AWS
ANDREW MAY
CLOUD SOLUTIONS LEAD
COLUMBUS
MEET-UP
Docker
Storage
ECR
Orchestration (Services)
Elastic Container
Service (ECS)
EC2 Fargate
EKS Elastic Beanstalk
Single Multi
Discovery
CloudMap AppMesh
Transient
AWS
Batch
CodeBuild
Docker
Storage
ECR
Orchestration (Services)
Elastic Container
Service (ECS)
EC2 Fargate
EKS Elastic Beanstalk
Single Multi
Discovery
CloudMap AppMesh
Transient
AWS
Batch
CodeBuild
ECR Amazon Elastic Container Registry
Elastic Container Registry (ECR)
ECR is a Docker registry hosted within AWS in each region
◦ Images are stored close to where your containers will run
Images are secured using AWS IAM Policies
The Elastic Container Registry contains a Repository for each image
Lifecycle Policies can be used to clean up old versions of images
Login using AWS CLI, use standard Docker commands to pull and push
Image names are prefixed by ECR Repository URL
(<account>.dkr.ecr.<region>.amazonaws.com)
Orchestration Management of the container lifecycles
Orchestration provides:
➢Configuration
➢Scheduling
➢Deployment
➢Scaling
➢Storage (Volume) mapping
➢Secret management
➢High Availability
➢Load balancing integration
Managed Orchestration options (AWS)
ECS Amazon Elastic Container Service
Elastic Container Service (ECS)
Original AWS Service for running containers
ECS Service is free, you only pay for the resources
(EC2/Fargate) that are used with ECS
Strong integration with other AWS Services:
◦ IAM
◦ Load balancers
AutoScaling of containers (similar to EC2 AutoScaling)
• ECS can use either EC2 instances or Fargate to run
Docker containers
• Container Instances = ECS Instances = EC2 Instances
• Tasks have 1 or more running Containers
• Tasks are defined by Task Definitions
Task Definition
and Tasks
❖Template for a Task
❖Runs one or more
Container
❖References Container
Image
❖ECS Agent pulls image
and starts container
❖Port mappings,
CPU/Memory
requirements, Volumes
etc.
❖Versioned
ALB Integration
with ECS
Services
❖Services are long
running collections of
Tasks
❖Run multiple copies
❖Containers have a
container port (e.g. 80)
and a host port
❖Host port zero
= ephemeral
❖ALB Target Group
automatically updated
Other ECS Benefits
ECS Infrastructure can be created using CloudFormation
Updating a Service to use a new Task Definition will perform
a Blue-Green deployment
Possible to use Spot Instances
Metrics => CloudWatch
Logs => CloudWatch Logs (or elsewhere)
Fargate AWS Fargate
(compute engine for ECS)
Fargate
“Serverless” option for running containers in an ECS Cluster
◦ Configure desired CPU/Memory and this will be guaranteed for that
container
◦ Compare to using EC2 where you may be over/under provisioned
Networking is always awsvpc:
i.e. it will use an ENI per instance (one of your subnet IPs)
Scaling at a task level is similar to when using EC2 instances,
but without the complexity of scaling the underlying EC2
AutoScaling group(s)
Why aren’t we all using Fargate?
Fargate was expensive when launched, but the Firecracker VM
technology has allowed AWS to reduce costs
With recent price reductions, Fargate is comparable in price to on-
demand EC2 instances with ~70% utilization
Reserved or Spot instances make using EC2 a lot cheaper
EKS Amazon Elastic Container Service for
Kubernetes
Kubernetes
Predominant Docker Orchestration service
Managed Kubernetes available in:
◦ Google Cloud Platform (Google Kubernetes Engine)
◦ Microsoft Azure (Azure Kubernetes Service – AKS)
◦ Amazon Web Services (EKS)
The GCP offering is the most mature, AKS and EKS were both launched in 2018
Support for running Kubernetes clusters on EC2 and integrating with other
services (e.g. ELB) has existed for longer than EKS has been available
What does EKS manage?
EKS manages three Kubernetes master instances across AZs to provide high availability
Using EKS
Cluster creation can be automated with CloudFormation, and AWS provides
sample templates and a quick-start
◦ Set up VPC
◦ Create EKS Service IAM Role
◦ Create EKS Cluster
◦ Add Node instances to cluster using EKS AMI
Once Cluster created, configure kubectl with access to cluster and use normal
Kubernetes tools and templates to manage and deploy to the cluster
EKS Cluster cost $0.20/hour (about $140/month)
$ eksctl create cluster -p personal -r us-east-2
[ ] using region us-east-2
[ ] setting availability zones to [us-east-2b us-east-2c us-east-2a]
[ ] subnets for us-east-2b - public:192.168.0.0/19 private:192.168.96.0/19
[ ] subnets for us-east-2c - public:192.168.32.0/19 private:192.168.128.0/19
[ ] subnets for us-east-2a - public:192.168.64.0/19 private:192.168.160.0/19
[ ] nodegroup "ng-c94ddd68" will use "ami-04ea7cb66af82ae4a" [AmazonLinux2/1.12]
[ ] creating EKS cluster "floral-painting-1556150853" in "us-east-2" region
[ ] will create 2 separate CloudFormation stacks for cluster itself and the initial nodegroup
[ ] if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=us-east-2 --
name=floral-painting-1556150853’
[ ] 2 sequential tasks: { create cluster control plane "floral-painting-1556150853", create nodegroup "ng-c94ddd68" }
[ ] building cluster stack "eksctl-floral-painting-1556150853-cluster“
[ ] deploying stack "eksctl-floral-painting-1556150853-cluster“
[ ] buildings nodegroup stack "eksctl-floral-painting-1556150853-nodegroup-ng-c94ddd68“
[ ] --nodes-min=2 was set automatically for nodegroup ng-c94ddd68
[ ] --nodes-max=2 was set automatically for nodegroup ng-c94ddd68
[ ] deploying stack "eksctl-floral-painting-1556150853-nodegroup-ng-c94ddd68“
[X] all EKS cluster resource for "floral-painting-1556150853" had been created
[X] saved kubeconfig as "C:Usersandrew.may.CORP/.kube/config“
[ ] adding role "arn:aws:iam::648758314004:role/eksctl-floral-painting-1556150853-NodeInstanceRole-4TJQAGSUVG7Q" to auth ConfigMap
[ ] nodegroup "ng-c94ddd68" has 0 node(s)
[ ] waiting for at least 2 node(s) to become ready in "ng-c94ddd68“
[ ] nodegroup "ng-c94ddd68" has 2 node(s)
[ ] node "ip-192-168-25-233.us-east-2.compute.internal" is ready
[ ] node "ip-192-168-79-171.us-east-2.compute.internal" is ready
[ ] kubectl command should work with "C:Usersandrew.may.CORP/.kube/config", try 'kubectl get nodes’
[x] EKS cluster "floral-painting-1556150853" in "us-east-2" region is ready
EKS Experience
Without eksctrl setting up cluster is time consuming
Integration with other AWS services is more difficult than with ECS
Have to install a variety of services to get IAM, ALB, DNS integrations
Significant changes since launch
EKS Cluster in AWS Console
AWS
CloudMap
“AWS Cloud Map is a cloud resource
discovery service.”
CloudMap
AWS CloudMap superceeds Service Discovery for ECS
◦ Registered in Route 53 namespace, creating A (IP) and SRV (IP and Port)
records
◦ Query DNS for available services
◦ ECS Tasks must use awsvpc networking
AWS CloudMap adds an API based system, allowing it to be used for
resources where DNS does not apply
◦ Supports a variety of services including ECS, EKS, S3, SQS, Lambda, Load
Balancers
Similar to the Service Discovery portions of Hashicorp Consul
CloudMap
AWS
AppMesh
AWS Application Service Mesh
AppMesh
Recently released, but still in early stages
Service Mesh implementation for AWS, using
the Open Source Envoy proxy, but a custom
Control Plane
Manage connectivity between microservices, including traffic shaping functionality like:
◦ Routing: Canary and A/B Testing
◦ Load Balancing and Service Discovery
◦ Handling Failures (Retry, Circuit Breaker)
Integration with CloudMap for Service Discovery
Logging and Tracing (CloudWatch, X-Ray)
AppMesh
Questions?
Ask at Unconference
Ad

More Related Content

Similar to AWS Community Day - Andrew May - Running Containers in AWS (20)

Building a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKSBuilding a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKS
DevOps.com
 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKS
Laura Frank Tacho
 
Aws container webinar day 1
Aws container webinar day 1Aws container webinar day 1
Aws container webinar day 1
HoseokSeo7
 
Kubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptxKubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptx
satish642065
 
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECSWeaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks
 
Running containers in AWS
Running containers in AWSRunning containers in AWS
Running containers in AWS
AndrewMay59
 
AWS ECS Meetup Talentica
AWS ECS Meetup TalenticaAWS ECS Meetup Talentica
AWS ECS Meetup Talentica
Anshul Patel
 
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
Amazon Web Services Korea
 
Kubernetes and Amazon ECS
Kubernetes and Amazon ECSKubernetes and Amazon ECS
Kubernetes and Amazon ECS
Geert Pante
 
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul MaddoxAWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS Riyadh User Group
 
EKS AWS Presentation kuberneted oriented
EKS AWS Presentation kuberneted orientedEKS AWS Presentation kuberneted oriented
EKS AWS Presentation kuberneted oriented
anabella881965
 
Amazon EKS Deep Dive
Amazon EKS Deep DiveAmazon EKS Deep Dive
Amazon EKS Deep Dive
Andrzej Komarnicki
 
aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptx
WaseemShare
 
ECS and ECR deep dive
ECS and ECR deep diveECS and ECR deep dive
ECS and ECR deep dive
Shiva Narayanaswamy
 
Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila
 
A quick introduction to AKS
A quick introduction to AKSA quick introduction to AKS
A quick introduction to AKS
Alessandro Melchiori
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes Services
QAware GmbH
 
Bitbucket Pipelines - Powered by Kubernetes
Bitbucket Pipelines - Powered by KubernetesBitbucket Pipelines - Powered by Kubernetes
Bitbucket Pipelines - Powered by Kubernetes
Nathan Burrell
 
Docker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and KubernetesDocker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and Kubernetes
Julien SIMON
 
Ford's AWS Service Update - March 2020 (Richmond AWS User Group)
Ford's AWS Service Update - March 2020 (Richmond AWS User Group)Ford's AWS Service Update - March 2020 (Richmond AWS User Group)
Ford's AWS Service Update - March 2020 (Richmond AWS User Group)
Ford Prior
 
Building a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKSBuilding a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKS
DevOps.com
 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKS
Laura Frank Tacho
 
Aws container webinar day 1
Aws container webinar day 1Aws container webinar day 1
Aws container webinar day 1
HoseokSeo7
 
Kubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptxKubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptx
satish642065
 
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECSWeaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks
 
Running containers in AWS
Running containers in AWSRunning containers in AWS
Running containers in AWS
AndrewMay59
 
AWS ECS Meetup Talentica
AWS ECS Meetup TalenticaAWS ECS Meetup Talentica
AWS ECS Meetup Talentica
Anshul Patel
 
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
Amazon Web Services Korea
 
Kubernetes and Amazon ECS
Kubernetes and Amazon ECSKubernetes and Amazon ECS
Kubernetes and Amazon ECS
Geert Pante
 
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul MaddoxAWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS Riyadh User Group
 
EKS AWS Presentation kuberneted oriented
EKS AWS Presentation kuberneted orientedEKS AWS Presentation kuberneted oriented
EKS AWS Presentation kuberneted oriented
anabella881965
 
aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptx
WaseemShare
 
Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes Services
QAware GmbH
 
Bitbucket Pipelines - Powered by Kubernetes
Bitbucket Pipelines - Powered by KubernetesBitbucket Pipelines - Powered by Kubernetes
Bitbucket Pipelines - Powered by Kubernetes
Nathan Burrell
 
Docker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and KubernetesDocker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and Kubernetes
Julien SIMON
 
Ford's AWS Service Update - March 2020 (Richmond AWS User Group)
Ford's AWS Service Update - March 2020 (Richmond AWS User Group)Ford's AWS Service Update - March 2020 (Richmond AWS User Group)
Ford's AWS Service Update - March 2020 (Richmond AWS User Group)
Ford Prior
 

More from AWS Chicago (20)

Chicago AWS Architectural Resilience Day 2024
Chicago AWS Architectural Resilience Day 2024Chicago AWS Architectural Resilience Day 2024
Chicago AWS Architectural Resilience Day 2024
AWS Chicago
 
David Michels: DevOps My AI at AWS Community Day Midwest 2024
David Michels: DevOps My AI at AWS Community Day Midwest 2024David Michels: DevOps My AI at AWS Community Day Midwest 2024
David Michels: DevOps My AI at AWS Community Day Midwest 2024
AWS Chicago
 
Girish Bhatia: 2024 CommunityDay AWS Lambda develop locally with SAM, Docker ...
Girish Bhatia: 2024 CommunityDay AWS Lambda develop locally with SAM, Docker ...Girish Bhatia: 2024 CommunityDay AWS Lambda develop locally with SAM, Docker ...
Girish Bhatia: 2024 CommunityDay AWS Lambda develop locally with SAM, Docker ...
AWS Chicago
 
Julia Furst Morgado Managing EKS Clusters at Scale using Blueprints and Infra...
Julia Furst Morgado	Managing EKS Clusters at Scale using Blueprints and Infra...Julia Furst Morgado	Managing EKS Clusters at Scale using Blueprints and Infra...
Julia Furst Morgado Managing EKS Clusters at Scale using Blueprints and Infra...
AWS Chicago
 
Max De Jong: Avoiding Common Pitfalls with Hosting Machine Learning Models
Max De Jong: Avoiding Common Pitfalls with Hosting Machine Learning ModelsMax De Jong: Avoiding Common Pitfalls with Hosting Machine Learning Models
Max De Jong: Avoiding Common Pitfalls with Hosting Machine Learning Models
AWS Chicago
 
Jason Butz Building Testable Serverless Applications with the Hexagonal Archi...
Jason Butz	Building Testable Serverless Applications with the Hexagonal Archi...Jason Butz	Building Testable Serverless Applications with the Hexagonal Archi...
Jason Butz Building Testable Serverless Applications with the Hexagonal Archi...
AWS Chicago
 
Muthukumaran Ardhanary AWS Datasync to migrate objects from on-prem to s3
Muthukumaran Ardhanary	AWS Datasync to migrate objects from on-prem to s3Muthukumaran Ardhanary	AWS Datasync to migrate objects from on-prem to s3
Muthukumaran Ardhanary AWS Datasync to migrate objects from on-prem to s3
AWS Chicago
 
Jeff Maruschek: How does RAG REALLY work?
Jeff Maruschek: How does RAG REALLY work?Jeff Maruschek: How does RAG REALLY work?
Jeff Maruschek: How does RAG REALLY work?
AWS Chicago
 
Jay Kahlon: Tagging Compliance The Tags are Coming!
Jay Kahlon: Tagging Compliance The Tags are Coming!Jay Kahlon: Tagging Compliance The Tags are Coming!
Jay Kahlon: Tagging Compliance The Tags are Coming!
AWS Chicago
 
Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automat...
Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automat...Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automat...
Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automat...
AWS Chicago
 
Drake Pocsatko: We have HOW many documents? We have HOW many Documents? Archi...
Drake Pocsatko: We have HOW many documents? We have HOW many Documents? Archi...Drake Pocsatko: We have HOW many documents? We have HOW many Documents? Archi...
Drake Pocsatko: We have HOW many documents? We have HOW many Documents? Archi...
AWS Chicago
 
Chris Ebert: Getting Started With Serverless Website Analytics.pdf
Chris Ebert: Getting Started With Serverless Website Analytics.pdfChris Ebert: Getting Started With Serverless Website Analytics.pdf
Chris Ebert: Getting Started With Serverless Website Analytics.pdf
AWS Chicago
 
Cameron Williams: Intelligent Document Processing for Artificial Intelligence
Cameron Williams: Intelligent Document Processing for Artificial IntelligenceCameron Williams: Intelligent Document Processing for Artificial Intelligence
Cameron Williams: Intelligent Document Processing for Artificial Intelligence
AWS Chicago
 
Brian Tarbox: S3 - Sophisticated Storage System
Brian Tarbox: S3 - Sophisticated Storage SystemBrian Tarbox: S3 - Sophisticated Storage System
Brian Tarbox: S3 - Sophisticated Storage System
AWS Chicago
 
Bob Eisenmann and Justin Ranta: Automated Application Delivery on AWS using G...
Bob Eisenmann and Justin Ranta: Automated Application Delivery on AWS using G...Bob Eisenmann and Justin Ranta: Automated Application Delivery on AWS using G...
Bob Eisenmann and Justin Ranta: Automated Application Delivery on AWS using G...
AWS Chicago
 
Mayur Runwal and Steven David: User desktops in AWS for low latency and grap...
Mayur Runwal and Steven David:  User desktops in AWS for low latency and grap...Mayur Runwal and Steven David:  User desktops in AWS for low latency and grap...
Mayur Runwal and Steven David: User desktops in AWS for low latency and grap...
AWS Chicago
 
Justin Wheeler How to Explain AWS to Non-Technical People
Justin Wheeler	How to Explain AWS to Non-Technical PeopleJustin Wheeler	How to Explain AWS to Non-Technical People
Justin Wheeler How to Explain AWS to Non-Technical People
AWS Chicago
 
Angelo Mandato: Learn about the benefits with examples how to create and main...
Angelo Mandato: Learn about the benefits with examples how to create and main...Angelo Mandato: Learn about the benefits with examples how to create and main...
Angelo Mandato: Learn about the benefits with examples how to create and main...
AWS Chicago
 
Christopher Judd: Monitor All Your Stuff with OpenTelemetry and AWS
Christopher Judd: Monitor All Your Stuff with OpenTelemetry and AWSChristopher Judd: Monitor All Your Stuff with OpenTelemetry and AWS
Christopher Judd: Monitor All Your Stuff with OpenTelemetry and AWS
AWS Chicago
 
Lena Taupier: Secure your App from bots and attacks with AWS WAF (Web Applica...
Lena Taupier: Secure your App from bots and attacks with AWS WAF (Web Applica...Lena Taupier: Secure your App from bots and attacks with AWS WAF (Web Applica...
Lena Taupier: Secure your App from bots and attacks with AWS WAF (Web Applica...
AWS Chicago
 
Chicago AWS Architectural Resilience Day 2024
Chicago AWS Architectural Resilience Day 2024Chicago AWS Architectural Resilience Day 2024
Chicago AWS Architectural Resilience Day 2024
AWS Chicago
 
David Michels: DevOps My AI at AWS Community Day Midwest 2024
David Michels: DevOps My AI at AWS Community Day Midwest 2024David Michels: DevOps My AI at AWS Community Day Midwest 2024
David Michels: DevOps My AI at AWS Community Day Midwest 2024
AWS Chicago
 
Girish Bhatia: 2024 CommunityDay AWS Lambda develop locally with SAM, Docker ...
Girish Bhatia: 2024 CommunityDay AWS Lambda develop locally with SAM, Docker ...Girish Bhatia: 2024 CommunityDay AWS Lambda develop locally with SAM, Docker ...
Girish Bhatia: 2024 CommunityDay AWS Lambda develop locally with SAM, Docker ...
AWS Chicago
 
Julia Furst Morgado Managing EKS Clusters at Scale using Blueprints and Infra...
Julia Furst Morgado	Managing EKS Clusters at Scale using Blueprints and Infra...Julia Furst Morgado	Managing EKS Clusters at Scale using Blueprints and Infra...
Julia Furst Morgado Managing EKS Clusters at Scale using Blueprints and Infra...
AWS Chicago
 
Max De Jong: Avoiding Common Pitfalls with Hosting Machine Learning Models
Max De Jong: Avoiding Common Pitfalls with Hosting Machine Learning ModelsMax De Jong: Avoiding Common Pitfalls with Hosting Machine Learning Models
Max De Jong: Avoiding Common Pitfalls with Hosting Machine Learning Models
AWS Chicago
 
Jason Butz Building Testable Serverless Applications with the Hexagonal Archi...
Jason Butz	Building Testable Serverless Applications with the Hexagonal Archi...Jason Butz	Building Testable Serverless Applications with the Hexagonal Archi...
Jason Butz Building Testable Serverless Applications with the Hexagonal Archi...
AWS Chicago
 
Muthukumaran Ardhanary AWS Datasync to migrate objects from on-prem to s3
Muthukumaran Ardhanary	AWS Datasync to migrate objects from on-prem to s3Muthukumaran Ardhanary	AWS Datasync to migrate objects from on-prem to s3
Muthukumaran Ardhanary AWS Datasync to migrate objects from on-prem to s3
AWS Chicago
 
Jeff Maruschek: How does RAG REALLY work?
Jeff Maruschek: How does RAG REALLY work?Jeff Maruschek: How does RAG REALLY work?
Jeff Maruschek: How does RAG REALLY work?
AWS Chicago
 
Jay Kahlon: Tagging Compliance The Tags are Coming!
Jay Kahlon: Tagging Compliance The Tags are Coming!Jay Kahlon: Tagging Compliance The Tags are Coming!
Jay Kahlon: Tagging Compliance The Tags are Coming!
AWS Chicago
 
Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automat...
Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automat...Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automat...
Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automat...
AWS Chicago
 
Drake Pocsatko: We have HOW many documents? We have HOW many Documents? Archi...
Drake Pocsatko: We have HOW many documents? We have HOW many Documents? Archi...Drake Pocsatko: We have HOW many documents? We have HOW many Documents? Archi...
Drake Pocsatko: We have HOW many documents? We have HOW many Documents? Archi...
AWS Chicago
 
Chris Ebert: Getting Started With Serverless Website Analytics.pdf
Chris Ebert: Getting Started With Serverless Website Analytics.pdfChris Ebert: Getting Started With Serverless Website Analytics.pdf
Chris Ebert: Getting Started With Serverless Website Analytics.pdf
AWS Chicago
 
Cameron Williams: Intelligent Document Processing for Artificial Intelligence
Cameron Williams: Intelligent Document Processing for Artificial IntelligenceCameron Williams: Intelligent Document Processing for Artificial Intelligence
Cameron Williams: Intelligent Document Processing for Artificial Intelligence
AWS Chicago
 
Brian Tarbox: S3 - Sophisticated Storage System
Brian Tarbox: S3 - Sophisticated Storage SystemBrian Tarbox: S3 - Sophisticated Storage System
Brian Tarbox: S3 - Sophisticated Storage System
AWS Chicago
 
Bob Eisenmann and Justin Ranta: Automated Application Delivery on AWS using G...
Bob Eisenmann and Justin Ranta: Automated Application Delivery on AWS using G...Bob Eisenmann and Justin Ranta: Automated Application Delivery on AWS using G...
Bob Eisenmann and Justin Ranta: Automated Application Delivery on AWS using G...
AWS Chicago
 
Mayur Runwal and Steven David: User desktops in AWS for low latency and grap...
Mayur Runwal and Steven David:  User desktops in AWS for low latency and grap...Mayur Runwal and Steven David:  User desktops in AWS for low latency and grap...
Mayur Runwal and Steven David: User desktops in AWS for low latency and grap...
AWS Chicago
 
Justin Wheeler How to Explain AWS to Non-Technical People
Justin Wheeler	How to Explain AWS to Non-Technical PeopleJustin Wheeler	How to Explain AWS to Non-Technical People
Justin Wheeler How to Explain AWS to Non-Technical People
AWS Chicago
 
Angelo Mandato: Learn about the benefits with examples how to create and main...
Angelo Mandato: Learn about the benefits with examples how to create and main...Angelo Mandato: Learn about the benefits with examples how to create and main...
Angelo Mandato: Learn about the benefits with examples how to create and main...
AWS Chicago
 
Christopher Judd: Monitor All Your Stuff with OpenTelemetry and AWS
Christopher Judd: Monitor All Your Stuff with OpenTelemetry and AWSChristopher Judd: Monitor All Your Stuff with OpenTelemetry and AWS
Christopher Judd: Monitor All Your Stuff with OpenTelemetry and AWS
AWS Chicago
 
Lena Taupier: Secure your App from bots and attacks with AWS WAF (Web Applica...
Lena Taupier: Secure your App from bots and attacks with AWS WAF (Web Applica...Lena Taupier: Secure your App from bots and attacks with AWS WAF (Web Applica...
Lena Taupier: Secure your App from bots and attacks with AWS WAF (Web Applica...
AWS Chicago
 
Ad

Recently uploaded (20)

AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
CSUC - Consorci de Serveis Universitaris de Catalunya
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Ad

AWS Community Day - Andrew May - Running Containers in AWS

  • 1. Running Containers in AWS ANDREW MAY CLOUD SOLUTIONS LEAD COLUMBUS MEET-UP
  • 2. Docker Storage ECR Orchestration (Services) Elastic Container Service (ECS) EC2 Fargate EKS Elastic Beanstalk Single Multi Discovery CloudMap AppMesh Transient AWS Batch CodeBuild
  • 3. Docker Storage ECR Orchestration (Services) Elastic Container Service (ECS) EC2 Fargate EKS Elastic Beanstalk Single Multi Discovery CloudMap AppMesh Transient AWS Batch CodeBuild
  • 4. ECR Amazon Elastic Container Registry
  • 5. Elastic Container Registry (ECR) ECR is a Docker registry hosted within AWS in each region ◦ Images are stored close to where your containers will run Images are secured using AWS IAM Policies The Elastic Container Registry contains a Repository for each image Lifecycle Policies can be used to clean up old versions of images Login using AWS CLI, use standard Docker commands to pull and push Image names are prefixed by ECR Repository URL (<account>.dkr.ecr.<region>.amazonaws.com)
  • 6. Orchestration Management of the container lifecycles
  • 7. Orchestration provides: ➢Configuration ➢Scheduling ➢Deployment ➢Scaling ➢Storage (Volume) mapping ➢Secret management ➢High Availability ➢Load balancing integration
  • 9. ECS Amazon Elastic Container Service
  • 10. Elastic Container Service (ECS) Original AWS Service for running containers ECS Service is free, you only pay for the resources (EC2/Fargate) that are used with ECS Strong integration with other AWS Services: ◦ IAM ◦ Load balancers AutoScaling of containers (similar to EC2 AutoScaling)
  • 11. • ECS can use either EC2 instances or Fargate to run Docker containers • Container Instances = ECS Instances = EC2 Instances • Tasks have 1 or more running Containers • Tasks are defined by Task Definitions
  • 12. Task Definition and Tasks ❖Template for a Task ❖Runs one or more Container ❖References Container Image ❖ECS Agent pulls image and starts container ❖Port mappings, CPU/Memory requirements, Volumes etc. ❖Versioned
  • 13. ALB Integration with ECS Services ❖Services are long running collections of Tasks ❖Run multiple copies ❖Containers have a container port (e.g. 80) and a host port ❖Host port zero = ephemeral ❖ALB Target Group automatically updated
  • 14. Other ECS Benefits ECS Infrastructure can be created using CloudFormation Updating a Service to use a new Task Definition will perform a Blue-Green deployment Possible to use Spot Instances Metrics => CloudWatch Logs => CloudWatch Logs (or elsewhere)
  • 15. Fargate AWS Fargate (compute engine for ECS)
  • 16. Fargate “Serverless” option for running containers in an ECS Cluster ◦ Configure desired CPU/Memory and this will be guaranteed for that container ◦ Compare to using EC2 where you may be over/under provisioned Networking is always awsvpc: i.e. it will use an ENI per instance (one of your subnet IPs) Scaling at a task level is similar to when using EC2 instances, but without the complexity of scaling the underlying EC2 AutoScaling group(s)
  • 17. Why aren’t we all using Fargate? Fargate was expensive when launched, but the Firecracker VM technology has allowed AWS to reduce costs With recent price reductions, Fargate is comparable in price to on- demand EC2 instances with ~70% utilization Reserved or Spot instances make using EC2 a lot cheaper
  • 18. EKS Amazon Elastic Container Service for Kubernetes
  • 19. Kubernetes Predominant Docker Orchestration service Managed Kubernetes available in: ◦ Google Cloud Platform (Google Kubernetes Engine) ◦ Microsoft Azure (Azure Kubernetes Service – AKS) ◦ Amazon Web Services (EKS) The GCP offering is the most mature, AKS and EKS were both launched in 2018 Support for running Kubernetes clusters on EC2 and integrating with other services (e.g. ELB) has existed for longer than EKS has been available
  • 20. What does EKS manage? EKS manages three Kubernetes master instances across AZs to provide high availability
  • 21. Using EKS Cluster creation can be automated with CloudFormation, and AWS provides sample templates and a quick-start ◦ Set up VPC ◦ Create EKS Service IAM Role ◦ Create EKS Cluster ◦ Add Node instances to cluster using EKS AMI Once Cluster created, configure kubectl with access to cluster and use normal Kubernetes tools and templates to manage and deploy to the cluster EKS Cluster cost $0.20/hour (about $140/month)
  • 22. $ eksctl create cluster -p personal -r us-east-2 [ ] using region us-east-2 [ ] setting availability zones to [us-east-2b us-east-2c us-east-2a] [ ] subnets for us-east-2b - public:192.168.0.0/19 private:192.168.96.0/19 [ ] subnets for us-east-2c - public:192.168.32.0/19 private:192.168.128.0/19 [ ] subnets for us-east-2a - public:192.168.64.0/19 private:192.168.160.0/19 [ ] nodegroup "ng-c94ddd68" will use "ami-04ea7cb66af82ae4a" [AmazonLinux2/1.12] [ ] creating EKS cluster "floral-painting-1556150853" in "us-east-2" region [ ] will create 2 separate CloudFormation stacks for cluster itself and the initial nodegroup [ ] if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=us-east-2 -- name=floral-painting-1556150853’ [ ] 2 sequential tasks: { create cluster control plane "floral-painting-1556150853", create nodegroup "ng-c94ddd68" } [ ] building cluster stack "eksctl-floral-painting-1556150853-cluster“ [ ] deploying stack "eksctl-floral-painting-1556150853-cluster“ [ ] buildings nodegroup stack "eksctl-floral-painting-1556150853-nodegroup-ng-c94ddd68“ [ ] --nodes-min=2 was set automatically for nodegroup ng-c94ddd68 [ ] --nodes-max=2 was set automatically for nodegroup ng-c94ddd68 [ ] deploying stack "eksctl-floral-painting-1556150853-nodegroup-ng-c94ddd68“ [X] all EKS cluster resource for "floral-painting-1556150853" had been created [X] saved kubeconfig as "C:Usersandrew.may.CORP/.kube/config“ [ ] adding role "arn:aws:iam::648758314004:role/eksctl-floral-painting-1556150853-NodeInstanceRole-4TJQAGSUVG7Q" to auth ConfigMap [ ] nodegroup "ng-c94ddd68" has 0 node(s) [ ] waiting for at least 2 node(s) to become ready in "ng-c94ddd68“ [ ] nodegroup "ng-c94ddd68" has 2 node(s) [ ] node "ip-192-168-25-233.us-east-2.compute.internal" is ready [ ] node "ip-192-168-79-171.us-east-2.compute.internal" is ready [ ] kubectl command should work with "C:Usersandrew.may.CORP/.kube/config", try 'kubectl get nodes’ [x] EKS cluster "floral-painting-1556150853" in "us-east-2" region is ready
  • 23. EKS Experience Without eksctrl setting up cluster is time consuming Integration with other AWS services is more difficult than with ECS Have to install a variety of services to get IAM, ALB, DNS integrations Significant changes since launch
  • 24. EKS Cluster in AWS Console
  • 25. AWS CloudMap “AWS Cloud Map is a cloud resource discovery service.”
  • 26. CloudMap AWS CloudMap superceeds Service Discovery for ECS ◦ Registered in Route 53 namespace, creating A (IP) and SRV (IP and Port) records ◦ Query DNS for available services ◦ ECS Tasks must use awsvpc networking AWS CloudMap adds an API based system, allowing it to be used for resources where DNS does not apply ◦ Supports a variety of services including ECS, EKS, S3, SQS, Lambda, Load Balancers Similar to the Service Discovery portions of Hashicorp Consul
  • 29. AppMesh Recently released, but still in early stages Service Mesh implementation for AWS, using the Open Source Envoy proxy, but a custom Control Plane Manage connectivity between microservices, including traffic shaping functionality like: ◦ Routing: Canary and A/B Testing ◦ Load Balancing and Service Discovery ◦ Handling Failures (Retry, Circuit Breaker) Integration with CloudMap for Service Discovery Logging and Tracing (CloudWatch, X-Ray)
  翻译: