SlideShare uma empresa Scribd logo
1 de 65
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
A s i f K h a n , T B D M , A m a z o n W e b S e r v i c e s
C h r i s T a v a , V P – E n g i n e e r i n g , W e W o r k
J o s h D a v i s , P r i n c i p a l E n g i n e e r , W e W o r k
R a d e k W i e r z b i c k i , S o l u t i o n s A r c h i t e c t , O p s L i n e
CON203
AWS re:INVENT
Driving Innovation with Containers
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
T r a d i t i o n a l S o f t w a r e D e v e l o p m e n t a n d D e p l o y m e n t
releasetestbuild
delivery pipeline
app
(aka the“monolith”)developers
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Challenges with the traditional software
development lifecycle
Long Build/Test/Release
Cycles
(who broke the build?)
Operations is a nightmare
(module X is failing, who’s
the owner?)
Difficult to scale
New releases
take months
Long time to add
new features
Architecture is hard to
maintain and evolve
Lack of innovation
Frustrated customers
Lack of agility
Infrastructure Application Business
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
- Adrian Cockcroft (VP, Cloud Architecture Strategy at AWS)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Services communicate
with each other over the
network
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
You can update the services
independently; updating one
service doesn’t require
changing any other services.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Self-contained; you can
update the code without
knowing anything about
the internals of other
microservices
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Portability
Flexibility
Efficiency
Speed
Same immutable images. Run anywhere.
Create modular environment. Decompose Apps.
Speeds up build and release cycles.
Optimize resource allocation.
Agility.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
= 50 million deployments a year
Thousands of teams
× Microservice architecture
× Continuous delivery
× Multiple environments
5708 per hour – one every 0.63 seconds!
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
BUILD SHIP RUN
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Going from a single host…
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
…to this is hard!
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Container Management Platforms
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon ECS
EC2 INSTANCES
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
Internet LOAD
BALANCER
LOAD
BALANCER
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Remember…
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
WeWork
Chris Tava
Josh Davis
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Startups are chaos
● We had three ways to Deploy
● Security setup was super light and too open
● Lots of variation in infrastructure
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
After 810 days of uptime...
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
On 6/20/17 - network card failure
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Time for a big change
● Needed to be able to quickly recreate our
environment
● Get it ready for [more] scale
● Secure the platform
● Adopting a devops culture
● KISS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Fieldlens - scale, consumer use
● 80K users, 110K projects
● 1.6M posts, 2.2M comments, 4.1M media
● Mobile / web clients, background jobs
● Enterprise users expect reliability!
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What we started with
Docker Locally in development: docker-compose
Some micro-services
Jenkins - Build and Test, CI/CD
Environments - dev, qa, prod
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Where we want to be
Docker images for everything
Uniform deployment / management
New micro-services are easy to create
Enhanced security / scalability / reliability
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Desired Topology
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How many weeks to get here?
ECS Dev, QA, Prod
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How do we get there?
First step - Start building and publishing Docker images
Jenkins pipelines
Build can happen outside of a container
Docker images can be deployed locally with docker-compose
Image repository, naming convention, local environment config
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Developer using
docker-compose
‘Local infra’ git repo
docker-compose.yml
our-repo.jfrog.io/elasticmq:0.13.2
our-repo.jfrog.io/otherservice-
develop:latest
Docker
app/service git
repo
app/service git
repo
Database
server,
Other services
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Developer using docker-compose
our-repo.jfrog.io/custom-
tomcat:7
Docker
service git repo
docker-compose.yml
app/service git
repo
app/service git
repo
Database
server,
Other services
Service dev
container
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
First milestone
Services work in a container (locally with docker-compose)
Basic configuration established
Dockerfile / Jenkinsfile for all repos
Dependencies connected via docker network
Ready to go to the cloud!
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deploying to ECS
Cloud Formation - Infrastructure as Code
Environment Templates for the ECS clusters and other
resources (ops)
Service Templates in each repo (devs and ops)
Common shell scripts to handle basic tasks
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Environment Templates
Environment git repo
Env templates
dev
qa
prod
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Service Templates
service git repo
Service
Template
Env Parameters
ECS Cluster
Servi
ce
app/service git
repo
app/service git
repo
Tasks
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Database Schema Updates
Task Definition - update image with CF
Run task synchronously - Ephemeral!
Begin deployment of new code
Database
ECS Cluster
Schema Update
Task
(single run)
app/service git
repo
app/service git
repo
Prev app
version
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Secrets
Encrypt sensitive config files with KMS
Developers decrypt and store encrypted configs in the
service repos
Encrypt / Decrypt privileges are controlled via IAM
Docker image contains encrypted configs
In ECS, decrypt in the entrypoint
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Hazelcast Cluster
Register host IP in Consul via ContainerPilot
Hazelcast start-up queries Consul for initial hosts
ECS Cluster
ECS Instance
task
Consul
ECS Instance
task
Node1 ->
10.10.37.101:5701
Node2 ->
10.10.37.117:5701
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deployment in Action
Deployment scripts run CloudFormation updates
CloudFormation references the docker images
ECS Scheduler rolls out the new code with zero downtime
deployment
script
Jenkins
pipeline
Env params
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Other Details
Entrypoint - ContainerPilot
Task start-up logging and application logging
Singleton Services
Promoting builds to environments
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
It’s not all rainbows and unicorns...
Discovering configuration
Logentries
Datadog monitoring
Monolith needed higher ulimits
APM - TraceView
Deployment is different!
Using shell to troubleshoot - no longer a thing
Scheduler ‘flapping’ or ‘cycling’ - Rollback
Hosts constantly change - “Where are the logs?”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
OpsLine
Radek Wierzbicki
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cloud Transformation and DevOps
Automation Experts
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Working with WeWork
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Motivation
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cloud Native approach
Automate everything using CloudFormation
• VPC, security groups
• IAM and KMS
• RDS
• ECS clusters (scalable EC2 nodes)
• ECS services
• Lambda
Version control code and configuration
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Why ECS?
Provided by AWS
Simple
Scalable
Highly-available
Easy and fast to provision
Provides practical encapsulation of containers
Works well with CloudFormation
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How did we do it?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster management
Provisioning - CloudFormation
Configuration management - cfn-init
Monitoring - DataDog
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS cluster autoscaling
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS cluster autoscaling
With only one server, new tasks
will be pending.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS cluster autoscaling
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS cluster autoscaling
● 88% CPU utilization
● 56% Memory
utilization
● Scale out when CPU
is above 85%
● Scale in when CPU is
below 45%
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS cluster autoscaling
● 92% CPU utilization
● 58% Memory utilization
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Application management
Parametrized to run in different environments
ECS service, ECS task definition
IAM task role (access to S3, SQS, KMS, etc)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Ap p lication monitoring
Load balancer health checks
Sidecar containers
DataDog
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Appl i cati on d epl oyment
CloudFormation
Parameter
Update
New ECS task ECS deployment
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Application deployment
v1 v1
Initial state before deployment.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Application deployment
v2
v1 v1
One new task added to the cluster.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Application deployment
v2
v1
v2
Old task removed, another new task added.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Application deployment
v2 v2
Final state.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The DevOps Way
Simplicity
Visibility
• Troubleshooting
• Deployments
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The DevOps Way
Education
• Documentation
• Training
Empowerment
• Documentation and best practices
• Shell repository with templates and scripts
• Jenkins shared libraries
• Standardized Jenkins project
Collaboration
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
WE ARE HIRING
For more information, please contact:
ctava@wework.com
THANK YOU!
For more information, please contact:
connect@opsline.com
DevOps On-Demand
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you!

Mais conteúdo relacionado

Mais procurados

HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...
HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...
HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...Amazon Web Services
 
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...Amazon Web Services
 
GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...
GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...
GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...Amazon Web Services
 
SID302_Force Multiply Your Security Team with Automation and Alexa
SID302_Force Multiply Your Security Team with Automation and AlexaSID302_Force Multiply Your Security Team with Automation and Alexa
SID302_Force Multiply Your Security Team with Automation and AlexaAmazon Web Services
 
EUT305_Delivering the Future of Energy with Connected Home Products Using AWS...
EUT305_Delivering the Future of Energy with Connected Home Products Using AWS...EUT305_Delivering the Future of Energy with Connected Home Products Using AWS...
EUT305_Delivering the Future of Energy with Connected Home Products Using AWS...Amazon Web Services
 
CON202-Getting Started with Docker and Amazon ECS
CON202-Getting Started with Docker and Amazon ECSCON202-Getting Started with Docker and Amazon ECS
CON202-Getting Started with Docker and Amazon ECSAmazon Web Services
 
GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...
GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...
GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...Amazon Web Services
 
CON318_Interstella 8888 Monolith to Microservices with Amazon ECS
CON318_Interstella 8888 Monolith to Microservices with Amazon ECSCON318_Interstella 8888 Monolith to Microservices with Amazon ECS
CON318_Interstella 8888 Monolith to Microservices with Amazon ECSAmazon Web Services
 
WIN204-Simplifying Microsoft Architectures with AWS Services
WIN204-Simplifying Microsoft Architectures with AWS ServicesWIN204-Simplifying Microsoft Architectures with AWS Services
WIN204-Simplifying Microsoft Architectures with AWS ServicesAmazon Web Services
 
CON320_Monitoring, Logging and Debugging Containerized Services
CON320_Monitoring, Logging and Debugging Containerized ServicesCON320_Monitoring, Logging and Debugging Containerized Services
CON320_Monitoring, Logging and Debugging Containerized ServicesAmazon Web Services
 
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web Services
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web ServicesCMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web Services
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web ServicesAmazon Web Services
 
What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017Amazon Web Services
 
CMP208_Unleash Your Graphics Solutions with the Flexibility of Elastic GPUs
CMP208_Unleash Your Graphics Solutions with the Flexibility of Elastic GPUsCMP208_Unleash Your Graphics Solutions with the Flexibility of Elastic GPUs
CMP208_Unleash Your Graphics Solutions with the Flexibility of Elastic GPUsAmazon Web Services
 
Digital Transformation: Adapt or Perish - CON207 - re:Invent 2017
Digital Transformation: Adapt or Perish - CON207 - re:Invent 2017Digital Transformation: Adapt or Perish - CON207 - re:Invent 2017
Digital Transformation: Adapt or Perish - CON207 - re:Invent 2017Amazon Web Services
 
SRV314_Building a Serverless Pipeline to Transcode a Two-Hour Video in Minutes
SRV314_Building a Serverless Pipeline to Transcode a Two-Hour Video in MinutesSRV314_Building a Serverless Pipeline to Transcode a Two-Hour Video in Minutes
SRV314_Building a Serverless Pipeline to Transcode a Two-Hour Video in MinutesAmazon Web Services
 
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesDEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesAmazon Web Services
 
SRV315_How We Built a Mission-Critical, Serverless File Processing Pipeline f...
SRV315_How We Built a Mission-Critical, Serverless File Processing Pipeline f...SRV315_How We Built a Mission-Critical, Serverless File Processing Pipeline f...
SRV315_How We Built a Mission-Critical, Serverless File Processing Pipeline f...Amazon Web Services
 
MBL306_Mobile State of the Union
MBL306_Mobile State of the UnionMBL306_Mobile State of the Union
MBL306_Mobile State of the UnionAmazon Web Services
 
MCL204_How Washington County Sherriff’s Office is using Amazon AI to Identify...
MCL204_How Washington County Sherriff’s Office is using Amazon AI to Identify...MCL204_How Washington County Sherriff’s Office is using Amazon AI to Identify...
MCL204_How Washington County Sherriff’s Office is using Amazon AI to Identify...Amazon Web Services
 

Mais procurados (20)

HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...
HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...
HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...
 
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
 
GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...
GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...
GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...
 
SID302_Force Multiply Your Security Team with Automation and Alexa
SID302_Force Multiply Your Security Team with Automation and AlexaSID302_Force Multiply Your Security Team with Automation and Alexa
SID302_Force Multiply Your Security Team with Automation and Alexa
 
EUT305_Delivering the Future of Energy with Connected Home Products Using AWS...
EUT305_Delivering the Future of Energy with Connected Home Products Using AWS...EUT305_Delivering the Future of Energy with Connected Home Products Using AWS...
EUT305_Delivering the Future of Energy with Connected Home Products Using AWS...
 
CON202-Getting Started with Docker and Amazon ECS
CON202-Getting Started with Docker and Amazon ECSCON202-Getting Started with Docker and Amazon ECS
CON202-Getting Started with Docker and Amazon ECS
 
GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...
GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...
GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...
 
CON318_Interstella 8888 Monolith to Microservices with Amazon ECS
CON318_Interstella 8888 Monolith to Microservices with Amazon ECSCON318_Interstella 8888 Monolith to Microservices with Amazon ECS
CON318_Interstella 8888 Monolith to Microservices with Amazon ECS
 
WIN204-Simplifying Microsoft Architectures with AWS Services
WIN204-Simplifying Microsoft Architectures with AWS ServicesWIN204-Simplifying Microsoft Architectures with AWS Services
WIN204-Simplifying Microsoft Architectures with AWS Services
 
CON320_Monitoring, Logging and Debugging Containerized Services
CON320_Monitoring, Logging and Debugging Containerized ServicesCON320_Monitoring, Logging and Debugging Containerized Services
CON320_Monitoring, Logging and Debugging Containerized Services
 
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web Services
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web ServicesCMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web Services
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web Services
 
What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017
 
CMP208_Unleash Your Graphics Solutions with the Flexibility of Elastic GPUs
CMP208_Unleash Your Graphics Solutions with the Flexibility of Elastic GPUsCMP208_Unleash Your Graphics Solutions with the Flexibility of Elastic GPUs
CMP208_Unleash Your Graphics Solutions with the Flexibility of Elastic GPUs
 
Digital Transformation: Adapt or Perish - CON207 - re:Invent 2017
Digital Transformation: Adapt or Perish - CON207 - re:Invent 2017Digital Transformation: Adapt or Perish - CON207 - re:Invent 2017
Digital Transformation: Adapt or Perish - CON207 - re:Invent 2017
 
SRV314_Building a Serverless Pipeline to Transcode a Two-Hour Video in Minutes
SRV314_Building a Serverless Pipeline to Transcode a Two-Hour Video in MinutesSRV314_Building a Serverless Pipeline to Transcode a Two-Hour Video in Minutes
SRV314_Building a Serverless Pipeline to Transcode a Two-Hour Video in Minutes
 
HLC308_Refactoring to the Cloud
HLC308_Refactoring to the CloudHLC308_Refactoring to the Cloud
HLC308_Refactoring to the Cloud
 
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesDEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices
 
SRV315_How We Built a Mission-Critical, Serverless File Processing Pipeline f...
SRV315_How We Built a Mission-Critical, Serverless File Processing Pipeline f...SRV315_How We Built a Mission-Critical, Serverless File Processing Pipeline f...
SRV315_How We Built a Mission-Critical, Serverless File Processing Pipeline f...
 
MBL306_Mobile State of the Union
MBL306_Mobile State of the UnionMBL306_Mobile State of the Union
MBL306_Mobile State of the Union
 
MCL204_How Washington County Sherriff’s Office is using Amazon AI to Identify...
MCL204_How Washington County Sherriff’s Office is using Amazon AI to Identify...MCL204_How Washington County Sherriff’s Office is using Amazon AI to Identify...
MCL204_How Washington County Sherriff’s Office is using Amazon AI to Identify...
 

Semelhante a Driving Innovation with Containers - CON203 - re:Invent 2017

Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017
Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017
Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017Amazon Web Services
 
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017Amazon Web Services
 
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging Code
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging CodeAWS Cloud9 – Cloud IDE for Writing, Running and Debugging Code
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging CodeAmazon Web Services
 
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfDEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfAmazon Web Services
 
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...Amazon Web Services
 
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...Amazon Web Services
 
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...Amazon Web Services
 
DVC303-Technological Accelerants for Organizational Transformation
DVC303-Technological Accelerants for Organizational TransformationDVC303-Technological Accelerants for Organizational Transformation
DVC303-Technological Accelerants for Organizational TransformationAmazon Web Services
 
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...Amazon Web Services
 
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017Amazon Web Services
 
AWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECSAWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECSShimon Tolts
 
CON209_Interstella 8888 Learn How to Use Docker on AWS
CON209_Interstella 8888 Learn How to Use Docker on AWSCON209_Interstella 8888 Learn How to Use Docker on AWS
CON209_Interstella 8888 Learn How to Use Docker on AWSAmazon Web Services
 
CON209_Interstella 8888 Learn How to Use Docker on AWS
CON209_Interstella 8888 Learn How to Use Docker on AWSCON209_Interstella 8888 Learn How to Use Docker on AWS
CON209_Interstella 8888 Learn How to Use Docker on AWSAmazon Web Services
 
Born in the Cloud, Built like a Startup
Born in the Cloud, Built like a StartupBorn in the Cloud, Built like a Startup
Born in the Cloud, Built like a StartupAmazon Web Services
 
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...Amazon Web Services
 
Introduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
Introduction to AWS Fargate & Amazon Elastic Container Service for KubernetesIntroduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
Introduction to AWS Fargate & Amazon Elastic Container Service for KubernetesAmazon Web Services
 

Semelhante a Driving Innovation with Containers - CON203 - re:Invent 2017 (20)

Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017
Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017
Build a Java Spring Application on Amazon ECS - CON332 - re:Invent 2017
 
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017
 
Building with Containers on AWS
Building with Containers on AWSBuilding with Containers on AWS
Building with Containers on AWS
 
AWS 容器服務入門實務
AWS 容器服務入門實務AWS 容器服務入門實務
AWS 容器服務入門實務
 
ARC205_Born in the Cloud
ARC205_Born in the CloudARC205_Born in the Cloud
ARC205_Born in the Cloud
 
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging Code
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging CodeAWS Cloud9 – Cloud IDE for Writing, Running and Debugging Code
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging Code
 
Introducing Amazon Fargate
Introducing Amazon FargateIntroducing Amazon Fargate
Introducing Amazon Fargate
 
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfDEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
 
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...
 
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...
NEW LAUNCH! Introducing AWS Cloud9, a cloud IDE to write, run, & debug your c...
 
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...
 
DVC303-Technological Accelerants for Organizational Transformation
DVC303-Technological Accelerants for Organizational TransformationDVC303-Technological Accelerants for Organizational Transformation
DVC303-Technological Accelerants for Organizational Transformation
 
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
 
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
 
AWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECSAWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECS
 
CON209_Interstella 8888 Learn How to Use Docker on AWS
CON209_Interstella 8888 Learn How to Use Docker on AWSCON209_Interstella 8888 Learn How to Use Docker on AWS
CON209_Interstella 8888 Learn How to Use Docker on AWS
 
CON209_Interstella 8888 Learn How to Use Docker on AWS
CON209_Interstella 8888 Learn How to Use Docker on AWSCON209_Interstella 8888 Learn How to Use Docker on AWS
CON209_Interstella 8888 Learn How to Use Docker on AWS
 
Born in the Cloud, Built like a Startup
Born in the Cloud, Built like a StartupBorn in the Cloud, Built like a Startup
Born in the Cloud, Built like a Startup
 
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...
GPSBUS220-Refactor and Replatform .NET Apps to Use the Latest Microsoft SQL S...
 
Introduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
Introduction to AWS Fargate & Amazon Elastic Container Service for KubernetesIntroduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
Introduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
 

Mais de 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
 
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
 

Mais de 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...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Driving Innovation with Containers - CON203 - re:Invent 2017

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. A s i f K h a n , T B D M , A m a z o n W e b S e r v i c e s C h r i s T a v a , V P – E n g i n e e r i n g , W e W o r k J o s h D a v i s , P r i n c i p a l E n g i n e e r , W e W o r k R a d e k W i e r z b i c k i , S o l u t i o n s A r c h i t e c t , O p s L i n e CON203 AWS re:INVENT Driving Innovation with Containers
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. T r a d i t i o n a l S o f t w a r e D e v e l o p m e n t a n d D e p l o y m e n t releasetestbuild delivery pipeline app (aka the“monolith”)developers
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Challenges with the traditional software development lifecycle Long Build/Test/Release Cycles (who broke the build?) Operations is a nightmare (module X is failing, who’s the owner?) Difficult to scale New releases take months Long time to add new features Architecture is hard to maintain and evolve Lack of innovation Frustrated customers Lack of agility Infrastructure Application Business
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. - Adrian Cockcroft (VP, Cloud Architecture Strategy at AWS)
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Services communicate with each other over the network
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. You can update the services independently; updating one service doesn’t require changing any other services.
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Self-contained; you can update the code without knowing anything about the internals of other microservices
  • 9.
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Portability Flexibility Efficiency Speed Same immutable images. Run anywhere. Create modular environment. Decompose Apps. Speeds up build and release cycles. Optimize resource allocation. Agility.
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. = 50 million deployments a year Thousands of teams × Microservice architecture × Continuous delivery × Multiple environments 5708 per hour – one every 0.63 seconds!
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. BUILD SHIP RUN
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Server Guest OS Bins/Libs Bins/Libs App2App1 Going from a single host…
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. …to this is hard!
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Container Management Platforms
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon ECS EC2 INSTANCES 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 Internet LOAD BALANCER LOAD BALANCER
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Remember…
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. WeWork Chris Tava Josh Davis
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Startups are chaos ● We had three ways to Deploy ● Security setup was super light and too open ● Lots of variation in infrastructure
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. After 810 days of uptime...
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. On 6/20/17 - network card failure
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Time for a big change ● Needed to be able to quickly recreate our environment ● Get it ready for [more] scale ● Secure the platform ● Adopting a devops culture ● KISS
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fieldlens - scale, consumer use ● 80K users, 110K projects ● 1.6M posts, 2.2M comments, 4.1M media ● Mobile / web clients, background jobs ● Enterprise users expect reliability!
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What we started with Docker Locally in development: docker-compose Some micro-services Jenkins - Build and Test, CI/CD Environments - dev, qa, prod
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Where we want to be Docker images for everything Uniform deployment / management New micro-services are easy to create Enhanced security / scalability / reliability
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Desired Topology
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How many weeks to get here? ECS Dev, QA, Prod
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How do we get there? First step - Start building and publishing Docker images Jenkins pipelines Build can happen outside of a container Docker images can be deployed locally with docker-compose Image repository, naming convention, local environment config
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Developer using docker-compose ‘Local infra’ git repo docker-compose.yml our-repo.jfrog.io/elasticmq:0.13.2 our-repo.jfrog.io/otherservice- develop:latest Docker app/service git repo app/service git repo Database server, Other services
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Developer using docker-compose our-repo.jfrog.io/custom- tomcat:7 Docker service git repo docker-compose.yml app/service git repo app/service git repo Database server, Other services Service dev container
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. First milestone Services work in a container (locally with docker-compose) Basic configuration established Dockerfile / Jenkinsfile for all repos Dependencies connected via docker network Ready to go to the cloud!
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deploying to ECS Cloud Formation - Infrastructure as Code Environment Templates for the ECS clusters and other resources (ops) Service Templates in each repo (devs and ops) Common shell scripts to handle basic tasks
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Environment Templates Environment git repo Env templates dev qa prod
  • 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Service Templates service git repo Service Template Env Parameters ECS Cluster Servi ce app/service git repo app/service git repo Tasks
  • 36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Database Schema Updates Task Definition - update image with CF Run task synchronously - Ephemeral! Begin deployment of new code Database ECS Cluster Schema Update Task (single run) app/service git repo app/service git repo Prev app version
  • 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Secrets Encrypt sensitive config files with KMS Developers decrypt and store encrypted configs in the service repos Encrypt / Decrypt privileges are controlled via IAM Docker image contains encrypted configs In ECS, decrypt in the entrypoint
  • 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Hazelcast Cluster Register host IP in Consul via ContainerPilot Hazelcast start-up queries Consul for initial hosts ECS Cluster ECS Instance task Consul ECS Instance task Node1 -> 10.10.37.101:5701 Node2 -> 10.10.37.117:5701
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deployment in Action Deployment scripts run CloudFormation updates CloudFormation references the docker images ECS Scheduler rolls out the new code with zero downtime deployment script Jenkins pipeline Env params
  • 40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Other Details Entrypoint - ContainerPilot Task start-up logging and application logging Singleton Services Promoting builds to environments
  • 41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. It’s not all rainbows and unicorns... Discovering configuration Logentries Datadog monitoring Monolith needed higher ulimits APM - TraceView Deployment is different! Using shell to troubleshoot - no longer a thing Scheduler ‘flapping’ or ‘cycling’ - Rollback Hosts constantly change - “Where are the logs?”
  • 42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. OpsLine Radek Wierzbicki
  • 43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cloud Transformation and DevOps Automation Experts
  • 44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Working with WeWork
  • 45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Motivation
  • 46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cloud Native approach Automate everything using CloudFormation • VPC, security groups • IAM and KMS • RDS • ECS clusters (scalable EC2 nodes) • ECS services • Lambda Version control code and configuration
  • 47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Why ECS? Provided by AWS Simple Scalable Highly-available Easy and fast to provision Provides practical encapsulation of containers Works well with CloudFormation
  • 48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How did we do it?
  • 49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster management Provisioning - CloudFormation Configuration management - cfn-init Monitoring - DataDog
  • 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS cluster autoscaling
  • 51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS cluster autoscaling With only one server, new tasks will be pending.
  • 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS cluster autoscaling
  • 53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS cluster autoscaling ● 88% CPU utilization ● 56% Memory utilization ● Scale out when CPU is above 85% ● Scale in when CPU is below 45%
  • 54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS cluster autoscaling ● 92% CPU utilization ● 58% Memory utilization
  • 55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Application management Parametrized to run in different environments ECS service, ECS task definition IAM task role (access to S3, SQS, KMS, etc)
  • 56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Ap p lication monitoring Load balancer health checks Sidecar containers DataDog
  • 57. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Appl i cati on d epl oyment CloudFormation Parameter Update New ECS task ECS deployment
  • 58. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Application deployment v1 v1 Initial state before deployment.
  • 59. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Application deployment v2 v1 v1 One new task added to the cluster.
  • 60. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Application deployment v2 v1 v2 Old task removed, another new task added.
  • 61. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Application deployment v2 v2 Final state.
  • 62. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. The DevOps Way Simplicity Visibility • Troubleshooting • Deployments
  • 63. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. The DevOps Way Education • Documentation • Training Empowerment • Documentation and best practices • Shell repository with templates and scripts • Jenkins shared libraries • Standardized Jenkins project Collaboration
  • 64. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. WE ARE HIRING For more information, please contact: ctava@wework.com THANK YOU! For more information, please contact: connect@opsline.com DevOps On-Demand
  • 65. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you!