SlideShare a Scribd company logo
1 of 53
S U M M I T
SYDNEY
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Fast track your application
modernisation journey with containers
Sarath Vancheeswaran
Solutions Architect
Amazon Web Services
Kamran Habib
Sr. Technical Account Manager
Amazon Web Services
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Agenda
• Containers introduction
• AWS Container ecosystem
• Lab walk-through and modules introduction
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Static
website
Web
fronted
Background
workers
User DB
Analytics
DB
Queue
Dev VM QA Server
Single
Prod
Server
Onsite
Cluster
Cloud
Contributor
laptop
Customer
Servers
The problem
• Different application stacks
• Different hardware
deployment environments
• How to run all applications
across different
environments?
• How to easily migrate from
one environment to another?
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Static
website
Web
fronted
Background
workers
User DB
Analytics
DB
Queue
Dev VM QA Server
Single
Prod
Server
Onsite
Cluster
Cloud
Contributor
laptop
Customer
Servers
The solution
• Unit of software delivery
• Lightweight, portable,
consistent
• Deploy and run everywhere
• Deploy and run anything
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
VMs vs. Containers
App A App B App C
Bins/Libs Bins/Libs Bins/Libs
Guest OS Guest OS Guest OS
Hypervisor
Host OS
Server (Host)
App A App A App B App B App C App C
Bins/Libs Bin/Libs
Content Manager (e.g. Docker)
Host OS
Server (Host)
VMs Containers
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What is a container?
• Containers share a machine's OS kernel
• Start quickly and generally use less compute and RAM
• Images are constructed from filesystem layers and share common files
Kernel
ContainerContainer Container
Tomcat
Java
Debian
Static Binary
Alpine
SQL Server
.NET Core
Ubuntu
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Docker image
• Read-only template
• Used to launch container
• Union file systems to combine
different layers into a single image
• Docker images built from base
image, instructions to add layers
on top
• Instructions stored in Dockerfile
bootfs
kernel
Base image
Image
Image
Container
References
parent
image
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Why Containers?
• Speed
• Efficiency
• Easier packaging
• Less risky deployments
• Better development experience
• Microservices
Photo & Licence© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Containers summary and use cases
• Consistent environment between development and production
• Continuous integration and deployment
• Service-oriented architectures / microservices
• Short lived workflows
• Modernise apps
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Running a Container
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
EC2 Instance
TaskTask
Task Task
EC2 Instance
TaskTask
Task Task
EC2 Instance
TaskTask
Task Task
EC2 Instance
TaskTask
Task Task
EC2 Instance
TaskTask
Task Task
Running Containers
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Challenges of Containers at Scale
• More transient
• More distributed and complex
• Networking
• Scheduling / resource management
• Less isolated (containers share their kernel)
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
We give you the power to choose
Choose your
orchestration tool
Choose your
launch type
Amazon ECS Amazon EKS
Amazon
EC2
Amazon
Fargate
Amazon
EC2
Amazon
Fargate
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon ECS - Task and service
EC2 INSTANCES
LOAD
BALANCER
Requests ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container AGENT COMMUNICATION SERVICE
Amazon ECS
API
CLUSTER MANAGEMENT ENGINE
KEY/VALUE STORE
ECS
AGENT
TASK
Container
TASK
Container
LOAD
BALANCER
ECS Service
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Constructs
Define application containers: Image URL, CPU, and Memory requirements, etc.
register
Task Definition
create
Cluster
• Infrastructure Isolation boundary
• IAM Permissions boundary
run
Task
• A running instantiation
of a task definition
create
Service
Elastic Load
Balancer
• Maintain n running copies
• Integrated with ELB
• Unhealthy tasks automatically replaced
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Schedulling and Orchestration
Cluster Manager Placement Engine
Running Containers at Scale with Amazon ECS
Availability Zone #1 Availability Zone #2 Availability Zone #3
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
ECS
AMI
Docker
agent
ECS
agent
ECSTaskECSTask
ECSTaskECSTask
EC2 Instance
Cluster management is only part of the equation
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Cluster management is only part of the equation
Patching and upgrading OS, agents, etc.
Scaling the instance fleet for optimal utilisation
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
ECS
Agent
Docker
Agent
OS
EC2 instance
ECS
Agent
Docker
Agent
OS
EC2 instance
ECS
Agent
Docker
Agent
OS
EC2 instance
Elastic
Container
Service
AWS Fargate
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Your
Containerised
Applications
Managed by AWS
No EC2 Instances to provision, scale, or manage
Elastic
Scale up & down seamlessly. Pay only for what you use
Integrated
With the AWS ecosystem: VPC Networking,
Elastic Load Balancing, IAM Permissions, Amazon
CloudWatch, and more
AWS Fargate
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Open source container
management platform
Helps you run
containers at scale
Gives you primitives
for building
modern applications
What is Kubernetes?
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
51%of Kubernetes workloads
run on AWS today
— Cloud Native Computing Foundation
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
3x Kubernetes masters for HA
Kubernetes on AWS
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
API
server
Cloud
controller
Controller
manager
Scheduler Add-onsKubeDNS
Kubernetes master
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Availability
Zone 1
Etcd
Master
Etcd
Master
Availability
Zone 2
Availability
Zone 3
Etcd
Master
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Availability
Zone 1
Master Master
Availability
Zone 2
Availability
Zone 3
Master
Workers Workers Workers
Customer Account
AWS Managed
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
mycluster.eks.amazonaws.com
Availability
Zone 1
Availability
Zone 2
Availability
Zone 3
Kubectl
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Kubectl
3) Authorises AWS Identity with RBAC
K8s API
1) Passes AWS Identity
2) Verifies AWS Identity
4) K8s action
allowed/denied
AWS Auth
IAM Authentication + Kubectl
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Native VPC networking
with CNI plugin
Pods have the same VPC
address inside the pod
as on the VPC
Simple, secure networking
Open source and
on Github
…{ }
https://github.com/aws/amazon-vpc-cni-k8s
Container Networking Interface (CNI)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Nginx Pod
Java Pod
ENI
Secondary IPs:
10.0.0.1
10.0.0.2
Veth IP: 10.0.0.1
Veth IP: 10.0.0.2
Nginx Pod
Java Pod
ENI
Veth IP: 10.0.0.20
Veth IP: 10.0.0.22
Secondary IPs:
10.0.0.20
10.0.0.22
ec2.associateaddress()
VPC Subnet – 10.0.0.0/24
Instance 1 Instance 2
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Integrated with
AWS Services
Highly
available
Upstream Production
workloads
Amazon EKS
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Mythical Misfits application
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Introducing Mythical Misfits
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Lab architecture (Monolith version)
AWS Cloud
VPC
Application Load Balancer
(ALB)
Amazon CloudWatch
Users Private subnet Private subnet
AWS Fargate
Amazon DynamoDB
Amazon EC2
Container Registry
AWS Fargate
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Lab architecture (Monolith version)
AWS Cloud
VPC
Application Load Balancer
(ALB)
Amazon CloudWatch
Private subnet Private subnet
Amazon DynamoDB
Amazon EC2
Container Registry
Amazon Elastic Container Service
for Kubernetes
Amazon Elastic Container Service
for Kubernetes
Users
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Lab architecture (Microservices version)
AWS Cloud
VPC
Application Load Balancer
(ALB)
Amazon CloudWatch
Users
AWS Fargate
AWS Fargate
Amazon DynamoDB
AWS Fargate
AWS Fargate
/+/fulfill-like
/like
Amazon EC2
Container Registry
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Today’s lab - 2.5 hours (150 minutes)
• Build AWS Cloud 9 environment for lab – 20 minutes
• Building your Docker Container for the workshop – 20 minutes
• Container registry module – 10 minutes
• Choose your Orchestration platform
• Option1 – Amazon ECS Fargate module (Setup AWS Fargate cluster – 30 minutes)
or
• Option2 – Amazon EKS module (Setup EKS cluster – 30 minutes)
• Splitting monolith into microservices – 20 minutes
• Application monitoring – 20 minutes
• Automation (AWS CodePipeline) – 20 minutes
• Conclusion and feedback – 10 minutes
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Lab 0 - Environment setup
1. Run the AWS CloudFormation template, which provisions the AWS
Cloud9 environment, AWS IAM role, Amazon ECR repo, and Amazon S3
buckets.
2. Clone the lab content onto an AWS Cloud9 Environment
3. Run setup scripts
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Lab 0 (Amazon EKS Only) -
Spin up an Amazon EKS cluster using eksctl
1. Download the pre-requisites (Kubectl, eksctl, JQ)
2. Spin up the Amazon EKS cluster using eks ctl
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Lab 1 (Common) -
Preparing your Mythical Misfits Docker image
1. Follow the steps to build your docker image
2. Push the built monolithic image to an Amazon ECR repository
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Lab 2 (a) – Amazon ECS and AWS Fargate track
1. Deploy your application on to AWS Fargate cluster
2. Scale the application using ALB
3. Split the monolith application into Microservices
4. Enable logging and monitoring
5. Automate your deployment
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Lab 2 (b) – Amazon EKS track
1. Deploy your application worker nodes on to Amazon EKS cluster
2. Scale the application using ELB service
3. Split the monolith application into Microservices using ALB Ingress
4. Enable logging and monitoring
5. Automate your deployment
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
CI/CD ECS architecture
Source
Repository Build Deploy
GitHub
AWS CodeCommit AWS FargateAWS Cloud9
Amazon EC2 Container
Registry
AWS CodePipeline
AWS CodeBuild
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
CI/CD EKS architecture
Source
Repository Build
GitHub
AWS CodeBuildAWS Cloud9
Amazon EC2 Container
Registry
Amazon Elastic
Container Service for
Kubernetes
AWS CodePipeline
Deploy
Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sarath P V
kusarath@amazon.com

More Related Content

What's hot

AWS Fargate deep dive - MAD303 - Chicago AWS Summit
AWS Fargate deep dive - MAD303 - Chicago AWS SummitAWS Fargate deep dive - MAD303 - Chicago AWS Summit
AWS Fargate deep dive - MAD303 - Chicago AWS SummitAmazon Web Services
 
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...Amazon Web Services
 
Websites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinWebsites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinBoaz Ziniman
 
CICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfCICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfAmazon Web Services
 
Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS Summit
Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS SummitDeveloping with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS Summit
Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS SummitAmazon Web Services
 
Building APIs from front to back - MAD314 - Chicago AWS Summit
Building APIs from front to back - MAD314 - Chicago AWS SummitBuilding APIs from front to back - MAD314 - Chicago AWS Summit
Building APIs from front to back - MAD314 - Chicago AWS SummitAmazon Web Services
 
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...Amazon Web Services
 
[CPT DevOps Meetup] Developing Modern Applications in the Cloud
[CPT DevOps Meetup] Developing Modern Applications in the Cloud[CPT DevOps Meetup] Developing Modern Applications in the Cloud
[CPT DevOps Meetup] Developing Modern Applications in the CloudCobus Bernard
 
Accelerating your cloud migration with VMware Cloud on AWS - CMP205 - Chicago...
Accelerating your cloud migration with VMware Cloud on AWS - CMP205 - Chicago...Accelerating your cloud migration with VMware Cloud on AWS - CMP205 - Chicago...
Accelerating your cloud migration with VMware Cloud on AWS - CMP205 - Chicago...Amazon Web Services
 
Serverless on AWS overview - PeachPayments meetup
Serverless on AWS overview - PeachPayments meetupServerless on AWS overview - PeachPayments meetup
Serverless on AWS overview - PeachPayments meetupCobus Bernard
 
Visualize your cloud data strategy - MongoDB Atlas and Charts - DEM08 - Santa...
Visualize your cloud data strategy - MongoDB Atlas and Charts - DEM08 - Santa...Visualize your cloud data strategy - MongoDB Atlas and Charts - DEM08 - Santa...
Visualize your cloud data strategy - MongoDB Atlas and Charts - DEM08 - Santa...Amazon Web Services
 
Building with Containers on AWS by Tony Pujals .pdf
Building with Containers on AWS by Tony Pujals .pdfBuilding with Containers on AWS by Tony Pujals .pdf
Building with Containers on AWS by Tony Pujals .pdfAmazon Web Services
 
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...Amazon Web Services
 
Combining AWS container services to support your workload - MAD307 - Chicago ...
Combining AWS container services to support your workload - MAD307 - Chicago ...Combining AWS container services to support your workload - MAD307 - Chicago ...
Combining AWS container services to support your workload - MAD307 - Chicago ...Amazon Web Services
 
Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...Amazon Web Services
 
Continuous Integration and Continuous Delivery for your serverless apps - Seb...
Continuous Integration and Continuous Delivery for your serverless apps - Seb...Continuous Integration and Continuous Delivery for your serverless apps - Seb...
Continuous Integration and Continuous Delivery for your serverless apps - Seb...Shift Conference
 
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...Amazon Web Services
 
Automatic-Labelling-and-Model-Tuning-with-Amazon-SageMaker
Automatic-Labelling-and-Model-Tuning-with-Amazon-SageMakerAutomatic-Labelling-and-Model-Tuning-with-Amazon-SageMaker
Automatic-Labelling-and-Model-Tuning-with-Amazon-SageMakerAmazon Web Services
 
AWS Summit Stockholm - Fargate: deploy containers, not infrastructure
AWS Summit Stockholm - Fargate: deploy containers, not infrastructureAWS Summit Stockholm - Fargate: deploy containers, not infrastructure
AWS Summit Stockholm - Fargate: deploy containers, not infrastructureMassimo Ferre'
 
From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019AWS Summits
 

What's hot (20)

AWS Fargate deep dive - MAD303 - Chicago AWS Summit
AWS Fargate deep dive - MAD303 - Chicago AWS SummitAWS Fargate deep dive - MAD303 - Chicago AWS Summit
AWS Fargate deep dive - MAD303 - Chicago AWS Summit
 
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
 
Websites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinWebsites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit Berlin
 
CICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfCICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdf
 
Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS Summit
Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS SummitDeveloping with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS Summit
Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS Summit
 
Building APIs from front to back - MAD314 - Chicago AWS Summit
Building APIs from front to back - MAD314 - Chicago AWS SummitBuilding APIs from front to back - MAD314 - Chicago AWS Summit
Building APIs from front to back - MAD314 - Chicago AWS Summit
 
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...
 
[CPT DevOps Meetup] Developing Modern Applications in the Cloud
[CPT DevOps Meetup] Developing Modern Applications in the Cloud[CPT DevOps Meetup] Developing Modern Applications in the Cloud
[CPT DevOps Meetup] Developing Modern Applications in the Cloud
 
Accelerating your cloud migration with VMware Cloud on AWS - CMP205 - Chicago...
Accelerating your cloud migration with VMware Cloud on AWS - CMP205 - Chicago...Accelerating your cloud migration with VMware Cloud on AWS - CMP205 - Chicago...
Accelerating your cloud migration with VMware Cloud on AWS - CMP205 - Chicago...
 
Serverless on AWS overview - PeachPayments meetup
Serverless on AWS overview - PeachPayments meetupServerless on AWS overview - PeachPayments meetup
Serverless on AWS overview - PeachPayments meetup
 
Visualize your cloud data strategy - MongoDB Atlas and Charts - DEM08 - Santa...
Visualize your cloud data strategy - MongoDB Atlas and Charts - DEM08 - Santa...Visualize your cloud data strategy - MongoDB Atlas and Charts - DEM08 - Santa...
Visualize your cloud data strategy - MongoDB Atlas and Charts - DEM08 - Santa...
 
Building with Containers on AWS by Tony Pujals .pdf
Building with Containers on AWS by Tony Pujals .pdfBuilding with Containers on AWS by Tony Pujals .pdf
Building with Containers on AWS by Tony Pujals .pdf
 
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
 
Combining AWS container services to support your workload - MAD307 - Chicago ...
Combining AWS container services to support your workload - MAD307 - Chicago ...Combining AWS container services to support your workload - MAD307 - Chicago ...
Combining AWS container services to support your workload - MAD307 - Chicago ...
 
Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...
 
Continuous Integration and Continuous Delivery for your serverless apps - Seb...
Continuous Integration and Continuous Delivery for your serverless apps - Seb...Continuous Integration and Continuous Delivery for your serverless apps - Seb...
Continuous Integration and Continuous Delivery for your serverless apps - Seb...
 
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
 
Automatic-Labelling-and-Model-Tuning-with-Amazon-SageMaker
Automatic-Labelling-and-Model-Tuning-with-Amazon-SageMakerAutomatic-Labelling-and-Model-Tuning-with-Amazon-SageMaker
Automatic-Labelling-and-Model-Tuning-with-Amazon-SageMaker
 
AWS Summit Stockholm - Fargate: deploy containers, not infrastructure
AWS Summit Stockholm - Fargate: deploy containers, not infrastructureAWS Summit Stockholm - Fargate: deploy containers, not infrastructure
AWS Summit Stockholm - Fargate: deploy containers, not infrastructure
 
From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019
 

Similar to Fast Track Modernisation with Containers

Amazon EKS: Getting Started
Amazon EKS: Getting StartedAmazon EKS: Getting Started
Amazon EKS: Getting StartedTanya Seno
 
Running Containers in a Hybrid Environment
Running Containers in a Hybrid EnvironmentRunning Containers in a Hybrid Environment
Running Containers in a Hybrid EnvironmentAmazon Web Services
 
Breaking the Monolith using AWS Container Services
Breaking the Monolith using AWS Container ServicesBreaking the Monolith using AWS Container Services
Breaking the Monolith using AWS Container ServicesAmazon Web Services
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon Web Services
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An IntroductionAmazon Web Services
 
Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...Amazon Web Services
 
AWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern ApplicationsAWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern ApplicationsAmazon Web Services
 
AWS Fargate deep dive - MAD303 - New York AWS Summit
AWS Fargate deep dive - MAD303 - New York AWS SummitAWS Fargate deep dive - MAD303 - New York AWS Summit
AWS Fargate deep dive - MAD303 - New York AWS SummitAmazon Web Services
 
Serverless and Containers, AWS Federal Pop-Up Loft
Serverless and Containers, AWS Federal Pop-Up LoftServerless and Containers, AWS Federal Pop-Up Loft
Serverless and Containers, AWS Federal Pop-Up LoftAmazon Web Services
 
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 BarcelonaAWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 BarcelonaAmazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 
AWS Summit Singapore 2019 | Microsoft DevOps on AWS
AWS Summit Singapore 2019 | Microsoft DevOps on AWSAWS Summit Singapore 2019 | Microsoft DevOps on AWS
AWS Summit Singapore 2019 | Microsoft DevOps on AWSAWS Summits
 
利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統Amazon Web Services
 
Modernizing applications with Amazon EKS - MAD304 - Santa Clara AWS Summit.pdf
Modernizing applications with Amazon EKS - MAD304 - Santa Clara AWS Summit.pdfModernizing applications with Amazon EKS - MAD304 - Santa Clara AWS Summit.pdf
Modernizing applications with Amazon EKS - MAD304 - Santa Clara AWS Summit.pdfAmazon Web Services
 
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...Amazon Web Services Korea
 
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitKubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitAmazon Web Services
 
Building well architected .NET applications - SVC209 - Atlanta AWS Summit
Building well architected .NET applications - SVC209 - Atlanta AWS SummitBuilding well architected .NET applications - SVC209 - Atlanta AWS Summit
Building well architected .NET applications - SVC209 - Atlanta AWS SummitAmazon Web Services
 
From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019Amazon Web Services
 
Well Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdfWell Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdfConradoDeBiasi
 

Similar to Fast Track Modernisation with Containers (20)

Amazon EKS: Getting Started
Amazon EKS: Getting StartedAmazon EKS: Getting Started
Amazon EKS: Getting Started
 
Running Containers in a Hybrid Environment
Running Containers in a Hybrid EnvironmentRunning Containers in a Hybrid Environment
Running Containers in a Hybrid Environment
 
Breaking the Monolith using AWS Container Services
Breaking the Monolith using AWS Container ServicesBreaking the Monolith using AWS Container Services
Breaking the Monolith using AWS Container Services
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for Kubernetes
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An Introduction
 
Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...
 
AWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern ApplicationsAWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern Applications
 
AWS Fargate deep dive - MAD303 - New York AWS Summit
AWS Fargate deep dive - MAD303 - New York AWS SummitAWS Fargate deep dive - MAD303 - New York AWS Summit
AWS Fargate deep dive - MAD303 - New York AWS Summit
 
Serverless and Containers, AWS Federal Pop-Up Loft
Serverless and Containers, AWS Federal Pop-Up LoftServerless and Containers, AWS Federal Pop-Up Loft
Serverless and Containers, AWS Federal Pop-Up Loft
 
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 BarcelonaAWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 
AWS Summit Singapore 2019 | Microsoft DevOps on AWS
AWS Summit Singapore 2019 | Microsoft DevOps on AWSAWS Summit Singapore 2019 | Microsoft DevOps on AWS
AWS Summit Singapore 2019 | Microsoft DevOps on AWS
 
利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統
 
Modernizing applications with Amazon EKS - MAD304 - Santa Clara AWS Summit.pdf
Modernizing applications with Amazon EKS - MAD304 - Santa Clara AWS Summit.pdfModernizing applications with Amazon EKS - MAD304 - Santa Clara AWS Summit.pdf
Modernizing applications with Amazon EKS - MAD304 - Santa Clara AWS Summit.pdf
 
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
 
AWS Containers Day.pdf
AWS Containers Day.pdfAWS Containers Day.pdf
AWS Containers Day.pdf
 
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitKubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
 
Building well architected .NET applications - SVC209 - Atlanta AWS Summit
Building well architected .NET applications - SVC209 - Atlanta AWS SummitBuilding well architected .NET applications - SVC209 - Atlanta AWS Summit
Building well architected .NET applications - SVC209 - Atlanta AWS Summit
 
From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019
 
Well Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdfWell Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdf
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Come costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSCome costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Come costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSCome costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWS
 

Fast Track Modernisation with Containers

  • 1. S U M M I T SYDNEY
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Fast track your application modernisation journey with containers Sarath Vancheeswaran Solutions Architect Amazon Web Services Kamran Habib Sr. Technical Account Manager Amazon Web Services
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Agenda • Containers introduction • AWS Container ecosystem • Lab walk-through and modules introduction
  • 4. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Static website Web fronted Background workers User DB Analytics DB Queue Dev VM QA Server Single Prod Server Onsite Cluster Cloud Contributor laptop Customer Servers The problem • Different application stacks • Different hardware deployment environments • How to run all applications across different environments? • How to easily migrate from one environment to another?
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Static website Web fronted Background workers User DB Analytics DB Queue Dev VM QA Server Single Prod Server Onsite Cluster Cloud Contributor laptop Customer Servers The solution • Unit of software delivery • Lightweight, portable, consistent • Deploy and run everywhere • Deploy and run anything
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T VMs vs. Containers App A App B App C Bins/Libs Bins/Libs Bins/Libs Guest OS Guest OS Guest OS Hypervisor Host OS Server (Host) App A App A App B App B App C App C Bins/Libs Bin/Libs Content Manager (e.g. Docker) Host OS Server (Host) VMs Containers
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T What is a container? • Containers share a machine's OS kernel • Start quickly and generally use less compute and RAM • Images are constructed from filesystem layers and share common files Kernel ContainerContainer Container Tomcat Java Debian Static Binary Alpine SQL Server .NET Core Ubuntu
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Docker image • Read-only template • Used to launch container • Union file systems to combine different layers into a single image • Docker images built from base image, instructions to add layers on top • Instructions stored in Dockerfile bootfs kernel Base image Image Image Container References parent image
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Why Containers? • Speed • Efficiency • Easier packaging • Less risky deployments • Better development experience • Microservices Photo & Licence© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Containers summary and use cases • Consistent environment between development and production • Continuous integration and deployment • Service-oriented architectures / microservices • Short lived workflows • Modernise apps
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Running a Container
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T EC2 Instance TaskTask Task Task EC2 Instance TaskTask Task Task EC2 Instance TaskTask Task Task EC2 Instance TaskTask Task Task EC2 Instance TaskTask Task Task Running Containers
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Challenges of Containers at Scale • More transient • More distributed and complex • Networking • Scheduling / resource management • Less isolated (containers share their kernel)
  • 15. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 16. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T We give you the power to choose Choose your orchestration tool Choose your launch type Amazon ECS Amazon EKS Amazon EC2 Amazon Fargate Amazon EC2 Amazon Fargate
  • 18. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amazon ECS - Task and service EC2 INSTANCES LOAD BALANCER Requests ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT COMMUNICATION SERVICE Amazon ECS API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK Container TASK Container LOAD BALANCER ECS Service
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Constructs Define application containers: Image URL, CPU, and Memory requirements, etc. register Task Definition create Cluster • Infrastructure Isolation boundary • IAM Permissions boundary run Task • A running instantiation of a task definition create Service Elastic Load Balancer • Maintain n running copies • Integrated with ELB • Unhealthy tasks automatically replaced
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Schedulling and Orchestration Cluster Manager Placement Engine Running Containers at Scale with Amazon ECS Availability Zone #1 Availability Zone #2 Availability Zone #3
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T ECS AMI Docker agent ECS agent ECSTaskECSTask ECSTaskECSTask EC2 Instance Cluster management is only part of the equation
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Cluster management is only part of the equation Patching and upgrading OS, agents, etc. Scaling the instance fleet for optimal utilisation
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T ECS Agent Docker Agent OS EC2 instance ECS Agent Docker Agent OS EC2 instance ECS Agent Docker Agent OS EC2 instance Elastic Container Service AWS Fargate
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Your Containerised Applications Managed by AWS No EC2 Instances to provision, scale, or manage Elastic Scale up & down seamlessly. Pay only for what you use Integrated With the AWS ecosystem: VPC Networking, Elastic Load Balancing, IAM Permissions, Amazon CloudWatch, and more AWS Fargate
  • 26. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Open source container management platform Helps you run containers at scale Gives you primitives for building modern applications What is Kubernetes?
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 51%of Kubernetes workloads run on AWS today — Cloud Native Computing Foundation
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 3x Kubernetes masters for HA Kubernetes on AWS
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T API server Cloud controller Controller manager Scheduler Add-onsKubeDNS Kubernetes master
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Availability Zone 1 Etcd Master Etcd Master Availability Zone 2 Availability Zone 3 Etcd Master
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Availability Zone 1 Master Master Availability Zone 2 Availability Zone 3 Master Workers Workers Workers Customer Account AWS Managed
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T mycluster.eks.amazonaws.com Availability Zone 1 Availability Zone 2 Availability Zone 3 Kubectl
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Kubectl 3) Authorises AWS Identity with RBAC K8s API 1) Passes AWS Identity 2) Verifies AWS Identity 4) K8s action allowed/denied AWS Auth IAM Authentication + Kubectl
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Native VPC networking with CNI plugin Pods have the same VPC address inside the pod as on the VPC Simple, secure networking Open source and on Github …{ } https://github.com/aws/amazon-vpc-cni-k8s Container Networking Interface (CNI)
  • 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Nginx Pod Java Pod ENI Secondary IPs: 10.0.0.1 10.0.0.2 Veth IP: 10.0.0.1 Veth IP: 10.0.0.2 Nginx Pod Java Pod ENI Veth IP: 10.0.0.20 Veth IP: 10.0.0.22 Secondary IPs: 10.0.0.20 10.0.0.22 ec2.associateaddress() VPC Subnet – 10.0.0.0/24 Instance 1 Instance 2
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Integrated with AWS Services Highly available Upstream Production workloads Amazon EKS
  • 38. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Mythical Misfits application
  • 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Introducing Mythical Misfits
  • 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Lab architecture (Monolith version) AWS Cloud VPC Application Load Balancer (ALB) Amazon CloudWatch Users Private subnet Private subnet AWS Fargate Amazon DynamoDB Amazon EC2 Container Registry AWS Fargate
  • 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Lab architecture (Monolith version) AWS Cloud VPC Application Load Balancer (ALB) Amazon CloudWatch Private subnet Private subnet Amazon DynamoDB Amazon EC2 Container Registry Amazon Elastic Container Service for Kubernetes Amazon Elastic Container Service for Kubernetes Users
  • 42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Lab architecture (Microservices version) AWS Cloud VPC Application Load Balancer (ALB) Amazon CloudWatch Users AWS Fargate AWS Fargate Amazon DynamoDB AWS Fargate AWS Fargate /+/fulfill-like /like Amazon EC2 Container Registry
  • 43. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Today’s lab - 2.5 hours (150 minutes) • Build AWS Cloud 9 environment for lab – 20 minutes • Building your Docker Container for the workshop – 20 minutes • Container registry module – 10 minutes • Choose your Orchestration platform • Option1 – Amazon ECS Fargate module (Setup AWS Fargate cluster – 30 minutes) or • Option2 – Amazon EKS module (Setup EKS cluster – 30 minutes) • Splitting monolith into microservices – 20 minutes • Application monitoring – 20 minutes • Automation (AWS CodePipeline) – 20 minutes • Conclusion and feedback – 10 minutes
  • 45. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Lab 0 - Environment setup 1. Run the AWS CloudFormation template, which provisions the AWS Cloud9 environment, AWS IAM role, Amazon ECR repo, and Amazon S3 buckets. 2. Clone the lab content onto an AWS Cloud9 Environment 3. Run setup scripts
  • 46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Lab 0 (Amazon EKS Only) - Spin up an Amazon EKS cluster using eksctl 1. Download the pre-requisites (Kubectl, eksctl, JQ) 2. Spin up the Amazon EKS cluster using eks ctl
  • 47. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Lab 1 (Common) - Preparing your Mythical Misfits Docker image 1. Follow the steps to build your docker image 2. Push the built monolithic image to an Amazon ECR repository
  • 48. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Lab 2 (a) – Amazon ECS and AWS Fargate track 1. Deploy your application on to AWS Fargate cluster 2. Scale the application using ALB 3. Split the monolith application into Microservices 4. Enable logging and monitoring 5. Automate your deployment
  • 49. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Lab 2 (b) – Amazon EKS track 1. Deploy your application worker nodes on to Amazon EKS cluster 2. Scale the application using ELB service 3. Split the monolith application into Microservices using ALB Ingress 4. Enable logging and monitoring 5. Automate your deployment
  • 50. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 51. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T CI/CD ECS architecture Source Repository Build Deploy GitHub AWS CodeCommit AWS FargateAWS Cloud9 Amazon EC2 Container Registry AWS CodePipeline AWS CodeBuild
  • 52. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T CI/CD EKS architecture Source Repository Build GitHub AWS CodeBuildAWS Cloud9 Amazon EC2 Container Registry Amazon Elastic Container Service for Kubernetes AWS CodePipeline Deploy
  • 53. Thank you! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sarath P V kusarath@amazon.com