1© 2019 Amazon Web Services, Inc. or its affiliates. All rights reserved | 1© 2019 Amazon Web Services, Inc. or its affiliates. All rights reserved |
Digital Transformation Day
Kuwait
Shipping Containers on AWS
A Journey to Modern Applications
Mohamed Heiba
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
The new normal: companies are increasingly
global and products are increasingly digital
47%
of CEOs said they are
being challenged by
the board of directors
to make progress in
digital business
Source: Gartner
79%
of CIOs believe that
digital business is
making their IT
organizations better
prepared to change
67%
of all business leaders
believe that they
must pick up the pace
of digitalization to
remain competitive
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
AWS customers are pioneering modern applications
reduced overall compute costs by 95%
releases over 50+ deployments per hour
created a stock trade validation system in 3 months
cut processing time from 36 hours to 10 seconds
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
To maintain competitive advantage, digital
businesses must innovate as rapidly as possible
FeedbackIdeas
Experiment
Innovation
Flywheel
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
What changes
have to be made
in this new world?
Architectural patterns
Operational model
Software delivery
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Changes to the architectural patterns
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
When the impact of change is small,
release velocity can increase
Monolith
Does everything
Microservices
Do one thing
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Mobile
client
Client
IoT
Microservices architectures
API
Gateway
Account DB
Shipping DB
Inventory DB
Store Front
Web App
Account
Lookup
Shipment
Query
Inventory
Query
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Cloud-native architectures are
small pieces, loosely joined
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Changes to the operational model
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Isn’t all of this very hard now that
we have lots of pieces to operate?
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
AWS operational responsibility models
On-Premises Cloud
Less More
Compute Virtual Machine
EC2 Elastic Beanstalk AWS LambdaFargate
Databases MySQL MySQL on EC2
RDS MySQL RDS Aurora Aurora Serverless DynamoDB
Storage Storage
S3
Messaging ESBs
Amazon MQ Kinesis SQS / SNS
Analytics
Hadoop Hadoop on EC2 EMR Elasticsearch Service Athena
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
What is serverless?
No infrastructure provisioning,
no management
Automatic scaling
Pay for value Highly available and secure
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
AWS
Lambda
AWS
Fargate
Amazon
API Gateway
Amazon
SNS
Amazon
SQS
AWS
Step Functions
COMPUTE
DATA STORES
INTEGRATION
Amazon Aurora
Serverless
Amazon
S3
Amazon
DynamoDB
AWS
AppSync
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Changes to the delivery of software
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
How do I develop and deploy code
in a serverless microservices
architecture?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Microservice development lifecycle
developers services
monitorreleasetestbuild
delivery pipelines
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Best practices
(microservices, 2 pizza teams)
(governance, templates)
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Containers are the best on ramp
towards modern applications
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Docker Containers
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Application environment components
Runtime Engine Code
Dependencies Configuration
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Different environments
Local Laptop Staging / QA Production On-Prem
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
It worked on my machine, why not in prod?
Local Laptop Staging / QA Production On-Prem
v6.0.0 v7.0.0 v4.0.0 v7.0.0
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
It worked on my machine, why not in prod?
Local Laptop Staging / QA Production On-Prem
v6.0.0 v7.0.0 v4.0.0 v7.0.0
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Docker to the rescue
Runtime Engine
Code
Dependencies
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Docker container image
Read only image that is used as a
template to launch a container.
Start from base images that have
your dependencies, add your
custom code.
Docker file for easy,
reproducible builds. bootfs
kernel
Base image
Image
Image
Container
References
parent
image
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Four environments, same container
Local Laptop Staging / QA Production On-Prem
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Virtual machine versus Docker
Server (Host)
Host OS
Hypervisor
App 2
Guest OS Guest OS Guest OS
Bins/Libs Bins/Libs Bins/Libs
App 1
App 2
App 3
VM
Server (Host)
Host OS
Docker
Bins/Libs Bins/Libs Bins/Libs
App 1 App 2 App 3
Container
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Container & Docker Benefits
Portable application artifact that runs reliably everywhere
Run different applications or application versions with different
dependencies simultaneously
Better resource utilization by running multiple lightweight containers per
host
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Why are enterprises
adopting containers?
• Accelerate software development
• Build modern applications
• Automate operations at web scale
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Make AWS the BEST PLACE to run
ANY containerized applications
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Helping customers scale containers
450+%
growth
Hundreds of millions
of containers started each week
of millions
of container instances
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Why customers love AWS container services
Containers are a first-class citizen of the AWS Cloud
Deeply integrated
with AWS
Security and Compliance
Broad selection of compute instances
and IAM security, VPC networking,
load balancing, and autoscaling
ISO, HIPPA, PCI, SOC1, SOC2, SOC3
Infocomm Media Development Auth.
DevOps Workflow
Best place to build and operate
a complete DevOps workflow for
containers—AWS DevTools and Cloud9
DEV OPS
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Service level
agreement
99.99%
Amazon ECS
AWS Fargate
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Typical use cases
• Microservices: Java, Node.js, Go, Web Apps, etc.
• Continuous Integration and Continuous Deployment (CICD)
• Batch Processing and ETL jobs
• Common PaaS Stack for Application Deployment
• Legacy Application Migration to the Cloud
• Hybrid Workloads
• AI/ML
• Scale Testing
• Backend for IoT use cases
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
AWS container services landscape
Management
Deployment, Scheduling,
Scaling & Management of
containerized applications
Hosting
Where the containers run
Amazon Elastic
Container Service
Amazon Elastic
Container Service
for Kubernetes
Amazon EC2 AWS Fargate
Image Registry
Container Image Repository
Amazon Elastic
Container Registry
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Amazon Elastic
Container Service
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Scheduling and Orchestration
Cluster Manager Placement Engine
ECS
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
McDonald’s Home Delivery: Why Amazon ECS?
Speed to market
Scalability and reliability
Security
DevOps—CI / CD
Monitoring
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
AWS Fargate
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Without Fargate, you end up managing more than just containers
EC2 Instance
ECS
Agent
Docker
Agent
OS
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
- Patching and Upgrading OS, agents, etc.
- Scaling the instance fleet for optimal utilization
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Amazon Elastic Container Service
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Amazon Elastic Container Service
AWS Fargate
run serverless containers
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Run Serverless
Containers with
Fargate
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Your
containerized
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, CloudWatch and more
AWS Fargate
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Fully managed container environment
with AWS ECS + Fargate
Bring existing code Production ready Powerful integrations
No changes required of existing
code, works with existing
workflows and microservices
built on Amazon ECS
ISO, PCI, HIPAA, SOC compliant.
Launch ten or tens of thousands
of containers in seconds in 9
global regions (+7 in 2018)
Native AWS integrations for
networking, security, CICD,
monitoring, and tracing
Fargate runs tens of millions of containers for AWS customers every week
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
migrated ~850 applications running in ~5000 containers
to Fargate to reduce the undifferentiated heavy lifting
that came with managing Kubernetes
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
AWS Fargate customers
”We don't want to babysit
any clusters. That has
nothing to do with us”
Shimon Tolts
CTO, DATREE
“We moved to Fargate because we
need the ability to scale quickly up
from baseline and get fine-grained
network control, without having to
manage our own infrastructure”
Product Hunt
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Amazon Elastic
Container Service for Kubernetes
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
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. Amazon Confidential
Community, contribution, choice
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
But where you run Kubernetes matters
Quality of the
cloud platform
Quality of the
applications
Your users
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
—CNCF survey
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
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. Amazon Confidential
EKS is Kubernetes certified
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
How are customer using Amazon EKS?
Microservices
PaaS
Platform-as-a-Service Enterprise App
Migration
Machine Learning
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Customers adopting Kubernetes on AWS
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Customer example: Snap
100% on Kubernetes in the cloud
Moving core messaging architecture to AWS and EKS
Currently monolithic, breaking this into SOA and microservices
“Undifferentiated Heavy Lifting is work that we have to do that doesn’t
directly benefit our customers. It’s just work. EKS frees us up to worry
about delivering customer value and allows developers without
operational experience to innovate without having to know where their
code runs.”
More detailed talk: AWS New York Summit 2018 - Run Kubernetes with Amazon EKS (SRV318)
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Amazon container services
AWS Fargate
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
New: AWS Cloud Map
Service discovery for all your cloud resources
Constantly monitor the health of every resource
Dynamically update the location of each microservice
Increase developer productivity
Single registry for all app resources
Define resources with user-friendly names
Integration with Amazon container services
AWS Fargate
Amazon ECS
Amazon EKS
AWS
Cloud
Map
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
New: AWS App Mesh
Observability & traffic control
Easily export logs, metrics, and traces
Client side traffic policies—circuit breaking, retries
Routes for deployments
Works across clusters and container services
Amazon ECS
Amazon EKS
Kubernetes on EC2
AWS Fargate (coming soon!)
AWS built and run
No control plane to manage
Ease of operations
High scale
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Rich partner ecosystem
DevOpsFoundation Security Networking
Monitoring &
Logging
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Customer References
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
EKS Reference Customers:
Fidelity Investments
SNAP Inc
Appcard
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
EKS Reference Customer: Fidelity Investments
“We built the next generation of our PaaS using EKS for large
enterprise workloads. We manage thousands of applications
and have hundreds of DevOps teams.”
Amr Abdelhalem, Head of Cloud Architecture
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
EKS Reference Customer: SNAP
“Snapchat serves millions of people around the world every
day, and we're thrilled to now leverage Amazon EKS as a core
compute service that can meet our needs now, as well as
upcoming plans to host several critical workloads in the
coming months.”
Alex Strand, Senior Director of Engineering, Snap Inc
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
EKS Reference Customer: Appcard
“Kubernetes is fast becoming the preferred solution for container
orchestration. Its biggest downside is that it is not simple to set
up and operate. EKS gives us all the benefits of Kubernetes, but
takes care of managing the hard stuff. We can dedicate less
resources to deployment and operations as result.”
Amichay Oren, Co-founder & CTO, AppCard Inc
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Fargate Reference Customers:
Turner Broadcasting
99Designs
Harry’s Razors
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Fargate Reference Customer: Turner Broadcasting
“The Cloud Architecture team begin
building tooling around Fargate to
accelerate the adoption and the move to
this new DevOps world. The result ended
up with reduce cost and time.”
Joseph Bulger, Principal Architect
Turner Broadcasting System
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Fargate Reference Customer: 99Designs
“We moved to Fargate to reduce operational burden and
operational costs. Fargate made running Docker containers
easy, removing need to maintain instances.”
Robert McNeil, Sr. Engineer, 99designs
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Fargate Reference Customer: Harry’s Razors
“With Fargate we eliminated EC2 instances, sizing
concerns, instance profiles and policies. Directly
leveraging service auto scaling and target tracking
policies, migrating without any downtime and
simplifying our overall system.”
Bryce Lohr, Technical Lead, Core Services, Harry’s
74© 2019 Amazon Web Services, Inc. or its affiliates. All rights reserved |
Thank you!
Mohamed Heiba
Solutions Architect
https://aws.amazon.com/containers
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Appendix
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Reference Architectures (Informational)
Amazon ECS:
Rebalancing Amazon ECS Tasks using AWS Lambda
NGINX Reverse Proxy on Amazon EC2 Container Service
Java Microservices Deployed on EC2 Container Service
Amazon ECS Reference Architecture: Batch Processing
Node.js Microservices Deployed on EC2 Container Service
Amazon EC2 Container Service - Reference Architecture: Service Discovery to containers using CloudWatch Events,
Lambda and Route 53 private hosted zones
Service Discovery for AWS EC2 Container Service via DNS
Canary Blue/Green deployments on ECS
Blue/Green deployments on ECS
ECS Reference Architecture: Continuous Deployment
Amazon ECS Scheduler Driver to integrate Apache Mesos with ECS
AWS Fargate
Blue/Green deployments using Fargate
How to host an ASP.NET core application in AWS Fargate using Linux containers
Amazon EKS
CodeSuite - Continuous Deployment Reference Architecture for Kubernetes

Containers on AWS

  • 1.
    1© 2019 AmazonWeb Services, Inc. or its affiliates. All rights reserved | 1© 2019 Amazon Web Services, Inc. or its affiliates. All rights reserved | Digital Transformation Day Kuwait Shipping Containers on AWS A Journey to Modern Applications Mohamed Heiba
  • 2.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential The new normal: companies are increasingly global and products are increasingly digital 47% of CEOs said they are being challenged by the board of directors to make progress in digital business Source: Gartner 79% of CIOs believe that digital business is making their IT organizations better prepared to change 67% of all business leaders believe that they must pick up the pace of digitalization to remain competitive
  • 3.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential AWS customers are pioneering modern applications reduced overall compute costs by 95% releases over 50+ deployments per hour created a stock trade validation system in 3 months cut processing time from 36 hours to 10 seconds
  • 4.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential To maintain competitive advantage, digital businesses must innovate as rapidly as possible FeedbackIdeas Experiment Innovation Flywheel
  • 5.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential What changes have to be made in this new world? Architectural patterns Operational model Software delivery
  • 6.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Changes to the architectural patterns
  • 7.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential When the impact of change is small, release velocity can increase Monolith Does everything Microservices Do one thing
  • 8.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Mobile client Client IoT Microservices architectures API Gateway Account DB Shipping DB Inventory DB Store Front Web App Account Lookup Shipment Query Inventory Query
  • 9.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Cloud-native architectures are small pieces, loosely joined
  • 10.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Changes to the operational model
  • 11.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Isn’t all of this very hard now that we have lots of pieces to operate?
  • 12.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential AWS operational responsibility models On-Premises Cloud Less More Compute Virtual Machine EC2 Elastic Beanstalk AWS LambdaFargate Databases MySQL MySQL on EC2 RDS MySQL RDS Aurora Aurora Serverless DynamoDB Storage Storage S3 Messaging ESBs Amazon MQ Kinesis SQS / SNS Analytics Hadoop Hadoop on EC2 EMR Elasticsearch Service Athena
  • 13.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential What is serverless? No infrastructure provisioning, no management Automatic scaling Pay for value Highly available and secure
  • 14.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential AWS Lambda AWS Fargate Amazon API Gateway Amazon SNS Amazon SQS AWS Step Functions COMPUTE DATA STORES INTEGRATION Amazon Aurora Serverless Amazon S3 Amazon DynamoDB AWS AppSync
  • 15.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Changes to the delivery of software
  • 16.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential How do I develop and deploy code in a serverless microservices architecture?
  • 17.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Microservice development lifecycle developers services monitorreleasetestbuild delivery pipelines monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild
  • 18.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Best practices (microservices, 2 pizza teams) (governance, templates)
  • 19.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Containers are the best on ramp towards modern applications
  • 20.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Docker Containers
  • 21.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Application environment components Runtime Engine Code Dependencies Configuration
  • 22.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Different environments Local Laptop Staging / QA Production On-Prem
  • 23.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential It worked on my machine, why not in prod? Local Laptop Staging / QA Production On-Prem v6.0.0 v7.0.0 v4.0.0 v7.0.0
  • 24.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential It worked on my machine, why not in prod? Local Laptop Staging / QA Production On-Prem v6.0.0 v7.0.0 v4.0.0 v7.0.0
  • 25.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Docker to the rescue Runtime Engine Code Dependencies
  • 26.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Docker container image Read only image that is used as a template to launch a container. Start from base images that have your dependencies, add your custom code. Docker file for easy, reproducible builds. bootfs kernel Base image Image Image Container References parent image
  • 27.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Four environments, same container Local Laptop Staging / QA Production On-Prem
  • 28.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Virtual machine versus Docker Server (Host) Host OS Hypervisor App 2 Guest OS Guest OS Guest OS Bins/Libs Bins/Libs Bins/Libs App 1 App 2 App 3 VM Server (Host) Host OS Docker Bins/Libs Bins/Libs Bins/Libs App 1 App 2 App 3 Container
  • 29.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Container & Docker Benefits Portable application artifact that runs reliably everywhere Run different applications or application versions with different dependencies simultaneously Better resource utilization by running multiple lightweight containers per host
  • 30.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Why are enterprises adopting containers? • Accelerate software development • Build modern applications • Automate operations at web scale © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
  • 31.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Make AWS the BEST PLACE to run ANY containerized applications © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
  • 32.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Helping customers scale containers 450+% growth Hundreds of millions of containers started each week of millions of container instances
  • 33.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Why customers love AWS container services Containers are a first-class citizen of the AWS Cloud Deeply integrated with AWS Security and Compliance Broad selection of compute instances and IAM security, VPC networking, load balancing, and autoscaling ISO, HIPPA, PCI, SOC1, SOC2, SOC3 Infocomm Media Development Auth. DevOps Workflow Best place to build and operate a complete DevOps workflow for containers—AWS DevTools and Cloud9 DEV OPS
  • 34.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Service level agreement 99.99% Amazon ECS AWS Fargate
  • 35.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Typical use cases • Microservices: Java, Node.js, Go, Web Apps, etc. • Continuous Integration and Continuous Deployment (CICD) • Batch Processing and ETL jobs • Common PaaS Stack for Application Deployment • Legacy Application Migration to the Cloud • Hybrid Workloads • AI/ML • Scale Testing • Backend for IoT use cases
  • 36.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential AWS container services landscape Management Deployment, Scheduling, Scaling & Management of containerized applications Hosting Where the containers run Amazon Elastic Container Service Amazon Elastic Container Service for Kubernetes Amazon EC2 AWS Fargate Image Registry Container Image Repository Amazon Elastic Container Registry
  • 37.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Amazon Elastic Container Service
  • 38.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Scheduling and Orchestration Cluster Manager Placement Engine ECS
  • 39.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential McDonald’s Home Delivery: Why Amazon ECS? Speed to market Scalability and reliability Security DevOps—CI / CD Monitoring
  • 40.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
  • 41.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential AWS Fargate
  • 42.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Without Fargate, you end up managing more than just containers EC2 Instance ECS Agent Docker Agent OS
  • 43.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential - Patching and Upgrading OS, agents, etc. - Scaling the instance fleet for optimal utilization
  • 44.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Amazon Elastic Container Service
  • 45.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Amazon Elastic Container Service AWS Fargate run serverless containers
  • 46.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Run Serverless Containers with Fargate
  • 47.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Your containerized 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, CloudWatch and more AWS Fargate
  • 48.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Fully managed container environment with AWS ECS + Fargate Bring existing code Production ready Powerful integrations No changes required of existing code, works with existing workflows and microservices built on Amazon ECS ISO, PCI, HIPAA, SOC compliant. Launch ten or tens of thousands of containers in seconds in 9 global regions (+7 in 2018) Native AWS integrations for networking, security, CICD, monitoring, and tracing Fargate runs tens of millions of containers for AWS customers every week
  • 49.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential migrated ~850 applications running in ~5000 containers to Fargate to reduce the undifferentiated heavy lifting that came with managing Kubernetes
  • 50.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential AWS Fargate customers ”We don't want to babysit any clusters. That has nothing to do with us” Shimon Tolts CTO, DATREE “We moved to Fargate because we need the ability to scale quickly up from baseline and get fine-grained network control, without having to manage our own infrastructure” Product Hunt
  • 51.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Amazon Elastic Container Service for Kubernetes
  • 52.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Open source container management platform Helps you run containers at scale Gives you primitives for building modern applications What is Kubernetes?
  • 53.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Community, contribution, choice
  • 54.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential But where you run Kubernetes matters Quality of the cloud platform Quality of the applications Your users
  • 55.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential —CNCF survey
  • 56.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential mycluster.eks.amazonaws.com Availability Zone 1 Availability Zone 2 Availability Zone 3 Kubectl
  • 57.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential EKS is Kubernetes certified
  • 58.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential How are customer using Amazon EKS? Microservices PaaS Platform-as-a-Service Enterprise App Migration Machine Learning
  • 59.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Customers adopting Kubernetes on AWS
  • 60.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Customer example: Snap 100% on Kubernetes in the cloud Moving core messaging architecture to AWS and EKS Currently monolithic, breaking this into SOA and microservices “Undifferentiated Heavy Lifting is work that we have to do that doesn’t directly benefit our customers. It’s just work. EKS frees us up to worry about delivering customer value and allows developers without operational experience to innovate without having to know where their code runs.” More detailed talk: AWS New York Summit 2018 - Run Kubernetes with Amazon EKS (SRV318)
  • 61.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Amazon container services AWS Fargate
  • 62.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential New: AWS Cloud Map Service discovery for all your cloud resources Constantly monitor the health of every resource Dynamically update the location of each microservice Increase developer productivity Single registry for all app resources Define resources with user-friendly names Integration with Amazon container services AWS Fargate Amazon ECS Amazon EKS AWS Cloud Map
  • 63.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential New: AWS App Mesh Observability & traffic control Easily export logs, metrics, and traces Client side traffic policies—circuit breaking, retries Routes for deployments Works across clusters and container services Amazon ECS Amazon EKS Kubernetes on EC2 AWS Fargate (coming soon!) AWS built and run No control plane to manage Ease of operations High scale
  • 64.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Rich partner ecosystem DevOpsFoundation Security Networking Monitoring & Logging
  • 65.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Customer References
  • 66.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential EKS Reference Customers: Fidelity Investments SNAP Inc Appcard
  • 67.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential EKS Reference Customer: Fidelity Investments “We built the next generation of our PaaS using EKS for large enterprise workloads. We manage thousands of applications and have hundreds of DevOps teams.” Amr Abdelhalem, Head of Cloud Architecture
  • 68.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential EKS Reference Customer: SNAP “Snapchat serves millions of people around the world every day, and we're thrilled to now leverage Amazon EKS as a core compute service that can meet our needs now, as well as upcoming plans to host several critical workloads in the coming months.” Alex Strand, Senior Director of Engineering, Snap Inc
  • 69.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential EKS Reference Customer: Appcard “Kubernetes is fast becoming the preferred solution for container orchestration. Its biggest downside is that it is not simple to set up and operate. EKS gives us all the benefits of Kubernetes, but takes care of managing the hard stuff. We can dedicate less resources to deployment and operations as result.” Amichay Oren, Co-founder & CTO, AppCard Inc
  • 70.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Fargate Reference Customers: Turner Broadcasting 99Designs Harry’s Razors
  • 71.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Fargate Reference Customer: Turner Broadcasting “The Cloud Architecture team begin building tooling around Fargate to accelerate the adoption and the move to this new DevOps world. The result ended up with reduce cost and time.” Joseph Bulger, Principal Architect Turner Broadcasting System
  • 72.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Fargate Reference Customer: 99Designs “We moved to Fargate to reduce operational burden and operational costs. Fargate made running Docker containers easy, removing need to maintain instances.” Robert McNeil, Sr. Engineer, 99designs
  • 73.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Fargate Reference Customer: Harry’s Razors “With Fargate we eliminated EC2 instances, sizing concerns, instance profiles and policies. Directly leveraging service auto scaling and target tracking policies, migrating without any downtime and simplifying our overall system.” Bryce Lohr, Technical Lead, Core Services, Harry’s
  • 74.
    74© 2019 AmazonWeb Services, Inc. or its affiliates. All rights reserved | Thank you! Mohamed Heiba Solutions Architect https://aws.amazon.com/containers
  • 75.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Appendix
  • 76.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Reference Architectures (Informational) Amazon ECS: Rebalancing Amazon ECS Tasks using AWS Lambda NGINX Reverse Proxy on Amazon EC2 Container Service Java Microservices Deployed on EC2 Container Service Amazon ECS Reference Architecture: Batch Processing Node.js Microservices Deployed on EC2 Container Service Amazon EC2 Container Service - Reference Architecture: Service Discovery to containers using CloudWatch Events, Lambda and Route 53 private hosted zones Service Discovery for AWS EC2 Container Service via DNS Canary Blue/Green deployments on ECS Blue/Green deployments on ECS ECS Reference Architecture: Continuous Deployment Amazon ECS Scheduler Driver to integrate Apache Mesos with ECS AWS Fargate Blue/Green deployments using Fargate How to host an ASP.NET core application in AWS Fargate using Linux containers Amazon EKS CodeSuite - Continuous Deployment Reference Architecture for Kubernetes