Upload
joe-sondow
View
5.492
Download
4
Tags:
Embed Size (px)
DESCRIPTION
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
Citation preview
@JoeSondow
Netflix Open Source SoftwareWho, what, where, when, why, how
Who am I?
@JoeSondow
Who am I?
@JoeSondow
Who am I?Joe Sondow
@JoeSondow
Who am I?Joe Sondow
Netflix since 2010
@JoeSondow
Who am I?Joe Sondow
Netflix since 2010
Asgard lead
@JoeSondow
Who am I?Joe Sondow
Netflix since 2010
Asgard lead
Grails
@JoeSondow
Who am I?Joe Sondow
Netflix since 2010
Asgard lead
Grails
jQuery
@JoeSondow
Open Sourcing Netflix Software
Open Sourcing Netflix SoftwareGive it away, give it away, give it away now
Open Sourcing Netflix Apps
Who
What
Where
When
Why
How
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)
Who
WhoYou, maybe?
Who
Who
Platform Infrastructure
Who
Platform Infrastructure
Cloud Database Engineering
Who
Platform Infrastructure
Cloud Database Engineering
Cloud Solutions
Who
Platform Infrastructure
Cloud Database Engineering
Cloud Solutions
Engineering Tools
Who
Platform Infrastructure
Cloud Database Engineering
Cloud Solutions
Engineering Tools
Cloud and Platform Engineering
Who
Platform Infrastructure
Cloud Database Engineering
Cloud Solutions
Engineering Tools
Cloud and Platform Engineering
Anyone with code that’s not a competitive advantage
What
WhatUndifferentiated heavy lifting
What
What
What
Infrastructure
What
Infrastructure
Caching
What
Infrastructure
Caching
Database
What
Infrastructure
Caching
Database
Cloud
What
Infrastructure
Caching
Database
Cloud
Building
What
Infrastructure
Caching
Database
Cloud
Building
Deployment
What
Infrastructure
Caching
Database
Cloud
Building
Deployment
Configuration
What
Infrastructure
Caching
Database
Cloud
Building
Deployment
Configuration
Testing
What
Infrastructure
Caching
Database
Cloud
Building
Deployment
Configuration
Testing
Monitoring
What
Infrastructure
Caching
Database
Cloud
Building
Deployment
Configuration
Testing
Monitoring
Networking
What
Infrastructure
Caching
Database
Cloud
Building
Deployment
Configuration
Testing
Monitoring
Networking
Robustness
What
Infrastructure
Caching
Database
Cloud
Building
Deployment
Configuration
Testing
Monitoring
Networking
Robustness
Security
Not
Not
Streaming
Encoding
Merchandising
Movie metadata
Recommendations
10’ UI
What
WhatIf 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
Examples
AsgardWeb interface for application deployment and cloud management in Amazon Web Services
IceBird’s-eye view of AWS usage and cost
Simian ArmyKeeps your cloud operating well. Chaos Monkey, Janitor Monkey, Conformity Monkey…
Hystrix and TurbineCircuit breakers protect from downstream service failures, and enable dashboard monitoring
Where
WhereTake a guess
Wherehttp://netflix.github.io
https://github.com/Netflix
https://netflixoss.ci.cloudbees.com/
http://techblog.netflix.com
https://twitter.com/NetflixOSS
http://meetup.com/Netflix-Open-Source-Platform/
https://youtube.com/NetflixOpenSource
When
WhenSoon
When
Average so far: 1.5 new OSS projects per month
Astyan
ax
Servo
Priam CassJM
eter
Exhibit
or
Archaiu
s
Asgard
Chaos
Mon
key
Eureka
Governa
tor
EddaBlitz
4j
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec2012
HystrixTur
bine
Ribbon
NetflixG
raph
Janito
r Mon
key
EVCache
RxJava
Karyon
Denom
inator
RSS Reade
r
Confor
mity Mon
key
gcviz
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec2013
Isthmus
Pythea
s
Curator
Nov Dec2011
Genie
NfWeb
Crypto
Glisten
Ice Zuul
Aminator
Lipstic
k
When
Monitoring/Graphing
Deployment canary analyzer
Web notification widget
Asgard client library
Other things getting dreamed up
Future Possibilities
When
Roll-out schedules
Dependencies
Best practices
Tooling
Guest speakers
Legal
Internal OSS meeting every two weeks
Why
Why
Why
Give back to Apachelicense OSS community
Why
Give back to Apachelicense OSS community
Motivate, retain, hire top engineers (Did I mention…?)
Why
Give back to Apachelicense OSS community
Motivate, retain, hire top engineers (Did I mention…?)
“Peer pressure” code clean up & documentation
Why
Give back to Apachelicense OSS community
Motivate, retain, hire top engineers (Did I mention…?)
“Peer pressure” code clean up & documentation
External contributions
Why
Give back to Apachelicense 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
Why
Give back to Apachelicense 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
Help your career
Help your careerStatistically, you will probably change jobs in <10 years
Help your careerStatistically, you will probably change jobs in <10 years
LinkedIn = resume
Help your careerStatistically, you will probably change jobs in <10 years
LinkedIn = resume
GitHub = portfolio
Help your careerStatistically, you will probably change jobs in <10 years
LinkedIn = resume
GitHub = portfolio
Speak at tech events
Help your careerStatistically, you will probably change jobs in <10 years
LinkedIn = resume
GitHub = portfolio
Speak at tech events
Write blog posts
Help your careerStatistically, you will probably change jobs in <10 years
LinkedIn = resume
GitHub = portfolio
Speak at tech events
Write blog posts
Tweet
Help your careerStatistically, you will probably change jobs in <10 years
LinkedIn = resume
GitHub = portfolio
Speak at tech events
Write blog posts
Tweet
Be googleable
Why free as in beer?
Why free as in beer?No significant commitments to external customers
Why free as in beer?No significant commitments to external customers
Avoid distracting complications of charging money
Why free as in beer?No significant commitments to external customers
Avoid distracting complications of charging money
Focus on accomplishing the company’s mission
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
How
How
HowInternal OSS mailing list
HowInternal OSS mailing list
Edit internal OSS wiki
HowInternal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
HowInternal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub repo in Netflix org
HowInternal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub repo in Netflix org
Soften dependencies
HowInternal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub repo in Netflix org
Soften dependencies
Externalize configuration
HowInternal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub repo in Netflix org
Soften dependencies
Externalize configuration
Clean up
HowInternal OSS mailing list
Edit internal OSS wiki
Attend OSS meetings
Make private GitHub repo in Netflix org
Soften dependencies
Externalize configuration
Clean up
Document
HowInternal 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
HowInternal 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
HowInternal 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
HowInternal 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
HowInternal 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
HowInternal 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
External Config
External ConfigExternalize Netflix-specific values
External ConfigExternalize Netflix-specific values
Turn off soft dependencies by default
External ConfigExternalize Netflix-specific values
Turn off soft dependencies by default
Make extension points for plugins as needed
External ConfigExternalize 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)
External ConfigExternalize 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
External ConfigExternalize 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
Code Review on GitHub
Code Review on GitHubLearn Git
Code Review on GitHubLearn Git
GitHub projects are owned by Netflix on master branch
Code Review on GitHubLearn Git
GitHub projects are owned by Netflix on master branch
Fork your project
Code Review on GitHubLearn Git
GitHub projects are owned by Netflix on master branch
Fork your project
Commit into a feature branch
Code Review on GitHubLearn Git
GitHub projects are owned by Netflix on master branch
Fork your project
Commit into a feature branch
Push commits to your fork
Code Review on GitHubLearn 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
Code Review on GitHubLearn 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
Thank you
@JoeSondow @NetflixOSS
Thank youQuestions?
@JoeSondow @NetflixOSS