Netflix uses continuous delivery practices powered by open source tools to deploy code rapidly and reliably across multiple AWS regions. Teams deploy their own code using tools like Nebula/Gradle and Jenkins Job DSL for automated builds. The Aminator creates AMIs and Asgard deploys them using red/black deployment. Simian Army monkeys like Chaos Monkey test resiliency. Self-service, awareness of regions, and rollback ability are key to Netflix's approach.
9. Aminator
• Create AMI from Base AMI
• Image contains service and
everything needed to run it
• Unit of Deployment for Test and
Prod
• Abstracts Cloud Details
http://techblog.netflix.com/2013/03/ami-creation-with-aminator.html
BAKE
11. DEPLOY
Asgard: AWS Deployment Tool
Deploys Netflix to the Cloud
Red/Black push
http://www.infoq.com/presentations/asgard
12. CANARY ANALYSIS
Test, Int, Prod
Choose where to deploy
Run canary analysis
Scale up new instances
Turn on traffic to new ASG
Turn off traffic to old ASG
Wait … analyze … continue
17. Multi-Region Consistency
Build Tooling to:
• Schedule Deployments
• Prefer off peak
• Choose next available
region automatically
• Provide high visibility
per region
19. Simian Army
• Chaos Monkey
• Latency Monkey
• Janitor Monkey
• Conformity Monkey (and more!)
Test resiliency at runtime
http://www.infoq.com/presentations/netflix-resiliency-failure-cloud
20. Send in the Conformity Monkey
Have deployments diverged?
Balance regional consistency
with regional isolation
Provide meaningful
thresholds
Build best practices into
tooling and reporting
21. Clean up with the Janitor Monkey
• Disassociate unused
EIPs
• Delete unassociated
Amazon EBS volumes
• Delete older Amazon
EBS snapshots
• Leverage Amazon S3
Object Expiration
22. Key Elements for Netflix
• Value Self-service
• Test Everywhere
• Build Awareness of Multiple Regions
• Avoid peak times
• Roll back quickly and easily
• Be Cloud Native