Download - Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C
![Page 1: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/1.jpg)
AWS Government, Education, and Nonprofits Symposium Washington, DC | June 24, 2014 - June 26, 2014
AWS Government, Education, and Nonprofits Symposium Washington, DC | June 24, 2014 - June 26, 2014
DevOps on AWSContinuous Integration and Deployment Best Practices on AWS
Leo Zhadanovsky, Senior Solutions Architect, AWS | @leozh JP Schneider, DevOps / Internet Jedi, Mozilla Foundation |
@jdotp
![Page 2: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/2.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Who Am I?
I work for AWS
I worked for the DNC 2009-2012
I was embedded in the DevOps Team @ OFA
AWS does not endorse
political candidates
![Page 3: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/3.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Who Am I?
JP, DevOps for Mozilla Foundation
Previous gig DevOps at OFA 2012
Before that, Ops at Threadless
@jdotp
Mozilla Foundation does endorse animated cats
![Page 4: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/4.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
CONTINUOUS INTEGRATION
![Page 5: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/5.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
What is Continuous Integration?
Changes to code automatically deployed to mainline branch• After passing unit and mock tests
Makes changes to code, and deployments iterative, not monolithic
Bugs are detected quickly
Allows rapid development
Helps automate deployments
![Page 6: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/6.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
DEVELOPER
![Page 7: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/7.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
![Page 8: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/8.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
![Page 9: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/9.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
![Page 10: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/10.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
PICKTASKS
![Page 11: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/11.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
SUBMITCODE
![Page 12: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/12.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
SCHEDULEBUILD
![Page 13: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/13.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
RECURRENTBUILDS
![Page 14: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/14.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
CODEFETCH
![Page 15: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/15.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
CODE QUALITYTESTS
TESTRESULTS
![Page 16: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/16.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
BUILD OUTPUT
![Page 17: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/17.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOURCE CODEREPOSITORY
PROJECT MANAGEMENT SERVER
CONTINUOUS INTEGRATION SERVER
DOCS
BINARIES& PACKAGES
DEV FACING NOTIFICATIONS
![Page 18: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/18.jpg)
![Page 19: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/19.jpg)
SOURCE CODE REPOSITORY
DNS
CONTINUOUS INTEGRATION SERVER
PROJECT MANAGEMENT SERVER
BUILDS
![Page 20: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/20.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
PAIN POINTS• UNIT TESTS INCOMPLETE• MOCK TESTS MAINTENANCE• EXPENSIVE TEST ENVIRONMENT• TEST ENVIRONMENT ≠ PRODUCTION• DEPLOYMENT CYCLES
![Page 21: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/21.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
ON-DEMAND
PAY AS YOU GO
ELASTIC
![Page 22: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/22.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
=
PROGRAMMABLE PLATFORM
![Page 23: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/23.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 24: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/24.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 25: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/25.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 26: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/26.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
IF YOU CAN PROGRAM ITYOU CAN AUTOMATE IT
![Page 27: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/27.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
A lot of options…
Configuration Management Systems• Puppet• Chef• Saltstack
Deployment Frameworks• Elastic Beanstalk• OpsWorks• Ansible• Fabric• Capistrano
Infrastructure Management• CloudFormation
![Page 28: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/28.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Bake an AMI Configure dynamically
Time consuming configuration (startup time)
Static configurations (less change management)
Bootstrapping
![Page 29: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/29.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Continuous deployment (latest code)
Environment specific (dev-test-prod)
Bootstrapping
Bake an AMI Configure dynamically
![Page 30: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/30.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Obama for America
awsofa.info
CASE STUDY
![Page 31: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/31.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
So here’s the Idea
~30th biggest E-commerce operation, globally
~200 distinct new applications, many mobile
Hundreds of new, untested analytical approaches
Processing hundreds of TB of data on thousands of servers
Spikes of hundreds of thousands of concurrent users
![Page 32: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/32.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
a few constraints…
~30th biggest E-commerce operation, globally
~200 distinct applications, many mobile
Hundreds of new, untested analytical approaches
Processing hundreds of TB of data on thousands of servers
Spikes of hundreds of thousands of concurrent users
Critically compressed budget
Less than a year to execute
Volunteer and near-volunteer development team
Core systems will be used for a single critical day
Constitutionally-mandated completion date
![Page 33: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/33.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Web-Scale Applications
![Page 34: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/34.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
500k+ IOPS DB Systems
![Page 35: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/35.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Services API
![Page 36: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/36.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 37: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/37.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Business as usual..
…for a technology startup
![Page 38: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/38.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Election Day – OFA Headquarters
![Page 39: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/39.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Typical Charts
![Page 40: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/40.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 41: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/41.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
How?
![Page 42: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/42.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
The old approach, even from Amazon
![Page 43: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/43.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
The old approach.. Might have some problems..
![Page 44: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/44.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
OFA’s Infrastructure
awsofa.info
![Page 45: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/45.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Ingredients
Ubuntu nginx boundary Unity jQuery SQLServer hbase NewRelic EC2 node.js Cybersource hive ElasticSearch Ruby Twilio EE S3 ELB boto Magento PHP EMR SES Route53 SimpleDB Campfire nagios Paypal CentOS CloudSearch levelDB mongoDB python securitygroups Usahidhi PostgresSQL Github apache bootstrap SNS OpsView Jekyll RoR EBS FPS VPC Mashery Vertica RDS Optimizely MySQL puppet tsunamiUDP R asgard cloudwatch ElastiCache cloudopt SQS cloudinit DirectConnect BSD rsync STS Objective-C DynamoDB
![Page 46: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/46.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Infrastructure, Configuration Management & Monitoring
Ubuntu nginx boundary Unity jQuery SQLServer hbase NewRelic EC2 node.js Cybersource hive ElasticSearch Ruby Twilio EE S3 ELB boto Magento PHP EMR SES Route53 SimpleDB Campfire nagios Paypal CentOS CloudSearch levelDB mongoDB python securitygroups Usahidhi PostgresSQL Github apache bootstrap SNS OpsView Jekyll RoR EBS FPS VPC Mashery Vertica RDS Optimizely MySQL puppet tsunamiUDP R asgard cloudwatch ElastiCache cloudopt SQS cloudinit DirectConnect BSD rsync STS Objective-C DynamoDB
![Page 47: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/47.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Configuration Management: Puppet
In mid-2011, we looked at options for configuration management and chose Puppet
We needed to make it scale, and to get it to work with state-less, horizontally scalable infrastructure
How did we do this?
![Page 48: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/48.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Bootstrapping Puppet with CloudInit
CloudInit is built into Ubuntu and Amazon Linux• Allows you to
pass bootstrap parameters in Amazon EC2 user-data field, in YAML format
![Page 49: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/49.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Bootstrapping Puppet with CloudInit
Don’t store creds in puppet manifests, store them in private Amazon S3 buckets
Either pass Amazon S3 creds through CloudInit:
Even better – avoid this by using AWS Identity and Access Management (IAM) roles and AWS Unified CLI’s S3 client
![Page 50: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/50.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Bootstrapping Puppet with CloudInit
Built-in puppet support
Use certname with %i for instance id to name the node
Puppetmaster must have auto sign turned on• Use security groups and/or NACLs for network-level security
In nodes.pp, use regex to match node names
![Page 51: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/51.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Puppet Tips
Use a base class to define your standard install
![Page 52: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/52.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Use runstages
Don’t store credentials in puppet, store them in private Amazon S3 buckets• Use AWS IAM to secure the credentials bucket/folders within that bucket
Puppet Tips
![Page 53: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/53.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Puppet Tips
Use puppet only for configuration files and what makes your apps unique
For undifferentiated parts of apps, use Amazon S3 backed RPM/Debian repositories• Can be either public or private repos, depending on your needs
• Amazon S3 Private RPM Repos: http://git.io/YAcsbg• Amazon S3 Private Debian Repos: http://git.io/ecCjWQ
![Page 54: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/54.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Puppet Tips
By using packages for applications deploys, you can set ensure => latest, and just bump the package in the repo to update
Log everything with rsyslog/graylog/loggly/NewRelic/splunk
![Page 55: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/55.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Scaling the Puppet Masters
Use an Auto Scaling group for puppet masters• Min size => 2, use multiple Availability Zones
Either have them build themselves off of existing puppet masters in the group or off packages stored in Amazon S3 and bootstrapped through user-data
Auto-sign must be on
![Page 56: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/56.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
One thing that is difficult to prepare for…
![Page 57: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/57.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
They had this built for the previous 3 months, all on the East Coast.
![Page 58: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/58.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
They had this built for the previous 3 months, all on the East Coast.
We built this part in 9 hours to be safe.
AWS +Puppet +
Netflix Asgard + WAN Optimization Software +
DevOps =
Cross-Continent Fault-Tolerance On-Demand
![Page 59: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/59.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
If OFA was run on AWS today, what might that look like?
Take advantage of OpsWorks• This would simplify configuration management
Use CloudFormation to recreate environments for prod/dev/test quicklyUtilize PostgreSQL RDS instead of the many manually installed PostgreSQL instancesAnalytics data warehouse took months to build, RedShift would take minutesDocker containers could be used to easily allow developers to replicate their dev environments in prod or stagingUse of immutable infrastructureMore use of CloudFront, resulting in less load on EC2 resources
![Page 60: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/60.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Mozilla FoundationCASE STUDY
![Page 61: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/61.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Webmaker.org circa 2012• Included Apps, non-SOA: Thimble, Popcorn, Goggles• ~20 pushes of new software in 2012• Operations and Development interacted mostly through bugzilla
tickets for deploys.• Hosting in physical datacenter at Mozilla
Webmaker.org circa early 2013• Deciding to go 12-factor, SOA in app layer• Weekly pushes of Popcorn on train model• Operations and Development interacted mostly through bugzilla
tickets for deploys.
![Page 62: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/62.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
April 2013
Webmaker begins rebuilding entire platformSOA, 12-factor in node.js exclusivelyMoving apps into AWS and DevOps / CI
![Page 63: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/63.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Since April 2013….Openbadges, Webmaker combine for: 1339 Pushes
Pushes Per Day to Staging / Prod
Pushes Per Day (Staging and Prod)
![Page 64: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/64.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Who?• ~30 Paid Developers • Hundreds of Students • Thousands of Contributors• One DevOps / Internet Jedi• Multiple Teams
How?• Puppet, Jenkins, Fabric• Tight feedback loops:
Newrelic, Opsview• Culture Shift
• Staging Envs• Brave devs iterate,
keeping work in-context• Visible Ops• Cross-train developers in
operations
![Page 65: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/65.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
What changed?
![Page 66: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/66.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
1) Know How You Were Doing Before
2) Know What Changed When
3) Know How You Are Now Doing
=
The confidence to try more things and try them faster, with minimum viable planning.
![Page 67: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/67.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Deployment
Pipeline
![Page 68: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/68.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
AWS CLOUDFORMATION
STACK-BASED DEPLOYMENT SERVICE
![Page 69: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/69.jpg)
CLOUDFORMATIONTEMPLATE
![Page 70: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/70.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 71: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/71.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
{ "Description" : "Create RDS with username and password", "Resources" : {
"MyDB" : { "Type" : "AWS::RDS::DBInstance", "Properties" : { "AllocatedStorage" : "500", "DBInstanceClass" : "db.m1.small", "Engine" : "MySQL", "EngineVersion" : "5.5", "MasterUsername" : "MyName", "MasterUserPassword" : "MyPassword" } } }}
![Page 72: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/72.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
"AWS::CloudFormation::Init" : { "config" : {
"packages" : { "yum" : { "mysql" : [], "mysql-server" : [], "httpd" : [], "php" : [], "php-mysql" : [] } }, "sources" : { "/var/www/html" : "https://s3.amazonaws.com/my-builds/build-v4.zip" } }
![Page 73: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/73.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
{ "Parameters" : { "KeyName" : { "Description" : "Name of an existing EC2 KeyPair to enable SSH access to the instance", "Type" : "String" } },}
![Page 74: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/74.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
CLOUDFORMATIONTEMPLATE
PROCEDURALDEFINITION
Create it programmatically
KNOWN CONFIGURATIONStore stack configuration in source control
PARAMETER DRIVEN
Dynamic and user-driven templates
COLLABORATIONShare templates with ease as just files
![Page 75: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/75.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 76: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/76.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
APPLICATIONVERSIONS
+INFRASTRUCTURE
VERSIONS
![Page 77: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/77.jpg)
CLOUDFORMATION TEMPLATE
![Page 78: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/78.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
CASE STUDY
NASA/Jet Propulsion LaboratoryCalifornia Institute of Technology
![Page 79: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/79.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Mars Rover Landing by the #’s
NASA TV = HD stream, 1080p, ~1 mb/s per viewer
Expecting peak of ~1m viewers
All playback devices (iOS, Android, Flash, HTML5, blah)
Once in a lifetime moment in history (no crashy crashy)
FUN FUN FUN
![Page 80: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/80.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Mars Rover Landing by the #’s
NASA TV = HD stream, 1080p, ~1 mb/s per viewerExpecting peak of ~1m viewersAll playback devices (iOS, Android, Flash, HTML5, blah)Once in a lifetime moment in history (no crashy crashy)
NASA says we can’t use their live stream setupIt’s 6 days before the landingIt’s the same week as the OlympicsAvailable technical resources from JPL: Brett and Khawaja
![Page 81: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/81.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
The sticky wicket:
HD Video streamsize = 4mbnever changeseasy to cache
manifest.f4msize = 4kbNew every 4 seccaching difficult
![Page 82: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/82.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
The plan
Design a solution around our limits• Max connections to origin = 6• Max streams per cache node = 20• Local Latency = critical• US-WEST-1 capacity reserved for S3 static images
Test the snot out of it
Hang on!
![Page 83: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/83.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
TWO GUYS
![Page 84: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/84.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
ok, so one of them is a rocket scientist..
![Page 85: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/85.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Mars Science Laboratory - Live Video Streaming Architecture
“The 42 pack”
![Page 86: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/86.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
LOAD TESTING
![Page 87: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/87.jpg)
![Page 88: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/88.jpg)
![Page 89: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/89.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Battle Testing our DeploymentBenchmarking
![Page 90: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/90.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Dynamic Traffic ScalingUS-East Cache Node Performance25.3 Gbps
![Page 91: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/91.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
Only ~42Mbps
Dynamic Traffic ScalingImpact on US-East FMS Origin Servers
![Page 92: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/92.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 93: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/93.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
CONTINUOUS DEPLOYMENT
SMALL, FREQUENT CHANGES CONSTANTLY INTEGRATING INTO
PRODUCTION.
![Page 94: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/94.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
KEY = ITERATION
![Page 95: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/95.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
ITERATION=
MODIFY THE SYSTEM TO BETTER MEET THE EXPECTATIONS OF
YOUR USERS
![Page 96: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/96.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
11.6sMean time between
deployments (weekday)
1,079Max number of
deployments in a single hour
10,000Mean number of
hosts simultaneously
receiving a deployment
30,000Max number of
hosts simultaneously
receiving a deployment
DEPLOYMENTS AT AMAZON.COM
![Page 97: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/97.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SOFTWARE DEPLOY
≠PRODUCT LAUNCH
![Page 98: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/98.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 99: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/99.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
1.5 BILLION PAGE VIEWS
OCTOBER 2012
$83 MILLION IN TRANSACTIONS4.2 MILLION ITEMS SOLD
CASE STUDY
![Page 100: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/100.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
30 DEPLOYS PER DAY1 DEPLOY EVERY 20 MINUTES
![Page 101: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/101.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
"Production is truly the only place you
can validate your code."
![Page 102: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/102.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 103: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/103.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 104: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/104.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 105: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/105.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
![Page 106: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/106.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
AWS OPSWORKSINTEGRATED APPLICATION
MANAGEMENT
AWS OPSWORKS UNDER THE HOOD
![Page 107: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/107.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
DATA-DRIVENARCHITECTURES
![Page 108: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/108.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
METRICS @ETSY
![Page 109: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/109.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014METRICS @OBAMA FOR AMERICA
![Page 110: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/110.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
COST-ORIENTED ARCHITECTURES
![Page 111: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/111.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
PHP+APACHE+VARNISH
NGINX+NODEJS
vs.
![Page 112: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/112.jpg)
![Page 113: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/113.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
CONTINUOUS INTEGRATION
CONTINUOUS DEPLOYMENT
![Page 114: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/114.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
CONTINUOUS DEPLOYMENT
=
CONTINUOUS EXPERIMENTATION
![Page 115: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/115.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
CONTINUOUS DEPLOYMENT
=
CONTINUOUS IMPROVEMENT
![Page 116: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/116.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
INNOVATE
![Page 117: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/117.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
« Want to increase innovation? Lower the cost of failure »
Joi Ito
![Page 118: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/118.jpg)
AWS Government, Education, and Nonprofits SymposiumWashington, DC | June 24, 2014 – June 26, 2014
SPEED AND AGILITY
Experiment Often
Fail quickly at a low cost
More Innovation
Experiment Infrequently
Failure is expensive
Less Innovation
“ON-PREMISE”
![Page 119: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/119.jpg)
AWS Government, Education, and Nonprofits Symposium Washington, DC | June 24, 2014 - June 26, 2014
Q & A
![Page 120: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/120.jpg)
AWS Government, Education, and Nonprofits Symposium Washington, DC | June 24, 2014 - June 26, 2014
aws.amazon.com/training
Expand your technical expertise to design, deploy, and operate
scalable, efficient applications on AWS
Training
aws.amazon.com/certification
Certification
20% off AWS Instructor-Led Training Class*• Code MK20PSSYM314 • Expires September 30, 2014
Get Savings on AWS Training!
* Discount only applies to classes delivered by AWS. Discount does not apply to classes delivered by an APN Training Partner.
aws.amazon.com/training/self-paced-labs
Self-Paced Labs
Get hands-on practice working with AWS technologies in a live environment
Validate your proven technical expertise
with the AWS platform
Expand your skills with AWS
![Page 121: Continuous Integration and Deployment Best Practices on AWS - AWS Symposium 2014 - Washington D.C](https://reader033.vdocument.in/reader033/viewer/2022061104/5415a4d57bef0a923b8b7383/html5/thumbnails/121.jpg)
AWS Government, Education, and Nonprofits Symposium Washington, DC | June 24, 2014 - June 26, 2014
AWS Government, Education, and Nonprofits Symposium Washington, DC | June 24, 2014 - June 26, 2014
DevOps on AWSContinuous Integration and Deployment Best Practices on AWS
Thank You
Leo Zhadanovsky, Senior Solutions Architect, AWS | @leozh JP Schneider, DevOps / Internet Jedi, Mozilla Foundation |
@jdotp