SlideShare una empresa de Scribd logo
1 de 69
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pop-up Loft
DevOps on AWS
Building Systems to Deliver Faster
Jeet Shangari
Sr. Technical Account Manager
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Agenda
• Common Challenges
• 100mph history of Amazon’s DevOps journey
• Amazon’s internal practices and tooling
• Implementing self-service CI/CD
• Deployment Strategies / Best practices
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Software moves
faster today
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
2/3
More than two-thirds of
IT budgets go toward
keeping the lights on
77%
of CEOs believe security
risk has increased in the
last few years and 65%
believe their risk management
capability is falling behind
15yrs
The average lifespan
of an S&P company
dropped from 67 years in
the 1920s to 15 years today
[SOURCES]
15yrs- http://www.theatlantic.com/business/archive/2015/04/where-do-firms-go-when-they-die/390249/
2/3 of IT budget- The Midyear Global Tech Market Outlook For 2015 To 2016, Forrester Research
66% of CEOs- 2015 CEO Survey: Committing to Digital, Gartner
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How This Affects You
You’re left without
the necessary resources
to pursue critical business
initiatives required to maintain
a competitive advantage Your traditional IT model
lacks the agility you
need to keep pace with
market disruptors
Insufficient security,
compliance and availability
can hamper your ability to
compete and open the door
to sophisticated, hard-to-
identify attacks
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Responding requires a new model
Focus on differentiating your company
Innovate at speed
Reduce risk
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Why does DevOps matter?
5xLower change failure
rate
440xFaster from commit to
deploy
46xMore frequent
deployments
44%More time spent on
new features and code
Source: Puppet 2017 State of DevOps Report
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
“Finding time for innovation is hard,
we’re just too busy…”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
“But, we have too much legacy…”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
A look back at
development at
Amazon..
https://secure.flickr.com/photos/pixelthing/15806918992/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Amazon.com used
to be a monolith…
A 1GB executable
that took 18hrs to
compile, with a
centralised
deployment team
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
2001
Development transformation at Amazon: 2001-2009
20092006
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
• Single-purpose
• Connect only through
APIs
• Connect over HTTPS
• Largely “black boxes” to
each other
• “Microservices”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Things went much
better under this model
and teams were
developing features
faster than ever, but we
felt that we could still
improve.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
In 2009, we ran a study
to find out where
inefficiencies might still
exist. We found that
many teams were still
being slowed down by
manual processes and
work flows.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
We were just waiting.
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to Prod
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
We were just waiting.
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to Prod
Mins Days Mins Days Mins Days Mins
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
We were just waiting.
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to Prod
Weeks
Mins Days Mins Days Mins Days Mins
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
We were just waiting.
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to Prod
Weeks
Mins Days Mins Days Mins Days Mins
Hours
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
“We have long believed that 80% of
operations issues originate in design and
development…
Most operations issues, however, either
have their genesis in design and
development or are best solved there.
If the development team is frequently
called in the middle of the night,
automation is the likely outcome. If
operations is frequently called, the usual
reaction is to grow the operations
team.””
James Hamilton, Distinguished Engineer, Amazon Web Services
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
https://secure.flickr.com/photos/lindseygee/5894617854/
We needed new tools
https://www.flickr.com/photos/lox/9408028555
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
• Self-service
• Technology-agnostic
• Encourage best
practices
• Single-purpose
services
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
• Deployment service
• No downtime
deployments
• Health checking
• Versioned artifacts
and rollbacks
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pipelines
Automated actions and
transitions; from check-
in to production
Development benefits:
• Faster
• Safer
• Consistent &
Standardized
• Visualization of the
process
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Microservice development lifecycle
developers delivery pipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
General Practices followed by Amazon Developers
• CI/CD is a MUST!
• Commit frequently
• Builds on every commit
• Build once in a given execution flow
• Deploy to a running environment for further testing
• Everything as a code (application, infrastructure, documentation) goes
into a repository
• If its not in a repository, it doesn’t go into production environments!
• Start with continuous delivery (“gated” promotion) and build up to
continuous deployment once evidence of a high-level of excellence in
testing is clear
• Deploy to canaries, test, deploy to an AZ, test, deploy to a Region,
test
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
= 60 million deployments a year
= 1.9 deployments / second
Thousands of teams
× Microservice architecture
× Continuous delivery
× Multiple environments
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What is DevOps anyways?
Cultural
Philosophy
Practices Tools
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
DevOps – Don’t Take It Just From Us:
• Oscar Health: 2 systems engineers, 45+
Developers, self service infrastructure tools, HIPAA
requirements
• AirBNB: 5 Operations people for 1000+ instances
• Gilt: several hundred microservices, self service
tools extending AWS, almost entirely on t2 instances
• Intuit/TurboTax: “deployed over 40 simultaneous
experiments during the peak filing season”
• MLB: scale up massively during Minor League
games and events, turn it off later
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
DevOps – Don’t Take It Just From Us
In September 2015 Phil Calcado, ex-
SoundCloud, wrote in “How we ended up
with microservices.” how SoundCloud
reduced product development lead times
from 66 days to 16!*
*http://philcalcado.com/2015/09/08/how_we_ended_up_with_microservices.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Where do you
?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
• Integration
tests with other
systems
• Load testing
• UI tests
• Penetration
testing
Five major phases of software release
Source Build Test Deploy Monitor
• Check-in source
code such as
.java files.
• Peer review
new code
• Compile code
• Unit tests
• Style checkers
• Code metrics
• Create
container
images
• Deployment to
production
environments
• Monitor code in
production to
quickly detect
unusual activity
or errors
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS Code Services
AWS CodeBuild
+ Third Party
Software Release Steps:
AWS CodeCommit AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
AWS
CodeStar
Source Build Test Deploy Monitor
AWS X-Ray
Amazon
CloudWatch
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Amazon CloudWatch
AWS CloudTrail
Monitoring
& Logging
AWS DevOps Portfolio
AWS CodeCommit
AWS CodeDeploy
AWS CodePipeline
CI / CD Toolchain
AWS CloudFormation
AWS OpsWorks
AWS Config
Infrastructure
as Code
AWS CodeBuild
AWS CodeStar
AWS OpsWorks for
Chef Automate
AWS X-Ray
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Build & test your
application
https://secure.flickr.com/photos/spenceyc/7481166880
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
“This is our build
server…
I mean, I think it is.
Someone else set it up.
They’ve left now.
Don’t break it.”
https://www.flickr.com/photos/adamgiles/119754762
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Fully managed build service that compiles source code, runs
tests, and produces software packages
Scales continuously and processes multiple builds
concurrently
You can provide custom build environments suited to your
needs via Docker images
Pay by the minute for the compute resources you use
Integrated with CodePipeline and Jenkins
AWS CodeBuild
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Configure a Build Project
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
buildspec.yml
• Sits in source repo alongside
your project.
• Defines the commands to be run
for each phase of the build,
along with the output artifacts.
• Any errors will be reported back
as a build failure, and the logs
visible in the AWS CodeBuild
console.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
See build results
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Where to Focus Your Tests:
UI
Service
Unit 70%
20%
10%
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What service and release step corresponds with which tests?
UI
Service
Unit
Third Party
Tooling
AWS CodeBuild
BuildTest
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Deploying your
applications
https://secure.flickr.com/photos/simononly/15386966677
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
A measure of innovation agility
• How many deployments am I performing?
• How many are done out of hours?
• How many suffer emergency roll backs?
“Too many to count’”“We have a quarterly release cycle”
“We minimize customer impact” “Time is irrelevant”
“We frequently catch problems too late and
need to rollback from pre-release backups”
“We roll forwards not back”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Strive for continuous deployment.
Use metrics and tooling to gain trust.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Continuous Delivery Benefits
Improve developer
productivity
Find and address
bugs quickly
Deliver updates fasterAutomate the software
release process
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Automated deployments
Deploy to app running on AWS and/or On-premise
Minimize downtime
Supports rolling in-place deployments, as well as blue/green
Stop and roll back
You can automatically or manually stop and roll back deployments if
there are errors.
Centralized control
You can launch and track the status of your deployments through the
AWS CodeDeploy console or the AWS CLI. You will receive a report that
lists when each application revision was deployed and to which Amazon
EC2 instances.
Easy to adopt
Supports Windows and Linux. Works with any application. Also integrates
with your CI/CD tooling or AWS CodePipeline.
AWS CodeDeploy
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
appspec.yml Example
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html
permissions:
- object: /var/www/html
pattern: “*.html”
owner: root
group: root
mode: 755
hooks:
ApplicationStop:
- location: scripts/deregister_from_elb.sh
BeforeInstall:
- location: scripts/install_dependencies.sh
ApplicationStart:
- location: scripts/start_httpd.sh
ValidateService:
- location: scripts/test_site.sh
- location: scripts/register_with_elb.sh
• Remove/add instance to ELB
• Install dependency packages
• Start Apache
• Confirm successful deploy
• More!
• Send application files to one
directory and configuration files
to another
• Set specific permissions on
specific directories & files
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
v2 v2 v2 v2 v2 v2
one at a time
half at a time
all at once
v2 v2 v2 v1 v1 v1
v2 v1 v1 v1 v1 v1 Agent Agent
Dev Deployment group
OR
Prod Deployment group
Agent
AgentAgent
Agent Agent
Agent
Choose Deployment Speed and Group
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AMI Deployment Method
Amazon
Route 53
EC2 Instances
ELB
100%
DynamoDB MySQL RDS
Instance
ElastiCache
Cache Node
Blue/Green Deploys
§ We stand up a duplicate part of our
infrastructure and slowly cut traffic
over to it
ü Shift via DNS
ü Makes it easy to do testing of new
features
ü Makes it easy to roll back
§ As we shift more traffic over, let auto-
scaling grow/shrink our instances of
the new or old application
ü Shut down the old when no traffic
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AMI Deployment Method
Amazon
Route 53
EC2 Instances
ELB
EC2 Instances
ELB
90% 10%
DynamoDB MySQL RDS
Instance
ElastiCache
Cache Node
Blue/Green Deploys
§ We stand up a duplicate part of our
infrastructure and slowly cut traffic
over to it
ü Shift via DNS
ü Makes it easy to do testing of new
features
ü Makes it easy to roll back
§ As we shift more traffic over, let auto-
scaling grow/shrink our instances of
the new or old application
ü Shut down the old when no traffic
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AMI Deployment Method
Amazon
Route 53
EC2 Instances
ELB
EC2 Instances
ELB
50% 50%
DynamoDB MySQL RDS
Instance
ElastiCache
Cache Node
Blue/Green Deploys
§ We stand up a duplicate part of our
infrastructure and slowly cut traffic
over to it
ü Shift via DNS
ü Makes it easy to do testing of new
features
ü Makes it easy to roll back
§ As we shift more traffic over, let auto-
scaling grow/shrink our instances of
the new or old application
ü Shut down the old when no traffic
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AMI Deployment Method
Amazon
Route 53
EC2 Instances
ELB
EC2 Instances
ELB
0% 100%
DynamoDB MySQL RDS
Instance
ElastiCache
Cache Node
Blue/Green Deploys
§ We stand up a duplicate part of our
infrastructure and slowly cut traffic
over to it
ü Shift via DNS
ü Makes it easy to do testing of new
features
ü Makes it easy to roll back
§ As we shift more traffic over, let auto-
scaling grow/shrink our instances of
the new or old application
ü Shut down the old when no traffic
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AMI Deployment Method
Amazon
Route 53
EC2 Instances
ELB
EC2 Instances
ELB
0% 100%
DynamoDB MySQL RDS
Instance
ElastiCache
Cache Node
Blue/Green Deploys
§ We stand up a duplicate part of our
infrastructure and slowly cut traffic
over to it
ü Shift via DNS
ü Makes it easy to do testing of new
features
ü Makes it easy to roll back
§ As we shift more traffic over, let auto-
scaling grow/shrink our instances of
the new or old application
ü Shut down the old when no traffic
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AMI Deployment Method
Amazon
Route 53
EC2 Instances
ELB
100%
DynamoDB MySQL RDS
Instance
ElastiCache
Cache Node
Blue/Green Deploys
§ We stand up a duplicate part of our
infrastructure and slowly cut traffic
over to it
ü Shift via DNS
ü Makes it easy to do testing of new
features
ü Makes it easy to roll back
§ As we shift more traffic over, let auto-
scaling grow/shrink our instances of
the new or old application
ü Shut down the old when no traffic
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AMI Deployment Method
Amazon
Route 53
EC2 Instances
ELB
100%
DynamoDB MySQL RDS
Instance
ElastiCache
Cache Node
Blue/Green Deploys
§ We stand up a duplicate part of our
infrastructure and slowly cut traffic
over to it
ü Shift via DNS
ü Makes it easy to do testing of new
features
ü Makes it easy to roll back
§ As we shift more traffic over, let auto-
scaling grow/shrink our instances of
the new or old application
ü Shut down the old when no traffic
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Red-Black Deployment
Auto
Scaling
Group
V1
ELB
Amazon
Relational
Database
Service (RDS)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Red-Black Deployment
Auto
Scaling
Group
V1
Auto
Scaling
Group
V2
ELB
Amazon
Relational
Database
Service (RDS)
UAT
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Red-Black Deployment
Auto
Scaling
Group
V1
Auto
Scaling
Group
V2
ELB
Amazon
Relational
Database
Service (RDS)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Red-Black Deployment
Auto
Scaling
Group
V2
ELB
Amazon
Relational
Database
Service (RDS)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Orchestrating build and
deploy with a pipeline
https://www.flickr.com/photos/seattlemunicipalarchives/12504672623/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Continuous delivery service for fast and reliable
application updates
Model and visualize your software release process
Builds, tests, and deploys your code every time
there is a code change
Integrates with third-party tools and AWS
AWS CodePipeline
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Source
Source
GitHub
Build
CodeBuild
AWS CodeBuild
Deploy
JavaApp
Elastic Beanstalk
AWS CodePipeline automatically picks up
new source revisions from AWS
CodeCommit, GitHub or S3 and takes them
through your build and release process.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Build
CodeBuild
AWS CodeBuild
NotifyDevelopers
Lambda
Source
Source
GitHub
Parallel Actions
Deploy
JavaApp
Elastic Beanstalk
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Build
CodeBuild
AWS CodeBuild
NotifyDevelopers
Lambda
TestAPI
Runscope
Deploy
JavaApp
Elastic Beanstalk
Source
Source
GitHub
Sequential Actions
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Putting it all together…
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Summary
• Innovation requires agility. Teams busy firefighting, and large releases are
the enemies of agility
• Shrink Deployments and strive for continuous delivery
• Improve visibility with AWS CodePipeline
• Automate and scale your builds with AWS CodeBuild
• Implement safe, zero-downtime deployments with AWS CodeDeploy
• Choose your ideal deployment strategy.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Enjoy developing your software!
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pop-up Loft
aws.amazon.com/activate
Everything and Anything Startups
Need to Get Started on AWS

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Continuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesContinuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
 
DevOps and AWS
DevOps and AWSDevOps and AWS
DevOps and AWS
 
infrastructure as code
infrastructure as codeinfrastructure as code
infrastructure as code
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for Kubernetes
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
CI/CD for Modern Applications
CI/CD for Modern ApplicationsCI/CD for Modern Applications
CI/CD for Modern Applications
 
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
 
Getting Started on Amazon EKS
Getting Started on Amazon EKSGetting Started on Amazon EKS
Getting Started on Amazon EKS
 
Introduction to AWS IAM
Introduction to AWS IAMIntroduction to AWS IAM
Introduction to AWS IAM
 
(DVO306) AWS CodeDeploy: Automating Your Software Deployments
(DVO306) AWS CodeDeploy: Automating Your Software Deployments(DVO306) AWS CodeDeploy: Automating Your Software Deployments
(DVO306) AWS CodeDeploy: Automating Your Software Deployments
 
Executing a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWSExecuting a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWS
 
Introduction to DevOps on AWS
Introduction to DevOps on AWSIntroduction to DevOps on AWS
Introduction to DevOps on AWS
 
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
 
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitInfrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
 
(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS
 
AWS Service Catalog
AWS Service CatalogAWS Service Catalog
AWS Service Catalog
 
AWS solution Architect Associate study material
AWS solution Architect Associate study materialAWS solution Architect Associate study material
AWS solution Architect Associate study material
 
Terraform
TerraformTerraform
Terraform
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
 

Similar a DevOps on AWS

Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdfLaunching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
Amazon Web Services
 
100 Billion Data Points With Lambda_AWSPSSummit_Singapore
100 Billion Data Points With Lambda_AWSPSSummit_Singapore100 Billion Data Points With Lambda_AWSPSSummit_Singapore
100 Billion Data Points With Lambda_AWSPSSummit_Singapore
Amazon Web Services
 

Similar a DevOps on AWS (20)

DEV206_Life of a Code Change to a Tier 1 Service
DEV206_Life of a Code Change to a Tier 1 ServiceDEV206_Life of a Code Change to a Tier 1 Service
DEV206_Life of a Code Change to a Tier 1 Service
 
FSV308-Culture Shift How to Move a Global Financial Services Organization to ...
FSV308-Culture Shift How to Move a Global Financial Services Organization to ...FSV308-Culture Shift How to Move a Global Financial Services Organization to ...
FSV308-Culture Shift How to Move a Global Financial Services Organization to ...
 
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
 
DevOps Culture at Amazon
DevOps Culture at AmazonDevOps Culture at Amazon
DevOps Culture at Amazon
 
Adding the Sec to Your DevOps Pipelines
Adding the Sec to Your DevOps PipelinesAdding the Sec to Your DevOps Pipelines
Adding the Sec to Your DevOps Pipelines
 
DevOps: The Amazon Story
DevOps: The Amazon StoryDevOps: The Amazon Story
DevOps: The Amazon Story
 
Serverless and DevOps
Serverless and DevOpsServerless and DevOps
Serverless and DevOps
 
Introduction to the Serverless Cloud
Introduction to the Serverless CloudIntroduction to the Serverless Cloud
Introduction to the Serverless Cloud
 
Webinar-DevOps.pdf
Webinar-DevOps.pdfWebinar-DevOps.pdf
Webinar-DevOps.pdf
 
Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdfLaunching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
 
Serverless: State of The Union I AWS Dev Day 2018
Serverless: State of The Union I AWS Dev Day 2018Serverless: State of The Union I AWS Dev Day 2018
Serverless: State of The Union I AWS Dev Day 2018
 
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
 
100 Billion Data Points With Lambda_AWSPSSummit_Singapore
100 Billion Data Points With Lambda_AWSPSSummit_Singapore100 Billion Data Points With Lambda_AWSPSSummit_Singapore
100 Billion Data Points With Lambda_AWSPSSummit_Singapore
 
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...
 
DevOps, CI/CD, cost management, and security on AWS
DevOps, CI/CD, cost management, and security on AWSDevOps, CI/CD, cost management, and security on AWS
DevOps, CI/CD, cost management, and security on AWS
 
ARC201_Scaling Up to Your First 10 Million Users
ARC201_Scaling Up to Your First 10 Million UsersARC201_Scaling Up to Your First 10 Million Users
ARC201_Scaling Up to Your First 10 Million Users
 
CI/CD Pipeline Security: Advanced Continuous Delivery Recommendations
CI/CD Pipeline Security: Advanced Continuous Delivery RecommendationsCI/CD Pipeline Security: Advanced Continuous Delivery Recommendations
CI/CD Pipeline Security: Advanced Continuous Delivery Recommendations
 
規劃大規模遷移到 AWS 的最佳實踐
規劃大規模遷移到 AWS 的最佳實踐規劃大規模遷移到 AWS 的最佳實踐
規劃大規模遷移到 AWS 的最佳實踐
 
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
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 

Más de Amazon 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon 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
 

Más 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
 

DevOps on AWS

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Pop-up Loft DevOps on AWS Building Systems to Deliver Faster Jeet Shangari Sr. Technical Account Manager
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Agenda • Common Challenges • 100mph history of Amazon’s DevOps journey • Amazon’s internal practices and tooling • Implementing self-service CI/CD • Deployment Strategies / Best practices
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Software moves faster today
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved 2/3 More than two-thirds of IT budgets go toward keeping the lights on 77% of CEOs believe security risk has increased in the last few years and 65% believe their risk management capability is falling behind 15yrs The average lifespan of an S&P company dropped from 67 years in the 1920s to 15 years today [SOURCES] 15yrs- http://www.theatlantic.com/business/archive/2015/04/where-do-firms-go-when-they-die/390249/ 2/3 of IT budget- The Midyear Global Tech Market Outlook For 2015 To 2016, Forrester Research 66% of CEOs- 2015 CEO Survey: Committing to Digital, Gartner
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved How This Affects You You’re left without the necessary resources to pursue critical business initiatives required to maintain a competitive advantage Your traditional IT model lacks the agility you need to keep pace with market disruptors Insufficient security, compliance and availability can hamper your ability to compete and open the door to sophisticated, hard-to- identify attacks
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Responding requires a new model Focus on differentiating your company Innovate at speed Reduce risk
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Why does DevOps matter? 5xLower change failure rate 440xFaster from commit to deploy 46xMore frequent deployments 44%More time spent on new features and code Source: Puppet 2017 State of DevOps Report
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved “Finding time for innovation is hard, we’re just too busy…”
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved “But, we have too much legacy…”
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved A look back at development at Amazon.. https://secure.flickr.com/photos/pixelthing/15806918992/
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Amazon.com used to be a monolith… A 1GB executable that took 18hrs to compile, with a centralised deployment team
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved 2001 Development transformation at Amazon: 2001-2009 20092006
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved • Single-purpose • Connect only through APIs • Connect over HTTPS • Largely “black boxes” to each other • “Microservices”
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Things went much better under this model and teams were developing features faster than ever, but we felt that we could still improve.
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved In 2009, we ran a study to find out where inefficiencies might still exist. We found that many teams were still being slowed down by manual processes and work flows.
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved We were just waiting. WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved We were just waiting. WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Mins Days Mins Days Mins Days Mins
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved We were just waiting. WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Weeks Mins Days Mins Days Mins Days Mins
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved We were just waiting. WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Weeks Mins Days Mins Days Mins Days Mins Hours
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved “We have long believed that 80% of operations issues originate in design and development… Most operations issues, however, either have their genesis in design and development or are best solved there. If the development team is frequently called in the middle of the night, automation is the likely outcome. If operations is frequently called, the usual reaction is to grow the operations team.”” James Hamilton, Distinguished Engineer, Amazon Web Services
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved https://secure.flickr.com/photos/lindseygee/5894617854/ We needed new tools https://www.flickr.com/photos/lox/9408028555
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved • Self-service • Technology-agnostic • Encourage best practices • Single-purpose services
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved • Deployment service • No downtime deployments • Health checking • Versioned artifacts and rollbacks
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Pipelines Automated actions and transitions; from check- in to production Development benefits: • Faster • Safer • Consistent & Standardized • Visualization of the process
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Microservice development lifecycle developers delivery pipelinesservices releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved General Practices followed by Amazon Developers • CI/CD is a MUST! • Commit frequently • Builds on every commit • Build once in a given execution flow • Deploy to a running environment for further testing • Everything as a code (application, infrastructure, documentation) goes into a repository • If its not in a repository, it doesn’t go into production environments! • Start with continuous delivery (“gated” promotion) and build up to continuous deployment once evidence of a high-level of excellence in testing is clear • Deploy to canaries, test, deploy to an AZ, test, deploy to a Region, test
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved = 60 million deployments a year = 1.9 deployments / second Thousands of teams × Microservice architecture × Continuous delivery × Multiple environments
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved What is DevOps anyways? Cultural Philosophy Practices Tools
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved DevOps – Don’t Take It Just From Us: • Oscar Health: 2 systems engineers, 45+ Developers, self service infrastructure tools, HIPAA requirements • AirBNB: 5 Operations people for 1000+ instances • Gilt: several hundred microservices, self service tools extending AWS, almost entirely on t2 instances • Intuit/TurboTax: “deployed over 40 simultaneous experiments during the peak filing season” • MLB: scale up massively during Minor League games and events, turn it off later
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved DevOps – Don’t Take It Just From Us In September 2015 Phil Calcado, ex- SoundCloud, wrote in “How we ended up with microservices.” how SoundCloud reduced product development lead times from 66 days to 16!* *http://philcalcado.com/2015/09/08/how_we_ended_up_with_microservices.html
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Where do you ?
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved • Integration tests with other systems • Load testing • UI tests • Penetration testing Five major phases of software release Source Build Test Deploy Monitor • Check-in source code such as .java files. • Peer review new code • Compile code • Unit tests • Style checkers • Code metrics • Create container images • Deployment to production environments • Monitor code in production to quickly detect unusual activity or errors
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS Code Services AWS CodeBuild + Third Party Software Release Steps: AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS CodePipeline AWS CodeStar Source Build Test Deploy Monitor AWS X-Ray Amazon CloudWatch
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Amazon CloudWatch AWS CloudTrail Monitoring & Logging AWS DevOps Portfolio AWS CodeCommit AWS CodeDeploy AWS CodePipeline CI / CD Toolchain AWS CloudFormation AWS OpsWorks AWS Config Infrastructure as Code AWS CodeBuild AWS CodeStar AWS OpsWorks for Chef Automate AWS X-Ray
  • 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Build & test your application https://secure.flickr.com/photos/spenceyc/7481166880
  • 36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved “This is our build server… I mean, I think it is. Someone else set it up. They’ve left now. Don’t break it.” https://www.flickr.com/photos/adamgiles/119754762
  • 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Fully managed build service that compiles source code, runs tests, and produces software packages Scales continuously and processes multiple builds concurrently You can provide custom build environments suited to your needs via Docker images Pay by the minute for the compute resources you use Integrated with CodePipeline and Jenkins AWS CodeBuild
  • 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Configure a Build Project
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved buildspec.yml • Sits in source repo alongside your project. • Defines the commands to be run for each phase of the build, along with the output artifacts. • Any errors will be reported back as a build failure, and the logs visible in the AWS CodeBuild console.
  • 40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved See build results
  • 41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Where to Focus Your Tests: UI Service Unit 70% 20% 10%
  • 42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved What service and release step corresponds with which tests? UI Service Unit Third Party Tooling AWS CodeBuild BuildTest
  • 43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Deploying your applications https://secure.flickr.com/photos/simononly/15386966677
  • 44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved A measure of innovation agility • How many deployments am I performing? • How many are done out of hours? • How many suffer emergency roll backs? “Too many to count’”“We have a quarterly release cycle” “We minimize customer impact” “Time is irrelevant” “We frequently catch problems too late and need to rollback from pre-release backups” “We roll forwards not back”
  • 45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Strive for continuous deployment. Use metrics and tooling to gain trust.
  • 46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Continuous Delivery Benefits Improve developer productivity Find and address bugs quickly Deliver updates fasterAutomate the software release process
  • 47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Automated deployments Deploy to app running on AWS and/or On-premise Minimize downtime Supports rolling in-place deployments, as well as blue/green Stop and roll back You can automatically or manually stop and roll back deployments if there are errors. Centralized control You can launch and track the status of your deployments through the AWS CodeDeploy console or the AWS CLI. You will receive a report that lists when each application revision was deployed and to which Amazon EC2 instances. Easy to adopt Supports Windows and Linux. Works with any application. Also integrates with your CI/CD tooling or AWS CodePipeline. AWS CodeDeploy
  • 48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved appspec.yml Example version: 0.0 os: linux files: - source: / destination: /var/www/html permissions: - object: /var/www/html pattern: “*.html” owner: root group: root mode: 755 hooks: ApplicationStop: - location: scripts/deregister_from_elb.sh BeforeInstall: - location: scripts/install_dependencies.sh ApplicationStart: - location: scripts/start_httpd.sh ValidateService: - location: scripts/test_site.sh - location: scripts/register_with_elb.sh • Remove/add instance to ELB • Install dependency packages • Start Apache • Confirm successful deploy • More! • Send application files to one directory and configuration files to another • Set specific permissions on specific directories & files
  • 49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved v2 v2 v2 v2 v2 v2 one at a time half at a time all at once v2 v2 v2 v1 v1 v1 v2 v1 v1 v1 v1 v1 Agent Agent Dev Deployment group OR Prod Deployment group Agent AgentAgent Agent Agent Agent Choose Deployment Speed and Group
  • 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AMI Deployment Method Amazon Route 53 EC2 Instances ELB 100% DynamoDB MySQL RDS Instance ElastiCache Cache Node Blue/Green Deploys § We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ü Shift via DNS ü Makes it easy to do testing of new features ü Makes it easy to roll back § As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ü Shut down the old when no traffic
  • 51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AMI Deployment Method Amazon Route 53 EC2 Instances ELB EC2 Instances ELB 90% 10% DynamoDB MySQL RDS Instance ElastiCache Cache Node Blue/Green Deploys § We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ü Shift via DNS ü Makes it easy to do testing of new features ü Makes it easy to roll back § As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ü Shut down the old when no traffic
  • 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AMI Deployment Method Amazon Route 53 EC2 Instances ELB EC2 Instances ELB 50% 50% DynamoDB MySQL RDS Instance ElastiCache Cache Node Blue/Green Deploys § We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ü Shift via DNS ü Makes it easy to do testing of new features ü Makes it easy to roll back § As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ü Shut down the old when no traffic
  • 53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AMI Deployment Method Amazon Route 53 EC2 Instances ELB EC2 Instances ELB 0% 100% DynamoDB MySQL RDS Instance ElastiCache Cache Node Blue/Green Deploys § We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ü Shift via DNS ü Makes it easy to do testing of new features ü Makes it easy to roll back § As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ü Shut down the old when no traffic
  • 54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AMI Deployment Method Amazon Route 53 EC2 Instances ELB EC2 Instances ELB 0% 100% DynamoDB MySQL RDS Instance ElastiCache Cache Node Blue/Green Deploys § We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ü Shift via DNS ü Makes it easy to do testing of new features ü Makes it easy to roll back § As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ü Shut down the old when no traffic
  • 55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AMI Deployment Method Amazon Route 53 EC2 Instances ELB 100% DynamoDB MySQL RDS Instance ElastiCache Cache Node Blue/Green Deploys § We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ü Shift via DNS ü Makes it easy to do testing of new features ü Makes it easy to roll back § As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ü Shut down the old when no traffic
  • 56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved AMI Deployment Method Amazon Route 53 EC2 Instances ELB 100% DynamoDB MySQL RDS Instance ElastiCache Cache Node Blue/Green Deploys § We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ü Shift via DNS ü Makes it easy to do testing of new features ü Makes it easy to roll back § As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ü Shut down the old when no traffic
  • 57. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Red-Black Deployment Auto Scaling Group V1 ELB Amazon Relational Database Service (RDS)
  • 58. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Red-Black Deployment Auto Scaling Group V1 Auto Scaling Group V2 ELB Amazon Relational Database Service (RDS) UAT
  • 59. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Red-Black Deployment Auto Scaling Group V1 Auto Scaling Group V2 ELB Amazon Relational Database Service (RDS)
  • 60. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Red-Black Deployment Auto Scaling Group V2 ELB Amazon Relational Database Service (RDS)
  • 61. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Orchestrating build and deploy with a pipeline https://www.flickr.com/photos/seattlemunicipalarchives/12504672623/
  • 62. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Continuous delivery service for fast and reliable application updates Model and visualize your software release process Builds, tests, and deploys your code every time there is a code change Integrates with third-party tools and AWS AWS CodePipeline
  • 63. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Source Source GitHub Build CodeBuild AWS CodeBuild Deploy JavaApp Elastic Beanstalk AWS CodePipeline automatically picks up new source revisions from AWS CodeCommit, GitHub or S3 and takes them through your build and release process.
  • 64. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Build CodeBuild AWS CodeBuild NotifyDevelopers Lambda Source Source GitHub Parallel Actions Deploy JavaApp Elastic Beanstalk
  • 65. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Build CodeBuild AWS CodeBuild NotifyDevelopers Lambda TestAPI Runscope Deploy JavaApp Elastic Beanstalk Source Source GitHub Sequential Actions
  • 66. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Putting it all together…
  • 67. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Summary • Innovation requires agility. Teams busy firefighting, and large releases are the enemies of agility • Shrink Deployments and strive for continuous delivery • Improve visibility with AWS CodePipeline • Automate and scale your builds with AWS CodeBuild • Implement safe, zero-downtime deployments with AWS CodeDeploy • Choose your ideal deployment strategy.
  • 68. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Enjoy developing your software!
  • 69. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved Pop-up Loft aws.amazon.com/activate Everything and Anything Startups Need to Get Started on AWS