netflix api : bapi 2011 presentation : sf
DESCRIPTION
This is my presentation from the Business of APIs Conference in SF, held by Mashery (http://www.apiconference.com).This talk talks briefly about the history of the Netflix API, then goes into three main categories of scaling:1. Using the cloud to scale in size and internationally2. Using Webkit to scale application development in parallel to the flexibility afforded by the API3. Redesigning the API to improve performance and to downscale the infrastructure as the system scalesWhen viewing these slides, please note that they are almost entirely image-based, so I have added notes for each slide to detail the talking points.TRANSCRIPT
![Page 1: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/2.jpg)
Netflix API
![Page 3: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/3.jpg)
![Page 4: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/4.jpg)
![Page 5: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/5.jpg)
Netflix API
Almost 23,000 flowers Hundreds of devices
![Page 6: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/6.jpg)
Personalization
EngineUser Info Movie
MetadataMovie Ratings
Similar Movies
API
Reviews A/B Test Engine
![Page 7: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/7.jpg)
Netflix API Requests by Audience
Netflix DevicesOpen API Developers
![Page 8: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/8.jpg)
Current Emphasis of Netflix
Netflix Devices
![Page 9: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/10.jpg)
![Page 11: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/11.jpg)
AWS Cloud
![Page 12: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/12.jpg)
![Page 13: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/13.jpg)
![Page 14: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/14.jpg)
![Page 15: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/15.jpg)
![Page 16: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/16.jpg)
![Page 17: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/17.jpg)
So, we have a scalable infrastructure… Now what?
![Page 18: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/18.jpg)
Webkit
• Dynamically update UIs
• Control the experience
• Share code across devices
• Run A/B tests
![Page 19: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/19.jpg)
AndroidiPhone
![Page 20: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/20.jpg)
And we have a flexible UI.Now what?
![Page 21: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/21.jpg)
Next Step… Redesign the API
![Page 22: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/24.jpg)
![Page 25: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/25.jpg)
![Page 26: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/26.jpg)
<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](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/27.jpg)
{"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](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/29.jpg)
![Page 30: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/30.jpg)
![Page 31: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/31.jpg)
![Page 32: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/32.jpg)
![Page 33: Netflix API : BAPI 2011 Presentation : SF](https://reader034.vdocuments.us/reader034/viewer/2022052618/54b755d74a79596e388b48f4/html5/thumbnails/33.jpg)
If you are interested in helping us solve these problems, please contact me at:
Daniel [email protected]
@daniel_jacobsonhttp://www.linkedin.com/in/danieljacobson