How Netflix Builds Code

Rahul Somasunderam

What does a team look like?

Diagram

How does a Netflix team look like?

Diagram

What is the full cycle?

Cycle

What is supported?

MultipleCycles

What kind of teams support these tools?

Participation

What it really looks like

ActualParticipation

Guardrails, not gates

"TX 375 Road - Mountains 2" by formulanone is licensed with CC BY-SA 2.0.

The unpaved road

"Olympic Mountain Bike Cross Country Cycling Race - London 2012 MTB" by Sum_of_Marc is licensed with CC BY-NC-ND 2.0.

The paved road

"UCI Worlds in Valkenburg, September 2012 THE TEAM TIME TRIAL" by sjrowe53 is licensed with CC BY-NC-ND 2.0.

What we support

  • 🤷 A few thousand users

  • 🤷 A few hundred teams

  • ~45k repositories

  • ~45k job definitions

  • ~600k builds per week

What are the tools like

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

What are the tools like

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

What are the tools like

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

What are the tools like

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

What are the tools like

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

The Java Path

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

The Java Path

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm
allprojects {
  apply plugin: 'netflix.nebula'
}

The Node Path

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

Version Control

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

The CI Phase

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

The CI Phase

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

The CI Phase

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

The CI Phase

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

The CI Phase

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

More CI tasks

 

rocket

The CD Phase

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

The CD Phase

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

Operating

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

Operating

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

Too many tools?

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm

Newt

duke
gradle
nebula
bitbucket
jenkins
rocket
package
debian
docker
artifactory
titus
spinnaker
managed delivery
aws ec2
titus
atlas
alerts
astrid
node
npm
newt

Thank you