Since 2011, Netflix has been releasing more and more components of their cloud platform and utilities as free and open source software. This session will answer questions about NetflixOSS, including who makes the software, what does it do, where can you get it and learn about it, when is more coming, why does Netflix do this, and how can you do something like this at your company?
Apple Keynote version with animations:
https://docs.google.com/file/d/0B4baN-arrqbJUHRZbE1HbmQ3azA/edit?usp=sharing
13. Netflix is the world’s leading Internet television network
with nearly 38 million members in 40 countries enjoying
more than one billion hours of TV shows and movies
per month, including original series.
(from http://ir.netflix.com)
22. Who
Platform Infrastructure
Cloud Database Engineering
Cloud Solutions
Engineering Tools
Cloud and Platform Engineering
Anyone with code that’s not a competitive advantage
42. What
If it’s about streaming
video, keep it closed
If it’s about computing,
open source it
When possible, extract
an open computation
system from a closed
Netflix system
Be pragmatic
62. When
Average so far: 1.5 new OSS projects per month
AstyanaxServo
Priam
CassJM
eterExhibitor
ArchaiusAsgard
Chaos
M
onkeyEureka
G
overnator
EddaBlitz4j
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2012
HystrixTurbine
Ribbon
NetflixG
raph
JanitorM
onkey
EVCache
RxJavaKaryon
Denom
inator
RSS
Reader
Conform
ity
M
onkey
gcviz
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2013
Isthm
us
Pytheas
Curator
Nov Dec
2011
G
enie
NfW
ebCrypto
G
listen
Ice
Zuul
Am
inator
Lipstick
68. Why
Give back to Apache license OSS community
Motivate, retain, hire top engineers (Did I mention…?)
69. Why
Give back to Apache license OSS community
Motivate, retain, hire top engineers (Did I mention…?)
“Peer pressure” code clean up & documentation
70. Why
Give back to Apache license OSS community
Motivate, retain, hire top engineers (Did I mention…?)
“Peer pressure” code clean up & documentation
External contributions
71. Why
Give back to Apache license OSS community
Motivate, retain, hire top engineers (Did I mention…?)
“Peer pressure” code clean up & documentation
External contributions
Good public relations, more good, less evil
72. Why
Give back to Apache license OSS community
Motivate, retain, hire top engineers (Did I mention…?)
“Peer pressure” code clean up & documentation
External contributions
Good public relations, more good, less evil
Make Netflix solutions into common standards
77. Help your career
Statistically, you will probably change jobs in <10 years
LinkedIn = resume
GitHub = portfolio
Speak at tech events
78. Help your career
Statistically, you will probably change jobs in <10 years
LinkedIn = resume
GitHub = portfolio
Speak at tech events
Write blog posts
79. Help your career
Statistically, you will probably change jobs in <10 years
LinkedIn = resume
GitHub = portfolio
Speak at tech events
Write blog posts
Tweet
80. Help your career
Statistically, you will probably change jobs in <10 years
LinkedIn = resume
GitHub = portfolio
Speak at tech events
Write blog posts
Tweet
Be googleable
82. Why free as in beer?
No significant commitments to external customers
83. Why free as in beer?
No significant commitments to external customers
Avoid distracting complications of charging money
84. Why free as in beer?
No significant commitments to external customers
Avoid distracting complications of charging money
Focus on accomplishing the company’s mission
85. Why free as in beer?
No significant commitments to external customers
Avoid distracting complications of charging money
Focus on accomplishing the company’s mission
The benefits of free exceed the benefits of charging
91. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
92. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
Soften dependencies
93. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
Soften dependencies
Externalize configuration
94. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
Soften dependencies
Externalize configuration
Clean up
95. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
Soften dependencies
Externalize configuration
Clean up
Document
96. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
Soften dependencies
Externalize configuration
Clean up
Document
Licensing and attribution
97. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
Soften dependencies
Externalize configuration
Clean up
Document
Licensing and attribution
Remove infringement
98. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
Soften dependencies
Externalize configuration
Clean up
Document
Licensing and attribution
Remove infringement
Write tech blog post
99. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
Soften dependencies
Externalize configuration
Clean up
Document
Licensing and attribution
Remove infringement
Write tech blog post
Make repo public
100. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
Soften dependencies
Externalize configuration
Clean up
Document
Licensing and attribution
Remove infringement
Write tech blog post
Make repo public
Tweet on @NetflixOSS
101. How
Internal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub
repo in Netflix org
Soften dependencies
Externalize configuration
Clean up
Document
Licensing and attribution
Remove infringement
Write tech blog post
Make repo public
Tweet on @NetflixOSS
Support the community
106. External Config
Externalize Netflix-specific values
Turn off soft dependencies by default
Make extension points for plugins as needed
Put Netflix config in internal SCM
(Perforce or Atlassian Stash)
107. External Config
Externalize Netflix-specific values
Turn off soft dependencies by default
Make extension points for plugins as needed
Put Netflix config in internal SCM
(Perforce or Atlassian Stash)
Jenkins build for open release
108. External Config
Externalize Netflix-specific values
Turn off soft dependencies by default
Make extension points for plugins as needed
Put Netflix config in internal SCM
(Perforce or Atlassian Stash)
Jenkins build for open release
Jenkins build for Netflix release
111. Code Review on GitHub
Learn Git
GitHub projects are owned by Netflix on master branch
112. Code Review on GitHub
Learn Git
GitHub projects are owned by Netflix on master branch
Fork your project
113. Code Review on GitHub
Learn Git
GitHub projects are owned by Netflix on master branch
Fork your project
Commit into a feature branch
114. Code Review on GitHub
Learn Git
GitHub projects are owned by Netflix on master branch
Fork your project
Commit into a feature branch
Push commits to your fork
115. Code Review on GitHub
Learn Git
GitHub projects are owned by Netflix on master branch
Fork your project
Commit into a feature branch
Push commits to your fork
Create a pull request
116. Code Review on GitHub
Learn Git
GitHub projects are owned by Netflix on master branch
Fork your project
Commit into a feature branch
Push commits to your fork
Create a pull request
Get comments, add commits