©2017,	Amazon	Web	Services,	Inc.	or	its	affiliates.	All	rights	reserved
Increasing pace as you grow:
The Amazon Story
Adrian Hornsby, Technical Evangelist
@adhorn
adhorn@amazon.com
Bijal Nagrashna, Startup Business Development Manager
@HeyBijal
bijaln@amazon.com
Why are we here today?
Software moves faster today.
75%
Reduction in
outages triggered
by software
deployments
since 2006
90%
Reduction in
outage minutes
triggered by
software
deployments
~0.001%
Software
deployments
cause an
outage
Frequent Deployments
The software delivery model has drastically changed
DevOps: Culture + Practices + Tools
back to 2001, the amazon.com website
was an architectural monolith.
Monolith development lifecycle
developers
releasetestbuild
delivery pipelineapp
• Service-Oriented
Architecture (SOA)
• Single-purpose
Connected through
APIs
• Highly decoupled
• “Microservices”
• Two-pizza teams
• Autonomy
• Full ownership
• Full accountability
• Aligned incentives
2-pizza team responsibility Venn diagram
Responsible for
THEIR
PRODUCT
Deployment tools
CI/CD tools
Monitoring tools
Metrics tool
Logging tools
APM tools
Infrastructure provisioning
tools
Security tools
Database management
tools
Testing tools
….
Not responsible for
*
*Unless their product belongs in the blue
2 Pizzas + Micro Services.
Missing tools
developers delivery pipelineservices
???
• Self-service
• Technology-agnostic
• Encourage best practices
• Single-purpose services
• Deployment service
• No downtime deployments
• Health tracking
• Versioned artifacts and
rollbacks
In 2009, we ran a study to find
out where inefficiencies might still
exist
We were just waiting.
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to Prod
Pipelines
• Continuous delivery
• Automated release
process
• Faster and more reliable
releases
• >90% of teams
Microservice development lifecycle
developers delivery pipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
= 50 million deployments a year
Thousands of teams
× Microservice architecture
× Continuous delivery
× Multiple environments
* As of 1 January 2017
2010
61
516
1,017
159
2012 2014 2016
AWS Pace of Innovation
We continue to survey our
software developers every
year
2014: one development
tool/service could be
correlated statistically with
happier developers
continuous delivery
==
happier developers!
AWS Code* services
Commit Build Test Production
AWS CodeCommit
AWS CodePipeline
AWS CodeDeployThird Party
Tooling
Software release steps:
AWS CodeBuild
How can others do this? And what is DevOps
anyway?
First, we need to understand a little bit
about software release processes
• Integration
tests
• Load testing
• UI tests
• Penetration
testing
Release processes
Source Build Test Production
• Check in
source code
• Peer review
• Compile code
• Unit tests
• Style checkers
• Code metrics
• Bake images
• Deployment
to production
environments
Release processes levels
Source Build Test Production
Continuous integration
Continuous delivery
Continuous deployment
AWS CodeDeploy
• Easy and reliable deployments
• Scale with ease
• Deploy to any server
Test
CodeDeployv1, v2, v3
Production
Dev
application
revisions
deployment groups
AWS CodePipeline
• Connect to best-of-breed tools
• Accelerate your release process
• Consistently verify each release
Build
1) Build
2) Unit test
1) Deploy
2) UI test
Source Beta Production
1) Deploy
2) Perf test
Gamma
1) Deploy canary
2) Deploy region 1
3) Deploy region 2
1) Pull
AWS CodeCommit
• Use standard Git tools
• Scalability, availability, and durability of Amazon S3
• Encryption at rest with customer-specific keys
git pull/push CodeCommit
Git objects in
Amazon S3
Git index in
Amazon
DynamoDB
Encryption key
in AWS KMS
SSH or HTTPS
What is DevOps?
DevOps = efficiencies that speed up this lifecycle
developers customers
releasetestbuild
plan monitor
delivery pipeline
feedback loop
Software development lifecycle
Listen to your customers
Security AND speed?
Infrastructure is code
• Code can be tested before
every release
• Blueprints can be shared
and enforced
• No manual changes in
production
Automate EVERYTHING
Infrastructure-as-code workflow
code
version
control
code
review
integrate
“It’s all software”
• Create templates of your infrastructure.
• Version control/replicate/update templates like code.
• Integrates with development, CI/CD, management
tools
Don’t reinvent the wheel!
Get your disaster recovery & backups
in checks
Monitoring &
Logging Continous
Integration/Delivery
With great power, comes some complexities.
Communication &
Collaboration
Microservices &
APIs Management
Infrastructure as
Code
Thanks!
@adhorn
adhorn@amazon.com
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Stockholm Waterfront Congress Centre | May 3rd 2017
Learn more and register
bit.ly/awssthlmtech
• 2 keynote sessions, featuring both enterprise and start-up customer stories.
• More than 20 breakout sessions showcasing customer solutions and AWS
technology including a startup track.
• A Startup Lounge where you can connect with the AWS Startup team, network and
learn best practices first-hand from the team.
• An Ask an Architect booth where you can get your foundational and highly technical
questions answered by AWS Solutions Architects.
Learn more and registerbit.ly/awssthlmtech
Adrian Cockcroft
VP Cloud Architecture Strategy
AMAZON WEB SERVICES
Mackenzie Kosut
Global Startup Evangelist
AMAZON WEB SERVICES
Learn more and register
bit.ly/awssthlmtech

Increasing pace as you grow: the Amazon Story