O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Continuous Delivery at
Netflix
Speed at Scale

Monday, December 23, 13
Rob Spieldenner

Senior Software Engineer on Engineering Tools at
Netflix
@robspieldenner -> Twitter

Monday, December 23, ...
Netflix Culture

Monday, December 23, 13
Culture Deck
http://jobs.netflix.com/

Monday, December 23, 13
Freedom & Responsibility

Monday, December 23, 13
Context, not Control

Monday, December 23, 13
Self Service

Monday, December 23, 13
Developers on call for their
services

Monday, December 23, 13
Netflix OSS
http://netflix.github.io/

Monday, December 23, 13
OODA Loop - Observe,
Orient, Decide, Act

Monday, December 23, 13
Continuous Delivery Pipeline

Commit

Monday, December 23, 13

Build

Unit Test

Bake

Deploy To
Test

Integration &
Accep...
Commit and Code Review

Monday, December 23, 13
Build
simplify build file with plugins
add metadata
calculate version
output jar/war, sources, javadoc, rpm/deb

Monday, De...
Ant
build.xml
<project name="example">
<property environment="env"/>
<import file="${env.CBF_HOME}/library.xml"/>
</project...
Gradle
build.gradle
apply plugin: ‘nebula’
publications {
JAR
JAVADOC
SOURCES
}
dependencies {
testCompile ‘junit:junit:4....
Jenkins

Monday, December 23, 13
Job-DSL
https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL
+Plugin

Monday, December 23, 13
Job DSL Example
example
def project = 'quidryan/aws-sdk-test'
def branchApi = new URL(“https://api.github.com/repos/${proj...
Bake

Monday, December 23, 13
aminator
https://github.com/Netflix/aminator

Monday, December 23, 13
chef for base image

Monday, December 23, 13
Apply deb/rpm, snapshot

Monday, December 23, 13
Unit of deployment

Monday, December 23, 13
Deploy

Monday, December 23, 13
Asgard
https://github.com/Netflix/asgard

Monday, December 23, 13
Monday, December 23, 13
UI or REST API

Monday, December 23, 13
Canary Deploys

Monday, December 23, 13
Red / Black Push

Monday, December 23, 13
Testing
Webdriver
Geb
Betamax
and manual

Monday, December 23, 13
Monitoring
How many people are watching?
Can the new version handle load?
Errors and logging
suro, jmx

Monday, December 2...
Alert on issues

Monday, December 23, 13
Maybe automatic rollback

Monday, December 23, 13
Resiliency / Anti-Fragility

Monday, December 23, 13
Simian Army
https://github.com/Netflix/SimianArmy
Chaos Monkey
Chaos Gorilla
Chaos Kong
Latency Monkey
Janitor Monkey
Confo...
Assume services will break,
disappear, slow

Monday, December 23, 13
Books

Monday, December 23, 13
Other Presentations
Adrian Cockcroft Flowcon Keynote - Velocity and
Volume (or Speed Wins) - http://www.youtube.com/
watch...
Netflix is Hiring
http://jobs.netflix.com/

Monday, December 23, 13
Próximos SlideShares
Carregando em…5
×

Continuous Delivery at Netflix

30.434 visualizações

Publicada em

A high level view of how Netflix culture, open source technology, and custom software can build a continuous delivery pipeline to allow multiple deployments a day.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Continuous Delivery at Netflix

  1. 1. Continuous Delivery at Netflix Speed at Scale Monday, December 23, 13
  2. 2. Rob Spieldenner Senior Software Engineer on Engineering Tools at Netflix @robspieldenner -> Twitter Monday, December 23, 13
  3. 3. Netflix Culture Monday, December 23, 13
  4. 4. Culture Deck http://jobs.netflix.com/ Monday, December 23, 13
  5. 5. Freedom & Responsibility Monday, December 23, 13
  6. 6. Context, not Control Monday, December 23, 13
  7. 7. Self Service Monday, December 23, 13
  8. 8. Developers on call for their services Monday, December 23, 13
  9. 9. Netflix OSS http://netflix.github.io/ Monday, December 23, 13
  10. 10. OODA Loop - Observe, Orient, Decide, Act Monday, December 23, 13
  11. 11. Continuous Delivery Pipeline Commit Monday, December 23, 13 Build Unit Test Bake Deploy To Test Integration & Acceptance Tests Red/Black Push
  12. 12. Commit and Code Review Monday, December 23, 13
  13. 13. Build simplify build file with plugins add metadata calculate version output jar/war, sources, javadoc, rpm/deb Monday, December 23, 13
  14. 14. Ant build.xml <project name="example"> <property environment="env"/> <import file="${env.CBF_HOME}/library.xml"/> </project> ivy.xml list dependencies list publications Monday, December 23, 13
  15. 15. Gradle build.gradle apply plugin: ‘nebula’ publications { JAR JAVADOC SOURCES } dependencies { testCompile ‘junit:junit:4.+’ } Monday, December 23, 13
  16. 16. Jenkins Monday, December 23, 13
  17. 17. Job-DSL https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL +Plugin Monday, December 23, 13
  18. 18. Job DSL Example example def project = 'quidryan/aws-sdk-test' def branchApi = new URL(“https://api.github.com/repos/${project}/branches”) def branches = new groovy.json.JsonSlurper().parse(branchApi.newReader()) branches.each { def branchName = it.name job { name “${project}-${branchName}”.replaceAll(‘/’, ‘-’) scm { git(“git://github.com/${project}.git”, branchName) } steps { gradle(‘test’) } } } Monday, December 23, 13
  19. 19. Bake Monday, December 23, 13
  20. 20. aminator https://github.com/Netflix/aminator Monday, December 23, 13
  21. 21. chef for base image Monday, December 23, 13
  22. 22. Apply deb/rpm, snapshot Monday, December 23, 13
  23. 23. Unit of deployment Monday, December 23, 13
  24. 24. Deploy Monday, December 23, 13
  25. 25. Asgard https://github.com/Netflix/asgard Monday, December 23, 13
  26. 26. Monday, December 23, 13
  27. 27. UI or REST API Monday, December 23, 13
  28. 28. Canary Deploys Monday, December 23, 13
  29. 29. Red / Black Push Monday, December 23, 13
  30. 30. Testing Webdriver Geb Betamax and manual Monday, December 23, 13
  31. 31. Monitoring How many people are watching? Can the new version handle load? Errors and logging suro, jmx Monday, December 23, 13
  32. 32. Alert on issues Monday, December 23, 13
  33. 33. Maybe automatic rollback Monday, December 23, 13
  34. 34. Resiliency / Anti-Fragility Monday, December 23, 13
  35. 35. Simian Army https://github.com/Netflix/SimianArmy Chaos Monkey Chaos Gorilla Chaos Kong Latency Monkey Janitor Monkey Conformity Monkey Monday, December 23, 13
  36. 36. Assume services will break, disappear, slow Monday, December 23, 13
  37. 37. Books Monday, December 23, 13
  38. 38. Other Presentations Adrian Cockcroft Flowcon Keynote - Velocity and Volume (or Speed Wins) - http://www.youtube.com/ watch?v=wyWI3gLpB8o Roy Rapoport - Cloud Operations at Netflix - http:// www.youtube.com/watch?v=7779Wrun5fo AWS re:Invent - http://reinvent.awsevents.com/ recap2013.html Monday, December 23, 13
  39. 39. Netflix is Hiring http://jobs.netflix.com/ Monday, December 23, 13

×