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.

Scaling the Netflix API

20.648 visualizaciones

Publicado el

The term "scale" for engineering often is used to discuss systems and their ability to grow with the needs of its users. This is clearly an important aspect of scaling, but there are many other areas in which an engineering organization needs to scale to be successful in the long term. This presentation discusses some of those other areas and details how Netflix (and specifically the API team) addresses them.

Publicado en: Tecnología
  • DOWNLOAD FULL eBOOK INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookeBOOK Crime, eeBOOK Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

Scaling the Netflix API

  1. Scaling theNetflix APIDaniel Jacobson@daniel_jacobsonhttp://www.linkedin.com/in/danieljacobsonhttp://www.slideshare.net/danieljacobson
  2. Please read the notesassociated with each slide forthe full context of thepresentation
  3. What do I mean by “scale”?
  4. Netflix API : Requests Per Month-5101520253035RequestsinBillions
  5. Netflix API : Requests Per Month-5101520253035RequestsinBillions
  6. But There Are Many Ways to Scale!OrganizationSystemsDevicesDevelopmentTesting
  7. Scaling…OrganizationSystemsDevicesDevelopmentTesting
  8. Streaming
  9. More than 36 Million SubscribersMore than 40 Countries
  10. Netflix Accounts for ~33% of PeakInternet Traffic in North AmericaNetflix subscribers are watching more than 1 billion hours a month
  11. In other words,pretty big scale…
  12. Organization Structure
  13. Distributed Architecture
  14. 1000+ Device Types
  15. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesReviewsA/B TestEngineDozens of Dependencies
  16. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngine
  17. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngine
  18. http://www.slideshare.net/reed2001/culture-1798664
  19. Scaling…OrganizationSystemsDevicesDevelopmentTesting
  20. Scaling the System
  21. Growth of Netflix API Requests0.620.741.7-51015202530354045Jan-10 Jan-11 Jan-12RequestinBillions70x growth in two years!
  22. Growth of Netflix API Requests2+ billion requests per dayExploding out to 14 billion dependency calls per day
  23. AWS Cloud
  24. Autoscaling
  25. Autoscaling
  26. System Resiliency
  27. Dependency Relationships
  28. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngine
  29. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngine
  30. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngine
  31. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngine
  32. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngine
  33. Circuit Breaker Dashboard
  34. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngine
  35. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngine
  36. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngine
  37. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngineFallback
  38. PersonalizationEngineUser InfoMovieMetadataMovieRatingsSimilarMoviesAPIReviewsA/B TestEngineFallback
  39. Forced Failure
  40. Global System
  41. More than 36 Million SubscribersMore than 40 Countries
  42. ZuulGatekeeper for the Netflix Streaming Application
  43. Zuul• Multi-RegionResiliency• Insights• Stress Testing• Canary Testing• Dynamic Routing• Load Shedding• Security• Static ResponseHandling• Authentication
  44. Isthmus
  45. Scaling…OrganizationSystemsDevicesDevelopmentTesting
  46. Screen Real Estate
  47. Controller
  48. Technical Capabilities
  49. One-Size-Fits-AllAPIRequestRequestRequest
  50. Scaling…OrganizationSystemsDevicesDevelopmentTesting
  51. Courtesy of South Florida Classical Review
  52. Resource-Based APIvs.Experience-Based API
  53. Resource-Based Requests• /users/<id>/ratings/title• /users/<id>/queues• /users/<id>/queues/instant• /users/<id>/recommendations• /catalog/titles/movie• /catalog/titles/series• /catalog/people
  54. REST APIRECOMMENDATIONSMOVIEDATASIMILARMOVIESAUTHMEMBERDATAA/BTESTSSTART-UPRATINGSNetwork Border Network Border
  55. RECOMMENDATIONSMOVIEDATASIMILARMOVIESAUTHMEMBERDATAA/BTESTSSTART-UPRATINGSOSFA APINetwork Border Network BorderSERVER CODECLIENT CODE
  56. RECOMMENDATIONSMOVIEDATASIMILARMOVIESAUTHMEMBERDATAA/BTESTSSTART-UPRATINGSOSFA APINetwork Border Network BorderDATA GATHERING,FORMATTING,AND DELIVERYUSER INTERFACERENDERING
  57. Experience-Based Requests• /ps3/homescreen
  58. JAVA APINetwork Border Network BorderRECOMMENDATIONSMOVIEDATASIMILARMOVIESAUTHMEMBERDATAA/BTESTSSTART-UPRATINGSGroovy Layer
  59. RECOMMENDATIONSAZXSXX CCCCMOVIEDATASIMILARMOVIESAUTHMEMBERDATAA/BTESTSSTART-UPRATINGSJAVA APISERVER CODECLIENT CODECLIENT ADAPTER CODE(WRITTEN BY CLIENT TEAMS, DYNAMICALLY UPLOADED TO SERVER)Network Border Network Border
  60. RECOMMENDATIONSAZXSXX CCCCMOVIEDATASIMILARMOVIESAUTHMEMBERDATAA/BTESTSSTART-UPRATINGSJAVA APIDATA GATHERINGDATA FORMATTINGAND DELIVERYUSER INTERFACERENDERINGNetwork Border Network Border
  61. Scaling…OrganizationSystemsDevicesDevelopmentTesting
  62. Dependency RelationshipsAPI alone includes more than 500 client jars
  63. Testing Philosophy:Act Fast, React Fast
  64. That Doesn’t Mean We Don’t Test• Unit tests• Functional tests• Regression scripts• Continuous integration• Capacity planning• Load / Performance tests
  65. Cloud-Based Deployment Techniques
  66. Current CodeIn ProductionAPI Requests fromthe Internet
  67. Single Canary InstanceTo Test New Code with Production Traffic(around 1% or less of traffic)Current CodeIn ProductionAPI Requests fromthe InternetError!
  68. Current CodeIn ProductionAPI Requests fromthe Internet
  69. Current CodeIn ProductionAPI Requests fromthe InternetPerfect!
  70. Current CodeIn ProductionAPI Requests fromthe InternetNew CodeGetting Prepared for Production
  71. Error!Current CodeIn ProductionAPI Requests fromthe InternetNew CodeGetting Prepared for Production
  72. Current CodeIn ProductionAPI Requests fromthe InternetNew CodeGetting Prepared for Production
  73. Current CodeIn ProductionAPI Requests fromthe InternetPerfect!
  74. Current CodeIn ProductionAPI Requests fromthe InternetNew CodeGetting Prepared for Production
  75. Current CodeIn ProductionAPI Requests fromthe InternetNew CodeGetting Prepared for Production
  76. API Requests fromthe InternetNew CodeGetting Prepared for Production
  77. https://www.github.com/Netflix
  78. Scaling theNetflix APIDaniel Jacobson@daniel_jacobsonhttp://www.linkedin.com/in/danieljacobsonhttp://www.slideshare.net/danieljacobson

×