Transcript
Page 1: Netflix API : BAPI 2011 Presentation : SF

Transforming Streaming with the Netflix APIBy Daniel Jacobson@daniel_jacobson

[email protected]://www.linkedin.com/in/danieljacobson

Page 2: Netflix API : BAPI 2011 Presentation : SF

Netflix API

Page 3: Netflix API : BAPI 2011 Presentation : SF
Page 4: Netflix API : BAPI 2011 Presentation : SF
Page 5: Netflix API : BAPI 2011 Presentation : SF

Netflix API

Almost 23,000 flowers Hundreds of devices

Page 6: Netflix API : BAPI 2011 Presentation : SF

Personalization

EngineUser Info Movie

MetadataMovie Ratings

Similar Movies

API

Reviews A/B Test Engine

Page 7: Netflix API : BAPI 2011 Presentation : SF

Netflix API Requests by Audience

Netflix DevicesOpen API Developers

Page 8: Netflix API : BAPI 2011 Presentation : SF

Current Emphasis of Netflix

Netflix Devices

Page 9: Netflix API : BAPI 2011 Presentation : SF

Netflix API : Requests Per Month

Jan-10 Feb-10 Mar-10 Apr-10 May-10 Jun-10 Jul-10 Aug-10 Sep-10 Oct-10 Nov-10 Dec-10 Jan-11 Feb-11 Mar-11 Apr-11 May-11 Jun-11 Jul-11 -

5

10

15

20

25

30

35

Requ

ests

in B

illio

ns

Page 10: Netflix API : BAPI 2011 Presentation : SF
Page 11: Netflix API : BAPI 2011 Presentation : SF

AWS Cloud

Page 12: Netflix API : BAPI 2011 Presentation : SF
Page 13: Netflix API : BAPI 2011 Presentation : SF
Page 14: Netflix API : BAPI 2011 Presentation : SF
Page 15: Netflix API : BAPI 2011 Presentation : SF
Page 16: Netflix API : BAPI 2011 Presentation : SF
Page 17: Netflix API : BAPI 2011 Presentation : SF

So, we have a scalable infrastructure… Now what?

Page 18: Netflix API : BAPI 2011 Presentation : SF

Webkit

• Dynamically update UIs

• Control the experience

• Share code across devices

• Run A/B tests

Page 19: Netflix API : BAPI 2011 Presentation : SF

AndroidiPhone

Page 20: Netflix API : BAPI 2011 Presentation : SF

And we have a flexible UI.Now what?

Page 21: Netflix API : BAPI 2011 Presentation : SF

Next Step… Redesign the API

Page 22: Netflix API : BAPI 2011 Presentation : SF

Netflix API : Requests Per Month

Jan-10 Feb-10 Mar-10 Apr-10 May-10 Jun-10 Jul-10 Aug-10 Sep-10 Oct-10 Nov-10 Dec-10 Jan-11 Feb-11 Mar-11 Apr-11 May-11 Jun-11 Jul-11 -

5

10

15

20

25

30

35

Requ

ests

in B

illio

ns

Page 23: Netflix API : BAPI 2011 Presentation : SF

Growth of the Netflix API

Over 1 Billion requests per day(Peaks at about 20,000 requests per second)

Page 24: Netflix API : BAPI 2011 Presentation : SF
Page 25: Netflix API : BAPI 2011 Presentation : SF
Page 26: Netflix API : BAPI 2011 Presentation : SF

<catalog_titles> <number_of_results>1140</number_of_results> <start_index>0</start_index> <results_per_page>10</results_per_page> <catalog_title> <id>http://api.netflix.com/catalog/titles/movies/60021896</id><title short="Star" regular="Star"></title> <box_art small="http://alien2.netflix.com/us/boxshots/tiny/60021896.jpg"

medium="http://alien2.netflix.com/us/boxshots/small/60021896.jpg" large="http://alien2.netflix.com/us/boxshots/large/60021896.jpg"></box_art>

<link href="http://api.netflix.com/catalog/titles/movies/60021896/synopsis" rel="http://schemas.netflix.com/catalog/titles/synopsis" title="synopsis"></link>

<release_year>2001</release_year> <category scheme="http://api.netflix.com/catalog/titles/mpaa_ratings" label="NR"></category> <category scheme="http://api.netflix.com/categories/genres" label="Foreign"></category> <link href="http://api.netflix.com/catalog/titles/movies/60021896/cast"

rel="http://schemas.netflix.com/catalog/people.cast" title="cast"></link><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 <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> <average_rating>1.9</average_rating> <link href="http://api.netflix.com/catalog/titles/movies/60021896/similars" rel="http://schemas.netflix.com/catalog/titles.similars" title="similars"></link> <link href="http://www.netflix.com/Movie/Star/60021896" rel="alternate" title="webpage"></link> </catalog_title> <catalog_title> <id>http://api.netflix.com/catalog/titles/movies/17985448</id><title short="Lone Star" regular="Lone Star"></title> <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> <link href="http://api.netflix.com/catalog/titles/movies/17985448/synopsis" rel="http://schemas.netflix.com/catalog/titles/synopsis" title="synopsis"></link> <release_year>1996</release_year> <category scheme="http://api.netflix.com/catalog/titles/mpaa_ratings" label="R"></category> <category scheme="http://api.netflix.com/categories/genres" label="Drama"></category><link href="http://api.netflix.com/catalog/titles/movies/17985448/awards" rel="http://schemas.netflix.com/catalog/titles/awards" title="awards"></link> <link href="http://api.netflix.com/catalog/titles/movies/17985448/format_availability" rel="http://schemas.netflix.com/catalog/titles/format_availability" title="formats"></link> <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> <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> <average_rating>3.7</average_rating> <link href="http://api.netflix.com/catalog/titles/movies/17985448/previews" rel="http://schemas.netflix.com/catalog/titles/previews" title="previews"></link> <link href="http://api.netflix.com/catalog/titles/movies/17985448/similars" rel="http://schemas.netflix.com/catalog/titles.similars" title="similars"></link> <link href="http://www.netflix.com/Movie/Lone_Star/17985448" rel="alternate" title="webpage"></link> </catalog_title></catalog_titles>

Page 27: Netflix API : BAPI 2011 Presentation : SF

{"catalog_title":{"id":"http://api.netflix.com/catalog/titles/movies/60034967","title":{"title_short":"Rosencrantz and Guildenstern Are Dead","regular":"Rosencrantz and Guildenstern Are Dead"},"maturity_level":60,"release_year":"1990","average_rating":3.7,"box_art":{"284pix_w":"http://cdn-7.nflximg.com/en_US/boxshots/ghd/60034967.jpg","110pix_w":"http://cdn-7.nflximg.com/en_US/boxshots/large/60034967.jpg","38pix_w":"http://cdn-7.nflximg.com/en_US/boxshots/tiny/60034967.jpg","64pix_w":"http://cdn-7.nflximg.com/en_US/boxshots/small/60034967.jpg","150pix_w":"http://cdn-7.nflximg.com/en_US/boxshots/150/60034967.jpg","88pix_w":"http://cdn-7.nflximg.com/en_US/boxshots/88/60034967.jpg","124pix_w":"http://cdn-7.nflximg.com/en_US/boxshots/124/60034967.jpg"},"language":"en","web_page":"http://www.netflix.com/Movie/Rosencrantz_and_Guildenstern_Are_Dead/60034967","tiny_url":"http://movi.es/ApUP9"},"meta":{"expand":["@directors","@bonus_materials","@cast","@awards","@short_synopsis","@synopsis","@box_art","@screen_formats","@"links":{"id":"http://api.netflix.com/catalog/titles/movies/60034967","languages_and_audio":"http://api.netflix.com/catalog/titles/movies/60034967/languages_and_audio","title":"http://api.netflix.com/catalog/titles/movies/60034967/title","screen_formats":"http://api.netflix.com/catalog/titles/movies/60034967/screen_formats","cast":"http://api.netflix.com/catalog/titles/movies/60034967/cast","awards":"http://api.netflix.com/catalog/titles/movies/60034967/awards","short_synopsis":"http://api.netflix.com/catalog/titles/movies/60034967/short_synopsis","box_art":"http://api.netflix.com/catalog/titles/movies/60034967/box_art","synopsis":"http://api.netflix.com/catalog/titles/movies/60034967/synopsis","directors":"http://api.netflix.com/catalog/titles/movies/60034967/directors","similars":"http://api.netflix.com/catalog/titles/movies/60034967/similars","format_availability":"http://api.netflix.com/catalog/titles/movies/60034967/format_availability"}}}

Page 28: Netflix API : BAPI 2011 Presentation : SF

Improve Efficiency of API Requests

Could it have been 100 million requests per day? Or less?(Assuming everything else remained the same)

Page 29: Netflix API : BAPI 2011 Presentation : SF
Page 30: Netflix API : BAPI 2011 Presentation : SF
Page 31: Netflix API : BAPI 2011 Presentation : SF
Page 32: Netflix API : BAPI 2011 Presentation : SF
Page 33: Netflix API : BAPI 2011 Presentation : SF

If you are interested in helping us solve these problems, please contact me at:

Daniel [email protected]

@daniel_jacobsonhttp://www.linkedin.com/in/danieljacobson


Top Related