Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

How Netflix Directs 1/3rd of Internet Traffic

135.312 visualizaciones

Publicado el

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1QqReFD.

Haley Tucker and Mohit Vora discuss the architecture at Netflix that makes streaming happen, while highlighting interesting lessons and design patterns that can be widely applied. Filmed at qconsf.com.

Haley Tucker works on the Playback Features team at Netflix, responsible for ensuring that customers receive the best viewing experience. Mohit Vora manages the Open Connect Control Plane team at Netflix.

Publicado en: Tecnología, Internet
  • HOW TO UNLOCK HER LEGS! (SNEAK PEAK), learn more... ●●● http://scamcb.com/unlockher/pdf
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • The Surprising Reason 11:11 Keeps Popping-Up: Free report reveals the Universe's secret "Sign Posts" that point the way to success, wealth and happiness. Claim your copy right now! ■■■ http://ishbv.com/manifmagic/pdf
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Download Movie copy and paste Link▬►►► https://t.co/0Q7a9OBTfE
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Download Movie copy and paste Link▬►►► https://t.co/0Q7a9OBTfE
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Dating for everyone is here: www.bit.ly/2AJerkH
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

How Netflix Directs 1/3rd of Internet Traffic

  1. How Netflix directs 1/3rd of Haley Tucker Mohit Vora QCon San Francisco Nov 16, 2015
  2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /netflix-streaming-arch
  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
  4. Playback Overview
  5. DATA PLANE (CDN) CONTROL PLANE STREAM NETFLIX DEVICE
  6. Project 366 #59; 280212 Days Gone By..., CC BY-SA, Pete 2012, Flickr
  7. AUDIOVIDEO TEXT STREAMS
  8. How do we build a streaming “tape”?
  9. Determine the preferred experience DEVICETITLE CONNECTIONS COUNTRY NETWORK Broadband - wired or wifi Cellular - Edge, 3G, LTE, ... CUSTOMER
  10. That’s exactly what I want ...now where can I get it?
  11. Point the device to appropriate locations Steering
  12. GENERATE PLAYBACK MANIFEST PLAYBACK MANIFEST PLAYBACK MANIFEST
  13. Uh-oh, the content is encrypted! Keymaster, CC BY-SA, Sean McGrath 2007, Flickr
  14. LICENSE LICENSE
  15. And...Action!
  16. SESSION (START, STOP, PAUSE, RESUME, KEEPALIVE) SESSION EVENTS
  17. LICENSE PLAYBACK MANIFEST GENERATE PLAYBACK MANIFEST SESSION (START, STOP, PAUSE, RESUME, KEEPALIVE) PLAYBACK LIFECYCLE
  18. Data Plane (CDN)
  19. What is a Content Delivery Network?
  20. Open Connect A NETFLIX ORIGINAL
  21. CONTENT RANK BYTES STREAMED PREDICTABLE VIEWING PATTERNS
  22. FILLING WHEN YOU SLEEP Dreaming…,CCBY-SA,EleniBoulsaiki2009,Flickr
  23. FILLING WHEN YOU SLEEP Open Connect A NETFLIX ORIGINAL READ XOR WRITE ONEWAY,CCBY-SA,KennyLouie2010,Flickr
  24. Content Delivery Mechanisms
  25. DATA PLANE (CDN) CONTROL PLANE STREAM NETFLIX DEVICE
  26. STREAM ISP DATA CENTER ISP ROUTER NETFLIX DEVICE
  27. STREAM ISP DATA CENTER ISP ROUTER NETFLIX DEVICE ISP CO-LOCATION
  28. STREAM ISP DATA CENTER ISP ROUTER NETFLIX DEVICE
  29. STREAM ISP DATA CENTER NETFLIX DEVICE IXP DATA CENTER NFLX ROUTER ISP ROUTER ISP ROUTER NETFLIX
  30. STREAM ISP DATA CENTER NETFLIX DEVICE IXP DATA CENTER NFLX ROUTER ISP ROUTER ISP ROUTER NETFLIX
  31. STREAM ISP DATA CENTER NETFLIX DEVICE IXP DATA CENTER NFLX ROUTER ISP ROUTER ISP ROUTER IXP INTERCONNECTION NETFLIX
  32. Control Plane
  33. OPEN CONNECTSTREAM NETFLIX DEVICE CDN CONTROL PLANE DEVICE CONTROL PLANE DON’T KEEP SECRETS Network Proximity Content Positioning Load Distribution
  34. Network Proximity Social Network in a Course, CC BY-SA, Hans Põldoja 2010, Flickr
  35. By Specification?
  36. By Specification? Doesn’t scale
  37. Border Gateway Protocol TAKEAWAY BGP ROUTE 175.231.128.0/24 (+ proximity attributes) Use BGP
  38. ISP2 DATA CENTER ISP2 BGP ROUTES CONTROL PLANE IXP DATA CENTER ISP1 BGP ROUTES ISP1 DATA CENTER ISP1 NFLX BGP ROUTE 175.231.128.0/24 (+ proximity attributes)
  39. Content Positioning
  40. LOCALIZE TRAFFIC ISP DATA CENTER SERVE CACHE MISS
  41. HOW DO WE DETERMINE WHAT CONTENT WILL BE POPULAR TOMORROW?
  42. CHANGING CATALOG
  43. EVOLVING MEMBER TASTES
  44. MINIMIZE FILL CHURN ISP DATA CENTER OFF PEAK FILL
  45. USE HISTORICAL DATA CONTENT RANKBYTES STREAMED bytesStreamed/bytesStored
  46. IS ONE DAY OF HISTORY ENOUGH?
  47. EXPONENTIALLY WEIGHTED MOVING AVERAGE WEIGHT DAYS AGO 0 10 20 30 40 … = 0.9 TAKEAWAY Weigh Recent Data Higher
  48. HOW SHOULD CONTENT BE ALLOCATED?
  49. MILLIONS OF FILES THOUSANDS OF SERVERS HOW SHOULD CONTENT BE ALLOCATED?
  50. SVR4 SVR2 SVR1 SVR3 FILE1 FILE3 FILE1 TAKEAWAY ALLOCATE MULTIPLE REPLICAS RESILIENT TO CLUSTER CHANGES REPEATABLE Consistent Hashing
  51. ISP2 DATA CENTER WHAT TO FILL? CONTROL PLANE IXP DATA CENTER WHERE TO FILL FROM? ISP1 DATA CENTER S3 FILL OVER HTTP
  52. Load Distribution
  53. CONTENT RANKBYTES STREAMED LOTS OF THROUGHPUT LOTS OF STORAGE CONTENT WITH CONFLICTING CONSTRAINTS
  54. SSD BASED SPINNING DISK BASED WITHIN CLUSTERS ON EACH SERVER MEMORY CONTENT RANK BYTES STREAMED SSD SPINNING DISK TAKEAWAY Tier Infrastructure
  55. ACROSS SERVERS WITHIN CLUSTERS BALANCE BALANCE ACROSS EQUIDISTANT CLUSTERS HOW DO WE BALANCE LOAD?
  56. OPEN CONNECTNETFLIX DEVICE CDN CONTROL PLANE DEVICE CONTROL PLANE LOAD BALANCER STREAM
  57. USING CONTENT DISTRIBUTION HOW DO WE BALANCE LOAD?
  58. FLIP A COIN AND WHEN WE HAVE EQUALLY ATTRACTIVE LOCATIONS TO SERVE FROM –
  59. INCIDENT LOAD SYSTEM METRICS MAX INSANESANE HOW DO WE LOAD SERVERS OPTIMALLY?
  60. … AMIDST EVER CHANGING INTERNET WEATHER
  61. TRAFFIC t … AND DAILY TRAFFIC EBBS AND FLOWS
  62. + SERVE STREAMS FEEDBACK - TRAFFIC EFFECT ON SYSTEM METRICS CONTROL WE INTRODUCE A FEEDBACK LOOP
  63. TAKEAWAY PID CONTROLLER
  64. TAKEAWAY PID CONTROLLER Process Variable Set Point Control Variable Current RPM Desired RPM Input Voltage System Metrics System Metrics Max Controlled Traffic DC MOTOR
  65. TAKEAWAY PID CONTROLLER Process Variable Set Point Control Variable System Metrics System Metrics Max Controlled Traffic Current RPM Desired RPM Input Voltage LOADING SERVERS
  66. ISP2 DATA CENTER CONTROL TO 80% CONTROL PLANE IXP DATA CENTER NO CONTROL ISP1 DATA CENTER 0.0 < CONTROL VAR < 1.0
  67. TRAFFIC t NEXT HOP TRAFFIC SHIFTS TO NEXT HOP LOCATION
  68. Steering
  69. STREAM NETFLIX DEVICE CDN CONTROL PLANE PLAYBACK SERVICES STEERING Got URLs for f1, f2, …, fn? Yes, here’s the URLs PROXIMITY HEALTH CONTENT CASS KAFKA OPEN CONNECT
  70. Architecture Evolution 5 CHALLENGES
  71. API STEERING SESSION MANIFEST DRM LICENSE How did we evolve from here...
  72. API STEERING SESSION MANIFEST DRM LICENSE CLIENT SCRIPTS SERVICE LAYER RULES INSIGHTS ...to here. 5 SOLUTIONS CACHE
  73. DEVICE CUSTOMER TITLE NETWORK Broadband - wired or wifi Cellular - Edge, 3G, LTE, ... CONNECTIONS COUNTRY High dimensionalityCHALLENGE
  74. How can we quickly alter the playback experience in a targeted manner?
  75. ALL STREAMS FOR CONTENT ENGINE RULES BEST STREAMS FOR SESSION Stream FilteringUSE CASE
  76. EXAMPLE RULES
  77. ENGINE CONFIGURATION MANAGEMENT UI UPDATING RULES TOPIC PUBLISH RULES SUBSCRIBE
  78. Dynamic Business Rules API STEERING SESSION MANIFEST DRMLICENSE RULES TAKEAWAY
  79. Pinpoint what is brokenCHALLENGE Haystacks,CCBY-SA,JohnPavelka2008,Flickr
  80. 3:00 AM : Pager goes off
  81. METRICS AND ALERTING
  82. OK...error code 105 is elevated. But why?
  83. Indexed Logging
  84. Detailed Domain Insights API STEERING SESSION MANIFEST DRMLICENSE RULES INSIGHTS TAKEAWAY
  85. Large amount of stateCHALLENGE
  86. How can we enable faster UIs and low-end devices?
  87. We introduced a server-side caching tier MANIFESTSCUSTOMERA CUSTOMERA CUSTOMERB
  88. Watch out for resiliency issues!! Ping Pong project, CC BY-SA, Michael Knowles 2008, Flickr
  89. API STEERING SESSION MANIFEST DRMLICENSE RULES INSIGHTS Reduce client stateTAKEAWAY CACHE
  90. Managing device protocolsCHALLENGE Square peg, round hole, CC BY-SA, Simon Law 2006, Flickr
  91. Can we allow devices to define their own protocols?
  92. DYNAMIC SCRIPTING PLATFORM SESSION LICENSE MANIFEST XBOX iPHONE HTML5 PLAYER iphone.groovy JAVASERVICE LAYER xbox.groovy html5.groovy API
  93. STEERING SESSION MANIFEST DRMLICENSE RULES INSIGHTS Client-driven protocols API CLIENT SCRIPTS SERVICE LAYER TAKEAWAY CACHE
  94. Enabling high-velocity innovationCHALLENGE CC BY-SA, Nathan E Photography 2008, Flickr
  95. How can we expose new data with the least amount of churn?
  96. API MANIFEST Stream ● Bitrate ● Framerate ● Dynamic Data Stream’ ● Bitrate ● Dynamic Data This works from API: ● stream.getBitrate() ● stream.getDynamicData().get(“FRAME_RATE”) Works both ways!
  97. This works from CLIENT SCRIPT! ● stream.getDynamicData().get(“BIT_RATE”) ● stream.getDynamicData().get(“FRAME_RATE”) CLIENT SCRIPT Stream’’ ● Dynamic Data Works both ways! API MANIFEST Stream ● Bitrate ● Framerate ● Dynamic Data Stream’ ● Bitrate ● Dynamic Data Works both ways!
  98. API CLIENT SCRIPTS SERVICE LAYER STEERING SESSION MANIFEST DRM LICENSE RULES INSIGHTS Data pass-thruTAKEAWAY CACHE
  99. TAKEAWAYS ● BGP based proximity ● Tiered Infrastructure ● PID Controller ● EWMA for historical data ● Consistent Hashing ● Dynamic business rules ● Detailed domain insights ● Reduce client state ● Client-driven protocols ● Data pass-thru
  100. TAKEAWAYS ● BGP based proximity ● Tiered Infrastructure ● PID Controller ● EWMA for historical data ● Consistent Hashing ● Dynamic business rules ● Detailed domain insights ● Reduce client state ● Client-driven protocols ● Data pass-thru Questions? Haley Tucker @hwilson1204 Mohit Vora @mohitvora
  101. STREAM NETFLIX DEVICE NETFLIX DEVICE STREAM SPINNING DISK SERVERS SSD SERVERS WHAT TO FILL? WHERE TO FILL FROM? API CLIENT SCRIPTS SERVICE LAYER CACHE CONTROL DON’T KEEP SECRETS STEERING SESSION MANIFEST DRMLICENSE RULES CACHE INSIGHTS IXP DATA CENTER ISP1 ISP2 ISP2 BGP ROUTES ISP1 BGP ROUTES CONTROL TO 80%
  102. ● Background image from https://www.flickr.com/photos/centralasian/4099515384, Image was cropped and red lines and dots were drawn on top, https://creativecommons.org/licenses/by/2.0/. ● Image from https://www.flickr.com/photos/28705377@N04/4142872268, No modifications made, https://creativecommons.org/licenses/by/2.0/. ● Image of cassette is from https://www.flickr.com/photos/comedynose/6939206771, Image was cropped, https://creativecommons.org/licenses/by/2.0/. ● Image of speaker is from https://www.flickr.com/photos/av_hire_london/5578975575, No changes made, https://creativecommons.org/licenses/by/2.0/. ● Image of television is from https://www.flickr.com/photos/jvcamerica/3660897684/, No changes made, https://creativecommons.org/licenses/by/2.0/. ● Image of text is from https://www.flickr.com/photos/dno1967b/5754743006, No changes made, https://creativecommons.org/licenses/by/2.0/. ● Background image from https://www.flickr.com/photos/mcgraths/866572532, Image was cropped, https://creativecommons.org/licenses/by/2.0/. ● Image from https://www.flickr.com/photos/thatguyfromcchs08/2300190277, Image is dimmed, https://creativecommons.org/licenses/by/2.0/. ● Image from https://www.flickr.com/photos/mknowles/3134373590, Image was cropped, https: //creativecommons.org/licenses/by-sa/2.0/. Image Attributions
  103. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/netflix- streaming-arch

×