SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
Netflix Open Source
Andrew Spyker (@aspyker) - Engineering Manager
Building a distributed and
automated open source program
About Netflix
● 86.7M members
● A few thousand employees
● 190+ countries
● > ⅓ NA internet download traffic
● 500+ Microservices
● Many 10’s of thousands VM’s
● 3 regions across the world
Trivia
Netflix been open
sourcing, since?
a) Around the start of streaming service - 2007
b) Around when we went international - 2010
c) Around House of Cards release time - 2013
Answer
2010
Why does Netflix Open Source?
Improve Engineering
● Great feedback from wider community
● Collaborate through open code
Recruit new and retain engineering talent
● Hard problems are openly worked on
Industry Alignment
Why does Netflix Open Source?
Netflix moves
to cloud
2008
2013
2016
http://netflix.github.io
Open Source Functional Areas
● Contribute to Hadoop, Hive, Pig, Parquet, Presto, Spark
● Genie - RESTful API’s for Big Data Jobs
● Lipstick - Graphical depiction of executing Pig jobs
● Aegisthus - Data pipeline from Cassandra to Big Data
Open Source Functional Areas
● Nebula - Plugins for gradle to simplify builds
● Animator - Bakes AMI’s from OS installation packages
● Spinnaker - New continuous delivery platform
Open Source Functional Areas
● Eureka, Ribbon, Hystrix - Cloud native, resilient IPC
● Karyon, Prana, Archius - Microservice App Frameworks
● Fenzo - Mesos advanced scheduling library
Open Source Functional Areas
● Photon - Java Interoperable File Format implementation
● VMAF - Perceptual quality metric algorithm and test toolkit
Open Source Functional Areas
● Raigad/Priam - Management/ops sidecars for ES and C*
● EVCache - Distributed, replicated memcache++
● Dynomite - Dynamo layer on top of non-dynamo data stores
Open Source Functional Areas
● Spectator/Atlas - Monitoring and Telemetry client and server
● Vector - Fine grained per instance performance monitoring
● Vizceral - Worldwide traffic to microservice graph
visualization
Open Source Functional Areas
● Security Monkey - Automated cloud security monitoring
● Scumblr/Sketchy - Internet intelligence gathering
● FIDO - Security event orchestration (analysis/response)
● Lemur - Simplified x.509 cert management
● Sleepy Puppy - Delayed cross site scripting framework
Open Source Functional Areas
● Work across front end technologies including Restify
● Falcor - Virtual JSON graph & optimized query to backends
● RxJS - Simplify Javascript async event based programming
Netflix’s approach to open source
Form a small cross-functional team working
group that centralizes OSS competence,
assisting decentralized teams working with OSS
spend less time focusing on the administrative
aspects (legal, tooling, branding, monitoring,
and community promotion).
Open source enabler - OSS Interest Group
● Internal mailing list
● Meets once per month
● Topics from developers
● Help each other with
common problems
Trivia
How many OSS projects does
Netflix have?
a) 59
b) 102
c) 176
Answer
176
Netflix (119) Spinnaker (17) nebula-plugins (40)
Open Source Shepherds
● Management with business context
● Consistency across related projects
● Document how area fits together
● Focus on OSS health of each area
Common tools accelerate developers
● Security
● Backup
● Github user/group repo management
● Project tracking
● Build systems
● CI systems
Security tools
● We scan code for
○ Access keys, credentials, email
addresses, hostnames
● Provide tools and automation to
○ Scan before initial release
○ Scan repeatedly on github
Source code management
● Backup and archival
○ Github down != Netflix down
● Internal mirrors we could build from
Project Ownership
All projects have
● Development lead, Management lead
● Shepherd from OSS function area
Only projects with active leads stay active!
Github management
● Has to be easy
○ Otherwise, teams will go it alone
● Has to be automated
○ Self service - chat ops
○ Following secure best practices
Github user management
Support bring github id
● User links to internal id
● All tools then can
associate identity
Two Factor Auth Enforcement
● Automation to boot users who don’t
● Be careful - education on recovery!
Github group management
● Owners
○ Limited group - due to power
○ Automate via chatops all owner actions
● Netflixer group
○ Full write permissions on all repos
● Outside contributors
○ Added by netflixers, validated over time
Github automated through chat ops
Overall Org Health Tracking
Metrics we track
● Issues
○ open, closed, TTC
● Pull Requests
○ open, closed, TTC
● Last commit timing
● Stars/forks
● Num contributors
Project Health Tracking
github.com/
Netflix/
OSSTracker
● Repeatable builds
● deb/rpm files for OS
package baking
● Reduces boilerplate for
common best practices
● Standards for
release/version mgmt
Common Build For Gradle/Java
nebula-plugins.github.io
Common CI Systems
● Travis CI
○ Populate .travis.yml and sh files
○ Standard targets for snapshots,
candidates, and releases
○ Binary upload credentials handled
○ Consistency across projects
● Cloudbees
○ Job-dsl to create release jobs
Using Docker to make projects easier
● A running image is worth a
thousand wiki documents
● Started with ZeroToDocker
○ Monolithic solution
○ Leveraged Dockerhub
trusted builds
Introducing TravisCI Docker builds
Function Dockerhub
trusted builds
TravisCI Docker
support
Github commit traceable builds ✔ ✔
Trusted build servers ✔ ✔
Full build control (labels, etc.) ✖ ✔
Easy to integrate with artifact releases ✖ ✔
● Experimenting: OSSTracker & Genie
● Docker compose used across images
TODO Group
● Joined 2015
● Collaborate on how
to better collaborate
● Leverage TODO group’s work
○ Github focus
○ Automation innovations
● Good group for helping OSS companies
Trivia
Which of the following
does Hystrix lead in?
a) Most PR’s closed d) Most Forks
b) Most Issues closed e) Most contributors
c) Most Stars
Answer
All of the above
Recent NetflixOSS Releases
CI at
Netflix
scale
Multi-region
deployment
control
Advanced CI/CD pipelines
Recent NetflixOSS Releases
Chaos Monkey 2.0
● Integrated with Spinnaker
● Termination scheduling better
● Termination event tracking
Photon
● Java IMF implementation
● Parsing, Interpretation, Validation
Recent NetflixOSS Releases
Vizceral
● React and Web Component
● Graph data to visualize traffic
Dynomite
● Dynamo layer on top of data stores
● Redis and memcache
● Manager (config, multi-region, backup)
Questions?
Andrew Spyker (@aspyker) - Engineering Manager

Mais conteúdo relacionado

Mais procurados

The elements of kubernetes
The elements of kubernetesThe elements of kubernetes
The elements of kubernetes
Aaron Schlesinger
 
DockerCon SF 2015: Resilient Routing and Discovery
DockerCon SF 2015: Resilient Routing and DiscoveryDockerCon SF 2015: Resilient Routing and Discovery
DockerCon SF 2015: Resilient Routing and Discovery
Docker, Inc.
 

Mais procurados (20)

Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015
 
CMP376 - Another Week, Another Million Containers on Amazon EC2
CMP376 - Another Week, Another Million Containers on Amazon EC2CMP376 - Another Week, Another Million Containers on Amazon EC2
CMP376 - Another Week, Another Million Containers on Amazon EC2
 
NetflixOSS Meetup S6E2 - Spinnaker, Kayenta
NetflixOSS Meetup S6E2 - Spinnaker, KayentaNetflixOSS Meetup S6E2 - Spinnaker, Kayenta
NetflixOSS Meetup S6E2 - Spinnaker, Kayenta
 
Herding Kats - Netflix’s Journey to Kubernetes Public
Herding Kats - Netflix’s Journey to Kubernetes PublicHerding Kats - Netflix’s Journey to Kubernetes Public
Herding Kats - Netflix’s Journey to Kubernetes Public
 
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
 
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
 
Netflix Open Source Meetup Season 4 Episode 3
Netflix Open Source Meetup Season 4 Episode 3Netflix Open Source Meetup Season 4 Episode 3
Netflix Open Source Meetup Season 4 Episode 3
 
The Art of Decomposing Monoliths - Kfir Bloch, Wix
The Art of Decomposing Monoliths - Kfir Bloch, WixThe Art of Decomposing Monoliths - Kfir Bloch, Wix
The Art of Decomposing Monoliths - Kfir Bloch, Wix
 
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
 
The elements of kubernetes
The elements of kubernetesThe elements of kubernetes
The elements of kubernetes
 
DCSF19 Kubernetes Security with OPA
DCSF19 Kubernetes Security with OPA DCSF19 Kubernetes Security with OPA
DCSF19 Kubernetes Security with OPA
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open Source
 
DCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to Microservices
 
Whats new in brigade 2
Whats new in brigade 2Whats new in brigade 2
Whats new in brigade 2
 
CS80A Foothill College Open Source Talk
CS80A Foothill College Open Source TalkCS80A Foothill College Open Source Talk
CS80A Foothill College Open Source Talk
 
DCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container Networking
 
Introducing Pico - A Deep Learning Platform using Docker & IoT - Sangam Biradar
Introducing Pico - A Deep Learning Platform using Docker & IoT - Sangam BiradarIntroducing Pico - A Deep Learning Platform using Docker & IoT - Sangam Biradar
Introducing Pico - A Deep Learning Platform using Docker & IoT - Sangam Biradar
 
Democratizing machine learning on kubernetes
Democratizing machine learning on kubernetesDemocratizing machine learning on kubernetes
Democratizing machine learning on kubernetes
 
DockerCon SF 2015: Faster, Cheaper, Safer
DockerCon SF 2015: Faster, Cheaper, SaferDockerCon SF 2015: Faster, Cheaper, Safer
DockerCon SF 2015: Faster, Cheaper, Safer
 
DockerCon SF 2015: Resilient Routing and Discovery
DockerCon SF 2015: Resilient Routing and DiscoveryDockerCon SF 2015: Resilient Routing and Discovery
DockerCon SF 2015: Resilient Routing and Discovery
 

Semelhante a Netflix Open Source: Building a Distributed and Automated Open Source Program

DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
Fedir RYKHTIK
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
Ruslan Meshenberg
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
Rodrigo Gil
 

Semelhante a Netflix Open Source: Building a Distributed and Automated Open Source Program (20)

Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...
Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...
Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...
 
Netflix Open Source Meetup Season 4 Episode 1
Netflix Open Source Meetup Season 4 Episode 1Netflix Open Source Meetup Season 4 Episode 1
Netflix Open Source Meetup Season 4 Episode 1
 
Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
 
Delivering a bleeding edge community led open stack distribution- rdo
Delivering a bleeding edge community led open stack distribution- rdoDelivering a bleeding edge community led open stack distribution- rdo
Delivering a bleeding edge community led open stack distribution- rdo
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
 
TYPO3 v8 LTS in the cloud
TYPO3 v8 LTS in the cloudTYPO3 v8 LTS in the cloud
TYPO3 v8 LTS in the cloud
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud Platform
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructure
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
 
Static Analysis of Your OSS Project with Coverity
Static Analysis of Your OSS Project with CoverityStatic Analysis of Your OSS Project with Coverity
Static Analysis of Your OSS Project with Coverity
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 
Recap of the google io 2017
Recap of the google io 2017Recap of the google io 2017
Recap of the google io 2017
 
Bgoug 2019.11 building free, open-source, plsql products in cloud
Bgoug 2019.11   building free, open-source, plsql products in cloudBgoug 2019.11   building free, open-source, plsql products in cloud
Bgoug 2019.11 building free, open-source, plsql products in cloud
 
NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
 
DevOps & SRE at Google Scale
DevOps & SRE at Google ScaleDevOps & SRE at Google Scale
DevOps & SRE at Google Scale
 

Mais de aspyker

Season 7 Episode 1 - Tools for Data Scientists
Season 7 Episode 1 - Tools for Data ScientistsSeason 7 Episode 1 - Tools for Data Scientists
Season 7 Episode 1 - Tools for Data Scientists
aspyker
 
Ibm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinalIbm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinal
aspyker
 
Netflix s2e1lightningtalk
Netflix s2e1lightningtalkNetflix s2e1lightningtalk
Netflix s2e1lightningtalk
aspyker
 

Mais de aspyker (17)

Season 7 Episode 1 - Tools for Data Scientists
Season 7 Episode 1 - Tools for Data ScientistsSeason 7 Episode 1 - Tools for Data Scientists
Season 7 Episode 1 - Tools for Data Scientists
 
QConSF18 - Disenchantment: Netflix Titus, its Feisty Team, and Daemons
QConSF18 - Disenchantment: Netflix Titus, its Feisty Team, and DaemonsQConSF18 - Disenchantment: Netflix Titus, its Feisty Team, and Daemons
QConSF18 - Disenchantment: Netflix Titus, its Feisty Team, and Daemons
 
SRECon Lightning Talk
SRECon Lightning TalkSRECon Lightning Talk
SRECon Lightning Talk
 
Container World 2018
Container World 2018Container World 2018
Container World 2018
 
Series of Unfortunate Netflix Container Events - QConNYC17
Series of Unfortunate Netflix Container Events - QConNYC17Series of Unfortunate Netflix Container Events - QConNYC17
Series of Unfortunate Netflix Container Events - QConNYC17
 
Re:invent 2016 Container Scheduling, Execution and AWS Integration
Re:invent 2016 Container Scheduling, Execution and AWS IntegrationRe:invent 2016 Container Scheduling, Execution and AWS Integration
Re:invent 2016 Container Scheduling, Execution and AWS Integration
 
Netflix Container Scheduling and Execution - QCon New York 2016
Netflix Container Scheduling and Execution - QCon New York 2016Netflix Container Scheduling and Execution - QCon New York 2016
Netflix Container Scheduling and Execution - QCon New York 2016
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2
 
Netflix Container Runtime - Titus - for Container Camp 2016
Netflix Container Runtime - Titus - for Container Camp 2016Netflix Container Runtime - Titus - for Container Camp 2016
Netflix Container Runtime - Titus - for Container Camp 2016
 
Netflix Open Source Meetup Season 3 Episode 2
Netflix Open Source Meetup Season 3 Episode 2Netflix Open Source Meetup Season 3 Episode 2
Netflix Open Source Meetup Season 3 Episode 2
 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Source
 
Netflix Cloud Platform and Open Source
Netflix Cloud Platform and Open SourceNetflix Cloud Platform and Open Source
Netflix Cloud Platform and Open Source
 
NetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker TalkNetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker Talk
 
Ibm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinalIbm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinal
 
Docker Demo IBM Impact 2014
Docker Demo IBM Impact 2014Docker Demo IBM Impact 2014
Docker Demo IBM Impact 2014
 
Netflix s2e1lightningtalk
Netflix s2e1lightningtalkNetflix s2e1lightningtalk
Netflix s2e1lightningtalk
 
Going Cloud Native with IBM Cloud and NetflixOSS for Dev@Pulse
Going Cloud Native with IBM Cloud and NetflixOSS for Dev@PulseGoing Cloud Native with IBM Cloud and NetflixOSS for Dev@Pulse
Going Cloud Native with IBM Cloud and NetflixOSS for Dev@Pulse
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Netflix Open Source: Building a Distributed and Automated Open Source Program

  • 1. Netflix Open Source Andrew Spyker (@aspyker) - Engineering Manager Building a distributed and automated open source program
  • 2. About Netflix ● 86.7M members ● A few thousand employees ● 190+ countries ● > ⅓ NA internet download traffic ● 500+ Microservices ● Many 10’s of thousands VM’s ● 3 regions across the world
  • 3.
  • 4. Trivia Netflix been open sourcing, since? a) Around the start of streaming service - 2007 b) Around when we went international - 2010 c) Around House of Cards release time - 2013
  • 6. Why does Netflix Open Source? Improve Engineering ● Great feedback from wider community ● Collaborate through open code Recruit new and retain engineering talent ● Hard problems are openly worked on
  • 7. Industry Alignment Why does Netflix Open Source? Netflix moves to cloud 2008 2013 2016
  • 9. Open Source Functional Areas ● Contribute to Hadoop, Hive, Pig, Parquet, Presto, Spark ● Genie - RESTful API’s for Big Data Jobs ● Lipstick - Graphical depiction of executing Pig jobs ● Aegisthus - Data pipeline from Cassandra to Big Data
  • 10. Open Source Functional Areas ● Nebula - Plugins for gradle to simplify builds ● Animator - Bakes AMI’s from OS installation packages ● Spinnaker - New continuous delivery platform
  • 11. Open Source Functional Areas ● Eureka, Ribbon, Hystrix - Cloud native, resilient IPC ● Karyon, Prana, Archius - Microservice App Frameworks ● Fenzo - Mesos advanced scheduling library
  • 12. Open Source Functional Areas ● Photon - Java Interoperable File Format implementation ● VMAF - Perceptual quality metric algorithm and test toolkit
  • 13. Open Source Functional Areas ● Raigad/Priam - Management/ops sidecars for ES and C* ● EVCache - Distributed, replicated memcache++ ● Dynomite - Dynamo layer on top of non-dynamo data stores
  • 14. Open Source Functional Areas ● Spectator/Atlas - Monitoring and Telemetry client and server ● Vector - Fine grained per instance performance monitoring ● Vizceral - Worldwide traffic to microservice graph visualization
  • 15. Open Source Functional Areas ● Security Monkey - Automated cloud security monitoring ● Scumblr/Sketchy - Internet intelligence gathering ● FIDO - Security event orchestration (analysis/response) ● Lemur - Simplified x.509 cert management ● Sleepy Puppy - Delayed cross site scripting framework
  • 16. Open Source Functional Areas ● Work across front end technologies including Restify ● Falcor - Virtual JSON graph & optimized query to backends ● RxJS - Simplify Javascript async event based programming
  • 17. Netflix’s approach to open source Form a small cross-functional team working group that centralizes OSS competence, assisting decentralized teams working with OSS spend less time focusing on the administrative aspects (legal, tooling, branding, monitoring, and community promotion).
  • 18. Open source enabler - OSS Interest Group ● Internal mailing list ● Meets once per month ● Topics from developers ● Help each other with common problems
  • 19. Trivia How many OSS projects does Netflix have? a) 59 b) 102 c) 176
  • 20. Answer 176 Netflix (119) Spinnaker (17) nebula-plugins (40)
  • 21. Open Source Shepherds ● Management with business context ● Consistency across related projects ● Document how area fits together ● Focus on OSS health of each area
  • 22. Common tools accelerate developers ● Security ● Backup ● Github user/group repo management ● Project tracking ● Build systems ● CI systems
  • 23. Security tools ● We scan code for ○ Access keys, credentials, email addresses, hostnames ● Provide tools and automation to ○ Scan before initial release ○ Scan repeatedly on github
  • 24. Source code management ● Backup and archival ○ Github down != Netflix down ● Internal mirrors we could build from
  • 25. Project Ownership All projects have ● Development lead, Management lead ● Shepherd from OSS function area Only projects with active leads stay active!
  • 26. Github management ● Has to be easy ○ Otherwise, teams will go it alone ● Has to be automated ○ Self service - chat ops ○ Following secure best practices
  • 27. Github user management Support bring github id ● User links to internal id ● All tools then can associate identity Two Factor Auth Enforcement ● Automation to boot users who don’t ● Be careful - education on recovery!
  • 28. Github group management ● Owners ○ Limited group - due to power ○ Automate via chatops all owner actions ● Netflixer group ○ Full write permissions on all repos ● Outside contributors ○ Added by netflixers, validated over time
  • 30. Overall Org Health Tracking Metrics we track ● Issues ○ open, closed, TTC ● Pull Requests ○ open, closed, TTC ● Last commit timing ● Stars/forks ● Num contributors
  • 32. ● Repeatable builds ● deb/rpm files for OS package baking ● Reduces boilerplate for common best practices ● Standards for release/version mgmt Common Build For Gradle/Java nebula-plugins.github.io
  • 33. Common CI Systems ● Travis CI ○ Populate .travis.yml and sh files ○ Standard targets for snapshots, candidates, and releases ○ Binary upload credentials handled ○ Consistency across projects ● Cloudbees ○ Job-dsl to create release jobs
  • 34. Using Docker to make projects easier ● A running image is worth a thousand wiki documents ● Started with ZeroToDocker ○ Monolithic solution ○ Leveraged Dockerhub trusted builds
  • 35. Introducing TravisCI Docker builds Function Dockerhub trusted builds TravisCI Docker support Github commit traceable builds ✔ ✔ Trusted build servers ✔ ✔ Full build control (labels, etc.) ✖ ✔ Easy to integrate with artifact releases ✖ ✔ ● Experimenting: OSSTracker & Genie ● Docker compose used across images
  • 36. TODO Group ● Joined 2015 ● Collaborate on how to better collaborate ● Leverage TODO group’s work ○ Github focus ○ Automation innovations ● Good group for helping OSS companies
  • 37. Trivia Which of the following does Hystrix lead in? a) Most PR’s closed d) Most Forks b) Most Issues closed e) Most contributors c) Most Stars
  • 39. Recent NetflixOSS Releases CI at Netflix scale Multi-region deployment control Advanced CI/CD pipelines
  • 40. Recent NetflixOSS Releases Chaos Monkey 2.0 ● Integrated with Spinnaker ● Termination scheduling better ● Termination event tracking Photon ● Java IMF implementation ● Parsing, Interpretation, Validation
  • 41. Recent NetflixOSS Releases Vizceral ● React and Web Component ● Graph data to visualize traffic Dynomite ● Dynamo layer on top of data stores ● Redis and memcache ● Manager (config, multi-region, backup)
  • 42. Questions? Andrew Spyker (@aspyker) - Engineering Manager