+ All Categories
Transcript
Page 1: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source
Page 2: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Continuous Delivery at Netflix: Powered by Open Source

Dianne MarshSan Francisco, May 6, 2014

http://www.linkedin.com/in/diannemarsh

Page 3: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Building Continuous Delivery

Page 4: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Netflix GoalsHigh Availability

But … Move fastTools encourage Best Practices

But … Freedom to do the right thing

Page 5: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Teams Deploy Their Own CodeRun What You Wrote• Rapid Innovation• Rapid Detection• Rapid Response= Freedom + Responsibility

Page 6: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Nebula/Gradle• Netflix Build Language• Gradle plugins• Supports internal and open source

builds

https://github.com/nebula-plugins

BUILD

Page 7: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

BUILD Jenkins Job DSLConfiguration as CodeGroovy Script Scripts go in Version Control

http://www.slideshare.net/quidryan/configuration-as-code

Page 8: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

BUILD BAKE

Page 9: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

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

Page 10: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

BUILD DEPLOYBAKE

Page 11: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

DEPLOY

Asgard: AWS Deployment ToolDeploys Netflix to the CloudRed/Black push

http://www.infoq.com/presentations/asgard

Page 12: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

CANARY ANALYSISTest, Int, ProdChoose where to deployRun canary analysisScale up new instancesTurn on traffic to new ASGTurn off traffic to old ASGWait … analyze … continue

Page 13: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Asgard Developer Portal

Page 14: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

GLISTEN Extending Asgard’s WorkflowAutomated Red/Black Push

Run canary/analysisScale up new instancesTurn on traffic/Run Tests/Turn off trafficWait … analyze … continue

http://techblog.netflix.com/2013/09/glisten-groovy-way-to-use-amazons.html

Page 15: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

One Button Deployment?

Page 16: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Regional IsolationLimit Impact of Human Error• Stagger deployments?• Canary testing per region?

Know your service!

Page 17: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Multi-Region ConsistencyBuild Tooling to:• Schedule Deployments• Prefer off peak• Choose next available

region automatically• Provide high visibility

per region

Page 18: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

BUILD

DEPLOY

BAKE

Page 19: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

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

Page 20: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Send in the Conformity MonkeyHave deployments diverged? Balance regional consistency

with regional isolation Provide meaningful thresholds Build best practices into

tooling and reporting

Page 21: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Clean up with the Janitor Monkey• Disassociate unused EIPs• Delete unassociated

Amazon EBS volumes• Delete older Amazon

EBS snapshots• Leverage Amazon S3

Object Expiration

Page 22: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

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

Page 23: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Netflix OSS

More at netflix.github.com

Page 24: Open Business Conference: Continuous Delivery At Netflix -- Powered by Open Source

Thanks!

Dianne Marsh (@dmarsh)[email protected]

Thanks!


Top Related