Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

History and Future of the Netflix API - Mashery Evolution of Distribution

9.103 Aufrufe

Veröffentlicht am

Presentation on the history and future of the Netflix API. This presentation walks through how the API was formed, why it needs a redesign and some of the principles that will be applied in the redesign effort.

This presentation was given at the Mashery Evolution of Distribution session in San Francisco on June 2, 2011.

Veröffentlicht in: Unterhaltung & Humor, Technologie
  • Als Erste(r) kommentieren

History and Future of the Netflix API - Mashery Evolution of Distribution

  1. 1. The Netflix API<br />How Netflix Launched an API and Evolved it to Serve Millions on Hundreds of Devices<br />By Daniel Jacobson<br />
  2. 2. Who Am I?<br />Director of Engineering for Netflix API since October 2010<br />Tenure at NPR from 1999 to 2010<br />Built the custom CMS in 2002<br />Extended system for RSS and Podcasting<br />Launched the NPR API in 2008<br />Launched NPR redesign in 2009<br />
  3. 3. Netflix Overview<br />Netflix offers subscriptions to unlimited streaming movies and TV shows for a very low price<br />About 700 operational employees, 300 engineers<br />More than 23 million subscribers in US and Canada<br />Market capitalization is about $12B<br />Responsible for about 30% of US bandwidth during peak hours (by some accounts)<br />
  4. 4. How Does the API Fit in at Netflix?<br />
  5. 5. Original Charter for the Netflix API<br />Expose Netflix metadata and services to the public developer community to “let 1,000 flowers bloom”. That community will build rich and exciting new tools and services to improve the value of Netflix to our customers.<br />
  6. 6. Netflix <br />API<br />There are currently over<br />18,000 flowers <br />
  7. 7.
  8. 8.
  9. 9.
  10. 10. Eat Your Own Dog Food<br />
  11. 11. New Target Audiences<br />Internal Engineering Teams<br />Netflix product owners<br />Netflix developers<br />Partner Relationships<br />External device manufacturers<br />Public Developer Community<br />1,000 flowers<br />
  12. 12. Netflix <br />API<br />
  13. 13. Some of the many <br />Netflix-ready <br />devices<br />
  14. 14.
  15. 15. Growth of Netflix API<br />
  16. 16. Netflix API Requests by Audience<br />
  17. 17. New Charter for the Netflix API<br />Build and maintain an infinitely scalable data distribution pipeline for getting metadata and services from internal Netflix systems to streaming client apps on all platforms in the format and/or delivery method that is most optimal for each app and platform.<br />
  18. 18. API<br />Personalization Engine<br />User Info<br />Movie Metadata<br />Movie Ratings<br />Similar Movies<br />Reviews<br />A/B Test Engine<br />
  19. 19. What is the future of the API?<br />
  20. 20. Growth of Netflix API<br />
  21. 21. Growth of the Netflix API<br />About 30 Billion requests per month<br />
  22. 22.
  23. 23.
  24. 24. <catalog_titles><br /> <number_of_results>1140</number_of_results><br /> <start_index>0</start_index><br /> <results_per_page>10</results_per_page><br /> <catalog_title><br /> <id>http://api.netflix.com/catalog/titles/movies/60021896</id><title short="Star" regular="Star"></title><br /> <box_art small="http://alien2.netflix.com/us/boxshots/tiny/60021896.jpg" <br /> medium="http://alien2.netflix.com/us/boxshots/small/60021896.jpg" <br /> large="http://alien2.netflix.com/us/boxshots/large/60021896.jpg"></box_art><br /> <link href="http://api.netflix.com/catalog/titles/movies/60021896/synopsis" <br />rel="http://schemas.netflix.com/catalog/titles/synopsis" title="synopsis"></link><br /> <release_year>2001</release_year><br /> <category scheme="http://api.netflix.com/catalog/titles/mpaa_ratings" label="NR"></category><br /> <category scheme="http://api.netflix.com/categories/genres" label="Foreign"></category><br /> <link href="http://api.netflix.com/catalog/titles/movies/60021896/cast" <br />rel="http://schemas.netflix.com/catalog/people.cast" title="cast"></link><br /><link href="http://api.netflix.com/catalog/titles/movies/60021896/screen_formats" rel="http://schemas.netflix.com/catalog/titles/screen_formats" title="screen formats"></link<br /> <link href="http://api.netflix.com/catalog/titles/movies/60021896/languages_and_audio" rel="http://schemas.netflix.com/catalog/titles/languages_and_audio" title="languages and audio"></link><br /> <average_rating>1.9</average_rating><br /> <link href="http://api.netflix.com/catalog/titles/movies/60021896/similars" rel="http://schemas.netflix.com/catalog/titles.similars" title="similars"></link><br /> <link href="http://www.netflix.com/Movie/Star/60021896" rel="alternate" title="webpage"></link><br /> </catalog_title><br /> <catalog_title><br /> <id>http://api.netflix.com/catalog/titles/movies/17985448</id><title short="Lone Star" regular="Lone Star"></title><br /> <box_art small="http://alien2.netflix.com/us/boxshots/tiny/17985448.jpg" medium="http://alien2.netflix.com/us/boxshots/small/17985448.jpg" large=""></box_art><br /> <link href="http://api.netflix.com/catalog/titles/movies/17985448/synopsis" rel="http://schemas.netflix.com/catalog/titles/synopsis" title="synopsis"></link><br /> <release_year>1996</release_year><br /> <category scheme="http://api.netflix.com/catalog/titles/mpaa_ratings" label="R"></category><br /> <category scheme="http://api.netflix.com/categories/genres" label="Drama"></category><br /><link href="http://api.netflix.com/catalog/titles/movies/17985448/awards" rel="http://schemas.netflix.com/catalog/titles/awards" title="awards"></link><br /> <link href="http://api.netflix.com/catalog/titles/movies/17985448/format_availability" rel="http://schemas.netflix.com/catalog/titles/format_availability" title="formats"></link><br /> <link href="http://api.netflix.com/catalog/titles/movies/17985448/screen_formats" rel="http://schemas.netflix.com/catalog/titles/screen_formats" title="screen formats"></link><br /> <link href="http://api.netflix.com/catalog/titles/movies/17985448/languages_and_audio" rel="http://schemas.netflix.com/catalog/titles/languages_and_audio" title="languages and audio"></link><br /> <average_rating>3.7</average_rating><br /> <link href="http://api.netflix.com/catalog/titles/movies/17985448/previews" rel="http://schemas.netflix.com/catalog/titles/previews" title="previews"></link><br /> <link href="http://api.netflix.com/catalog/titles/movies/17985448/similars" rel="http://schemas.netflix.com/catalog/titles.similars" title="similars"></link><br /> <link href="http://www.netflix.com/Movie/Lone_Star/17985448" rel="alternate" title="webpage"></link><br /> </catalog_title><br /></catalog_titles><br />
  25. 25. Improve Efficiency of API Requests<br />Could it have been 5 billion requests per month?<br />(Assuming everything else remained the same)<br />
  26. 26. Design for our Key Audiences<br />Some of the many <br />Netflix-ready <br />devices<br />
  27. 27. Future architecture needs to support key audience first with a trickle down of features to the other audiences<br />Netflix <br />API<br />
  28. 28. Design for The Audience We Want<br />If our current <br />audience is this size<br />We will designour system for <br />an audience that is this size<br />
  29. 29. AWS Cloud<br />
  30. 30. Key Lessons from Netflix<br />Understand target audiences<br />Think big<br />Think mobile<br />Think international<br />Design API for critical audiences first<br />Internalize the API as part of your engineering DNA<br />If building a public API, help them bloom<br />
  31. 31. The Netflix API Team is Hiring!<br />

×