SlideShare a Scribd company logo
1 of 37
Winston: Helping Netflix Engineers Sleep at Night
Our journey… assisting engineers reduce operational load and MTTR
InfoQ.com: News & Community Site
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
netflix-winston
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
On-Call !
Sayli Karmarkar
Senior Software Engineer
Diagnostics and Remediation Engineering (DaRE)
skarmarkar@netflix.com
@HikerTechy
https://www.linkedin.com/in/saylikarmarkar
DaRE Team’s Focus
Build platforms, tools and libraries
to help teams reduce MTTR for operational issues.
Engineer
Wakes up
PagerDuty
Alert
2:02 AM
Logs in
and ACK
2:07 AM
Checks
runbook
2:15 AM
Studies
the alert
2:10 AM
Fixes/Mitigates
the
problem
2:30 AM
Runs
diagnostics
2:20 AM2:00 AM
Traditional On-Call Timeline
Works, but does it scale?!
Scale and Growth Availability
MTTR
Productivity
Traditional On-Call Pain Points
Solution?
Automate
● Removing False Positives
● Collecting Diagnostic Information
● Mitigating the problem to reduce impact on
the customers
Hands-free
Feed the runbooks to an event-driven
automation platform and have them executed in
response to operational events
Unique Problem? Not really ..
Define
● Business Goals
● Use-cases
● Customers
● Constraints
● Interactions with other services
Winston’s Goals
● Assist engineers in reducing MTTR and pager fatigue by
providing a platform to automate their runbooks
● Provide an easy way to connect automated runbooks to an
event
● Let engineers focus on the business logic of runbooks rather
than infrastructure aka PaaS.
● Provide appropriate wrappers and libraries to interact with other
services
● Ensure best practices for automations and runbook lifecycle
management
What is Winston?
Winston is an event driven runbook automation
platform. It is designed to host and execute runbooks in
response to operational events.
Engineer
Wakes up
Logs in
and ACK
Checks
runbook
Studies
the alert
Fixes the
problem
Runs
diagnostics
PagerDuty
Alert
2:02 AM 2:07 AM 2:15 AM2:10 AM 2:30 AM2:20 AM2:00 AM
Traditional On-Call Timeline
False
Positive
Winston
2:00 AM
2:05 AM
2:05 AM
2:15 AM
Assisted
Diagnostics
Mitigates the
problem
On-Call With Winston
Evaluation - Build / Reuse / Buy
Stackstorm
+
● A generic pluggable Event-Driven Automation Platform
● Designed with availability and reliability in mind
● Open source + Code following good design practices
● Good alignment with respect to goals and future direction
-
● High availability and reliability not exercised a lot
● Dependency on MongoDB and RabbitMQ
● No easy way of adding and updating automation
+
Inbound Integrations
(through SQS)
+
Outbound Integrations
Bolt ...
As a Service (High Availability and Reliability )
Good Starting Point ..
Iterate and Evaluate Regularly
A closer look at a Winston Instance
V1.0 Winston HA Deployment
Challenges
● Added cognitive load resulting in less adoption
● How to help engineers choose operational
efficiency over new features?
● Recommended and safe automation and lifecycle
management practices are often not followed
● Simple use-cases are not trivial to on-board
● One stop portal for all things Winston
● Supports Create, Read, Update, Delete, Execute and Diagnose
functionality
● Implements best practises
○ Compliance/Auditing
○ Persistence
○ Security (Authentication/Authorization)
● Self serve & scalable
Winston Studio
Winston Studio
Runbook
View
Executions
Execution
Details
Current Winston Deployment
Use-case Patterns
Sample Use-cases
False Positives
● Broker reporting offline when AWS maintenance takes
down an instance
● Cassandra ring health
Diagnostics - Correlation could point towards the root cause
● Checking current maintenance jobs running on a cluster
when an issue occurs
● Querying dependencies upstream and downstream for
anomalous behavior
● Capture current system state and logs to analyze
failures and reach the root cause quicker
Mitigation
● Restart kafka process
● Clean up disk space
The Road Ahead
● Adoption / Usability
○ Find common operational use-cases and allow them to be re-used
○ Improve discoverability of Winston by integrating into existing alerting
systems
○ Polyglot support (Groovy based runbooks)
● Safety
○ Resource isolation using containers
○ Rate limiting capability
● Stronger analytics
○ Provide aggregate visualization of runbook executions
Key Takeaways
● Don’t re-invent the wheel
● Start simple and iterate. Have some room for experimentation.
● Start with use-cases where there is more pain and less control
over the source of the problem
● Pay special attention to usability of your product
● Push for changing the culture -- Usage will follow
● Find sponsors for features that are much more involved
● Implement best practices through carefully designed user interface
instead of documentation.
● Discourage anti-patterns that focus on long term mitigation rather
than fixing the root-cause
● Talk to us and others to share insights and learnings
Resources
● Winston Tech Blog link
http://techblog.netflix.com/2016/08/introducing-winston-event-driven.html
● Stackstorm documentation
https://docs.stackstorm.com/
● Reach out
skarmarkar@netflix.com
@HikerTechy
We are hiring
Senior Software Engineer - https://jobs.netflix.com/jobs/860752
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
netflix-winston

More Related Content

More from C4Media

More from C4Media (20)

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven Utopia
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL Database
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with Brooklin
 

Recently uploaded

+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@
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
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?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
+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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Winston: Helping Netflix Engineers Sleep at Night

  • 1. Winston: Helping Netflix Engineers Sleep at Night Our journey… assisting engineers reduce operational load and MTTR
  • 2. InfoQ.com: News & Community Site • Over 1,000,000 software developers, architects and CTOs read the site world- wide every month • 250,000 senior developers subscribe to our weekly newsletter • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • 2 dedicated podcast channels: The InfoQ Podcast, with a focus on Architecture and The Engineering Culture Podcast, with a focus on building • 96 deep dives on innovative topics packed as downloadable emags and minibooks • Over 40 new content items per week Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ netflix-winston
  • 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon San Francisco www.qconsf.com
  • 5. Sayli Karmarkar Senior Software Engineer Diagnostics and Remediation Engineering (DaRE) skarmarkar@netflix.com @HikerTechy https://www.linkedin.com/in/saylikarmarkar DaRE Team’s Focus Build platforms, tools and libraries to help teams reduce MTTR for operational issues.
  • 6. Engineer Wakes up PagerDuty Alert 2:02 AM Logs in and ACK 2:07 AM Checks runbook 2:15 AM Studies the alert 2:10 AM Fixes/Mitigates the problem 2:30 AM Runs diagnostics 2:20 AM2:00 AM Traditional On-Call Timeline
  • 7. Works, but does it scale?! Scale and Growth Availability
  • 8.
  • 10. Solution? Automate ● Removing False Positives ● Collecting Diagnostic Information ● Mitigating the problem to reduce impact on the customers Hands-free Feed the runbooks to an event-driven automation platform and have them executed in response to operational events
  • 11. Unique Problem? Not really ..
  • 12. Define ● Business Goals ● Use-cases ● Customers ● Constraints ● Interactions with other services
  • 13. Winston’s Goals ● Assist engineers in reducing MTTR and pager fatigue by providing a platform to automate their runbooks ● Provide an easy way to connect automated runbooks to an event ● Let engineers focus on the business logic of runbooks rather than infrastructure aka PaaS. ● Provide appropriate wrappers and libraries to interact with other services ● Ensure best practices for automations and runbook lifecycle management
  • 14. What is Winston? Winston is an event driven runbook automation platform. It is designed to host and execute runbooks in response to operational events.
  • 15. Engineer Wakes up Logs in and ACK Checks runbook Studies the alert Fixes the problem Runs diagnostics PagerDuty Alert 2:02 AM 2:07 AM 2:15 AM2:10 AM 2:30 AM2:20 AM2:00 AM Traditional On-Call Timeline
  • 16. False Positive Winston 2:00 AM 2:05 AM 2:05 AM 2:15 AM Assisted Diagnostics Mitigates the problem On-Call With Winston
  • 17. Evaluation - Build / Reuse / Buy
  • 18. Stackstorm + ● A generic pluggable Event-Driven Automation Platform ● Designed with availability and reliability in mind ● Open source + Code following good design practices ● Good alignment with respect to goals and future direction - ● High availability and reliability not exercised a lot ● Dependency on MongoDB and RabbitMQ ● No easy way of adding and updating automation
  • 19. + Inbound Integrations (through SQS) + Outbound Integrations Bolt ... As a Service (High Availability and Reliability ) Good Starting Point .. Iterate and Evaluate Regularly
  • 20. A closer look at a Winston Instance
  • 21. V1.0 Winston HA Deployment
  • 22. Challenges ● Added cognitive load resulting in less adoption ● How to help engineers choose operational efficiency over new features? ● Recommended and safe automation and lifecycle management practices are often not followed ● Simple use-cases are not trivial to on-board
  • 23. ● One stop portal for all things Winston ● Supports Create, Read, Update, Delete, Execute and Diagnose functionality ● Implements best practises ○ Compliance/Auditing ○ Persistence ○ Security (Authentication/Authorization) ● Self serve & scalable Winston Studio
  • 30. Sample Use-cases False Positives ● Broker reporting offline when AWS maintenance takes down an instance ● Cassandra ring health Diagnostics - Correlation could point towards the root cause ● Checking current maintenance jobs running on a cluster when an issue occurs ● Querying dependencies upstream and downstream for anomalous behavior ● Capture current system state and logs to analyze failures and reach the root cause quicker Mitigation ● Restart kafka process ● Clean up disk space
  • 31.
  • 32.
  • 33.
  • 34. The Road Ahead ● Adoption / Usability ○ Find common operational use-cases and allow them to be re-used ○ Improve discoverability of Winston by integrating into existing alerting systems ○ Polyglot support (Groovy based runbooks) ● Safety ○ Resource isolation using containers ○ Rate limiting capability ● Stronger analytics ○ Provide aggregate visualization of runbook executions
  • 35. Key Takeaways ● Don’t re-invent the wheel ● Start simple and iterate. Have some room for experimentation. ● Start with use-cases where there is more pain and less control over the source of the problem ● Pay special attention to usability of your product ● Push for changing the culture -- Usage will follow ● Find sponsors for features that are much more involved ● Implement best practices through carefully designed user interface instead of documentation. ● Discourage anti-patterns that focus on long term mitigation rather than fixing the root-cause ● Talk to us and others to share insights and learnings
  • 36. Resources ● Winston Tech Blog link http://techblog.netflix.com/2016/08/introducing-winston-event-driven.html ● Stackstorm documentation https://docs.stackstorm.com/ ● Reach out skarmarkar@netflix.com @HikerTechy We are hiring Senior Software Engineer - https://jobs.netflix.com/jobs/860752
  • 37. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ netflix-winston