SlideShare a Scribd company logo
Transforming Streaming with the Netflix APIBy Daniel Jacobson@daniel_jacobsondjacobson@netflix.comhttp://www.linkedin.com/in/danieljacobson
Netflix API
Netflix API : BAPI 2011 Presentation : SF
Netflix API : BAPI 2011 Presentation : SF
Netflix APIAlmost 23,000 flowers Hundreds of devices
APIPersonalization EngineUser InfoMovie MetadataMovie RatingsSimilar MoviesReviewsA/B Test Engine
Netflix API Requests by Audience
Current Emphasis of Netflix
Netflix API : Requests Per Month
Netflix API : BAPI 2011 Presentation : SF
AWS Cloud
Netflix API : BAPI 2011 Presentation : SF
Netflix API : BAPI 2011 Presentation : SF
Netflix API : BAPI 2011 Presentation : SF
Netflix API : BAPI 2011 Presentation : SF
Netflix API : BAPI 2011 Presentation : SF
So, we have a scalable infrastructure…  Now what?
WebkitDynamically update UIs
Control the experience
Share code across devices
Run A/B testsAndroidiPhone
And we have a flexible UI.Now what?
Next Step… Redesign the API
Netflix API : Requests Per Month
Growth of the Netflix APIOver 1 Billion requests per day(Peaks at about 20,000 requests per second)
Netflix API : BAPI 2011 Presentation : SF
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>
{"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"}}}
Improve Efficiency of API RequestsCould it have been 100 million requests per day? Or less?(Assuming everything else remained the same)
Netflix API : BAPI 2011 Presentation : SF
Netflix API : BAPI 2011 Presentation : SF
Netflix API : BAPI 2011 Presentation : SF

More Related Content

PPTX
Redesigning the Netflix API - OSCON
PPTX
Netflix API - Presentation to PayPal
PPTX
The future-of-netflix-api
PPTX
Presentation to ESPN about the Netflix API
PPTX
Scaling the Netflix API - OSCON
PPTX
Scaling the Netflix API
PPTX
APIs for Internal Audiences - Netflix - App Dev Conference
PPTX
Techniques for Scaling the Netflix API - QCon SF
Redesigning the Netflix API - OSCON
Netflix API - Presentation to PayPal
The future-of-netflix-api
Presentation to ESPN about the Netflix API
Scaling the Netflix API - OSCON
Scaling the Netflix API
APIs for Internal Audiences - Netflix - App Dev Conference
Techniques for Scaling the Netflix API - QCon SF

What's hot (20)

PPTX
API Revolutions : Netflix's API Redesign
PPTX
Netflix API: Keynote at Disney Tech Conference
PPTX
Set Your Content Free! : Case Studies from Netflix and NPR
PPTX
Scaling the Netflix API - From Atlassian Dev Den
PPTX
Netflix API - Separation of Concerns
PPTX
History and Future of the Netflix API - Mashery Evolution of Distribution
PPTX
Maintaining the Netflix Front Door - Presentation at Intuit Meetup
PPTX
Netflix API
PPTX
Why API? - Business of APIs Conference
PPTX
Maintaining the Front Door to Netflix
PPTX
Huge: Running an API at Scale
PDF
Open APIs: What's Hot, What's Not?
PPTX
Your API is So 2006 - MoDevEast 2011
PPTX
Open APIs - State of the Market 2011
PPT
Open APIs and the Semantic Web 2011
PDF
Migrating Automation Tests to Postman Monitors and ROI
PPTX
Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...
PPTX
POST/CON 2019 Workshop: Design, Develop, and Mock APIs with Postman
PPT
Open APIs: State of the Market, May 2010
PDF
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
API Revolutions : Netflix's API Redesign
Netflix API: Keynote at Disney Tech Conference
Set Your Content Free! : Case Studies from Netflix and NPR
Scaling the Netflix API - From Atlassian Dev Den
Netflix API - Separation of Concerns
History and Future of the Netflix API - Mashery Evolution of Distribution
Maintaining the Netflix Front Door - Presentation at Intuit Meetup
Netflix API
Why API? - Business of APIs Conference
Maintaining the Front Door to Netflix
Huge: Running an API at Scale
Open APIs: What's Hot, What's Not?
Your API is So 2006 - MoDevEast 2011
Open APIs - State of the Market 2011
Open APIs and the Semantic Web 2011
Migrating Automation Tests to Postman Monitors and ROI
Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...
POST/CON 2019 Workshop: Design, Develop, and Mock APIs with Postman
Open APIs: State of the Market, May 2010
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
Ad

Viewers also liked (7)

PPTX
Netflix Edge Engineering Open House Presentations - June 9, 2016
PDF
Canary Analyze All the Things
PPTX
Maintaining the Front Door to Netflix : The Netflix API
PPTX
Fastest Growing Web API Categories: Last 6 Months
PPTX
From SOA to MSA
PPTX
MicroServices at Netflix - challenges of scale
PPTX
Culture
Netflix Edge Engineering Open House Presentations - June 9, 2016
Canary Analyze All the Things
Maintaining the Front Door to Netflix : The Netflix API
Fastest Growing Web API Categories: Last 6 Months
From SOA to MSA
MicroServices at Netflix - challenges of scale
Culture
Ad

Similar to Netflix API : BAPI 2011 Presentation : SF (20)

PPTX
Move Fast;Stay Safe:Developing & Deploying the Netflix API
PDF
Evolution of the Netflix API
PDF
The Netflix API for a global service
PPTX
API Strategy Evolution at Netflix
PDF
API World 2013 - Transforming the Netflix API
PPTX
API Design - When to buck the trend (Webcast)
ZIP
Performance and Fault Tolerance for the Netflix API
PDF
Evolving the Netflix API
PDF
Business of APIs Conference 2011 - Netflix
PPTX
AWS Re:Invent 2012 - Chaos Monkey & The Netflix Simian Army
PPTX
Top 10 Lessons Learned from the Netflix API - OSCON 2014
PDF
Netflix Massively Scalable, Highly Available, Immutable Infrastructure
PPTX
Copy of All AbouHow To Create A Streaming App Like Netflix: An Emerging Trend...
PPTX
Cinema booking system | Movie Booking System
PPTX
Oscon2014 Netflix API - Top 10 Lessons Learned
PDF
How Netflix Directs 1/3rd of Internet Traffic
PDF
Gdsc IIIT Surat Orientation 2022.pdf
PDF
netflix-real-time-data-strata-talk
DOCX
How has netflix embraced graph ql for rapid application development
PDF
CDN_Netflix_analysis
Move Fast;Stay Safe:Developing & Deploying the Netflix API
Evolution of the Netflix API
The Netflix API for a global service
API Strategy Evolution at Netflix
API World 2013 - Transforming the Netflix API
API Design - When to buck the trend (Webcast)
Performance and Fault Tolerance for the Netflix API
Evolving the Netflix API
Business of APIs Conference 2011 - Netflix
AWS Re:Invent 2012 - Chaos Monkey & The Netflix Simian Army
Top 10 Lessons Learned from the Netflix API - OSCON 2014
Netflix Massively Scalable, Highly Available, Immutable Infrastructure
Copy of All AbouHow To Create A Streaming App Like Netflix: An Emerging Trend...
Cinema booking system | Movie Booking System
Oscon2014 Netflix API - Top 10 Lessons Learned
How Netflix Directs 1/3rd of Internet Traffic
Gdsc IIIT Surat Orientation 2022.pdf
netflix-real-time-data-strata-talk
How has netflix embraced graph ql for rapid application development
CDN_Netflix_analysis

More from Daniel Jacobson (6)

PPT
NPR Presentation at Wolfram Data Summit 2010
PPT
NPR: Digital Distribution Strategy: OSCON2010
PPT
NPR's Digital Distribution and Mobile Strategy
PPT
NPR API Usage and Metrics
PPT
OpenID Adoption UX Summit
PPT
NPR : Examples of COPE
NPR Presentation at Wolfram Data Summit 2010
NPR: Digital Distribution Strategy: OSCON2010
NPR's Digital Distribution and Mobile Strategy
NPR API Usage and Metrics
OpenID Adoption UX Summit
NPR : Examples of COPE

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Big Data Technologies - Introduction.pptx
PPTX
A Presentation on Artificial Intelligence
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Monthly Chronicles - July 2025
20250228 LYD VKU AI Blended-Learning.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Unlocking AI with Model Context Protocol (MCP)
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Reach Out and Touch Someone: Haptics and Empathic Computing
Big Data Technologies - Introduction.pptx
A Presentation on Artificial Intelligence
The AUB Centre for AI in Media Proposal.docx
Electronic commerce courselecture one. Pdf
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Understanding_Digital_Forensics_Presentation.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Per capita expenditure prediction using model stacking based on satellite ima...
“AI and Expert System Decision Support & Business Intelligence Systems”

Netflix API : BAPI 2011 Presentation : SF

  • 1. Transforming Streaming with the Netflix APIBy Daniel Jacobson@daniel_jacobsondjacobson@netflix.comhttp://www.linkedin.com/in/danieljacobson
  • 5. Netflix APIAlmost 23,000 flowers Hundreds of devices
  • 6. APIPersonalization EngineUser InfoMovie MetadataMovie RatingsSimilar MoviesReviewsA/B Test Engine
  • 7. Netflix API Requests by Audience
  • 9. Netflix API : Requests Per Month
  • 17. So, we have a scalable infrastructure… Now what?
  • 22. And we have a flexible UI.Now what?
  • 24. Netflix API : Requests Per Month
  • 25. Growth of the Netflix APIOver 1 Billion requests per day(Peaks at about 20,000 requests per second)
  • 28. <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>
  • 29. {"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"}}}
  • 30. Improve Efficiency of API RequestsCould it have been 100 million requests per day? Or less?(Assuming everything else remained the same)

Editor's Notes

  • #3: When the Netflix API launchedin 2008, it was to “let 1,000 flowers bloom”. It was exclusively a public API.
  • #4: Some of the many applications produced through the public API…
  • #5: Then streaming started taking off for Netflix, first with computer-based streaming…
  • #6: And then streaming devices began to increase over the years. At first, the devices did not draw from the API. Over time, however, newer devices began to consume the API and some of the older devices have been retrofitted.Now, the public developer community is just another consumer of the API.
  • #7: During the growth of the device strategy and the increase in the API adoption, the API slowly became engrained into the DNA of the engineering culture.Now, the engineering organizational structure reflects this. There are many engineering teams internal to Netflix that produce and manage data and/or algorithmic output.There are a range of engineering teams internal to Netflix that create presentation layers on various devices.The API sits between those two groups, in the critical path for the Netflix streaming service. The API essentially brokers content from inside the firewall to outside.
  • #8: With the emphasis of the API being in the devices, the public developers now represent less than 1% of the total API traffic.
  • #9: As a result, the private, device-centric API is the emphasis of the Netflix API program going forward. The public API is still supported, but not the emphasis.
  • #10: Looking back at this adoption rate, we see atremendous growth in the API. Over an 18 month span, we have gone from under 1B requests per month to over 1B requests per day. With trendlines that look like this, one of the primary issues is scaling the API.
  • #11: And our international expansion will only add complexity and more scaling issues. So, how are we addressing the scale issues?
  • #12: The cloud! Enables rapid scaling with relative ease. Adding new servers, in new locations, take minutes.
  • #13: If our server farm looked like this in 2010, in terms of scale…
  • #14: We would need a server farm like this to serve the increased API traffic. To ramp up this number of servers, it takes systems administrators to acquire and image new boxes, power considerations for data centers, etc. Moreover, adding these servers in data centers for expected spikes results in hardware the has been paid for and deployed, but is not being used.
  • #15: So, instead of going into big server rooms like this one to scale our system…
  • #16: We go into a web page like this one, which is part of our internal cloud management toolset to handle our EC2 infrastructure.
  • #17: And as we continue to expand internationally, through EC2, the API can easily scale up in new regions, closer to the customer base that we are trying to serve, as long as Amazon has a location there.
  • #18: The API has enabled great ability to build new apps
  • #19: The API provides great ability to quickly build device apps. Cloud infrastructure helps those apps scale with the company. To enable more nimble development of the apps themselves, Netflix used Webkit.
  • #20: Netflix Android app is built from the same codebase as the iPhone app. There are key differences, but the iPhone codebase can be leveraged here in ways that a native app cannot.
  • #21: We also need to improve the application.
  • #22: The next phase of improvement is to redesign the API.In essence, while the current API is capable of serving us in the way we need, it is probably no longer the best tool for the job. We believe we can do much better with a new API that is designed for the future of Netflix.
  • #23: We already talked about the tremendous growth in API requests…
  • #24: And one billion requests a day sounds great, doesn’t it?For us, this number is a bit concerning…
  • #25: In the web world, increasing request numbers mean increasing opportunity of ad impressions, which means increasing opportunity for generating revenue. And when you hit certain thresholds in impressions, CPMs start to rise, which means even more money.
  • #26: That is why some media companies have stories spanning multiple pages, etc.
  • #27: But for systems that yield output that looks like this…
  • #28: And this…Ad impressions are not part of the game. As a result, the increase in requests don’t translate into more revenue. In fact, they translate into more expenses. That is, to handle more requests requires more servers, more systems-admins, a potentially different application architecture, etc.
  • #29: So, weare challenging ourselves to redesign the API to see if those same one billion requests could have been 100 million or perhaps even less. Through more targeted API designs based on what we have learned through our metrics, we will be able to reduce our API traffic as Netflix’ overall traffic grows.
  • #30: As we decrease overall traffic,our server count that currently looks something like this…
  • #31: Could end up looking more like this. Lower server counts means reduced costs, simpler implementations, etc.
  • #32: The ultimate goal, however, is to help our device apps to run as a fast as possible. And reducing the requests with a less chatty API will improve the overall performance for the devices.
  • #33: Which, in turn, will help keep our customers happy.