SlideShare a Scribd company logo
Netflix APITo Infinity and Beyond…
Growth of the Netflix APIOver 10 BILLION requests in November(Peaks at about 10,000 requests per second)
The future-of-netflix-api
The future-of-netflix-api
The future-of-netflix-api
It is time to get back to thinking about the future…
First Step: Back to the Drawing Board…
Some of our Key GoalsResiliency, Reliability and StabilityMaximize uptimeScalabilitySystem can grow without needing frequent refactoringSimplicityEasier integration for API consumersAgilityArchitecture will support rapid development without compromising the core of the system
The future-of-netflix-api
WiiiPad AppPS3iPhoneAppNetflix APIApple TVGoogle TVTiVoRokuXBox
Future Architecture needs to support key audience first with a trickle down of features to the public audienceWiiRokuPS3iPhoneAppiPad AppGoogle TVNetflix APIApple TVXBoxTiVo
Hide Our Internal Business Dependencies from API Consumers
(Some) API Interfaces and Their DependenciesAuto-CompleteRental HistoryAggListsSimilarsLIstsQueuesSEARCHSIMILARS SYSTEMRECOMMENDATION ENGINEQUEUERENTAL HISTORYTitle DetailsPreviewsRatingsRecommendationsTitle StatesCINEMATCHCONTENT MANAGEMENT SYSTEMTITLE STATESREST InterfaceAPI Dependency
INTERNET REQUESTUNIFIED LIST/TITLE RESPONSEWITH PARTIAL RESPONSE BUILT INSIMILARSLISTSEARCHLISTRENTAL HISTORYLISTTITLE LISTQUEUELISTAUTOCOMPLETELISTETC…TITLE INFORMATIONTITLESTATERATINGRECOMMENDATIONTITLE DETAILS
iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperPS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHESE ARE SOME OF THE DATA SOURCES THAT PROVIDE CONTENT TO THE APIPS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHESE ARE SOME OF THE  SERVICES PROVIDED BY SOME OF THE API DEPENDENCIES THROUGH WHICH CONTENT IS MADE AVAILABLE TO THE APIPS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHIS IS THE LAYER WHERE THE API CAN NORMALIZE THE DATA TO PREPARE IT FOR CONSUMPTION BY API CLIENTS.  IT COULD ALSO BE WHERE THE API CAN APPLY RESILIENCY MEASURES TO PROTECT AGAINST FAILURES FROM THE API DEPENDENCIES.ALTHOUGH THE DIAGRAM REPRESENTS THIS AS A DISCRETE API LAYER, IT COULD JUST AS EASILY BE A DISTRIBUTED MODEL ACROSS THE DEPENDENCIES.PS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperMAKING PURE APIs WILL IMPROVE THE CONSISTENCY OF THE API CODE AND THOSE THAT CONSUME IT. THIS WOULD HELP PRODUCT MANAGERS AS WELL SINCE THE CODE FOR THEIR PRODUCTS CAN ALSO BECOME MORE UNIFORM.PS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHE SHARED API INTERFACE LAYER ALLOWS THE VARIOUS CLIENTS TO MERGE RESULTS FROM THE PURE APIs AND PREPARE THEM IN WAYS THAT ARE CONDUCIVE TO THE GOALS OF THEIR APP.  MEANWHILE, ANY OF THESE INTERFACES CAN BE SHARED ACROSS THE CLIENTS SINCE MANY OF THESE INTERFACES WILL BE COMMON ACROSS THE PLATFORMS.PS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHE WRAPPER LAYER IS DESIGNED TO CONSUME THE PURE APIS AND/OR THE SHARED INTERFACES WHILE ALLOWING DEVICE/APP-SPECIFIC IMPLEMENTATIONS.  SOME OF THESE WRAPPERS ARE THEORETICAL WHILE OTHERS MAY ACTUALLY TAKE ADVANTAGE OF THIS TIER.PS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHESE ARE SOME OF THE ACTUAL INTERNAL API CUSTOMERS TODAY.  THIS LIST WILL GROW OVER TIME, BUT THIS ARCHITECTURE WILL SCALE ACCORDINGLY.PS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
Flexible API RequestsAs flexible as SQLSELECT person_first_name, person_last_name, dept_nameFROM person, department WHERE UPPER(dept_name) LIKE ‘%Engineering%’AND person_added_date BETWEEN ‘2002-01-01’ AND sysdateORDER BY person_last_name ASCManages Partial ResponseDetermines the Selected APIRestricts OutputSorts ResultsGOAL: API should be able to handle any request that you can do in SQL
The Problem with Versioning1.01.52.03.0?4.0?5.0?Today
Maybe we don’t need versioning?1.01.52.0Future APIsToday
Branching can always be done later…1.01.52.0New APIToday
XML vs. JSON?Or both?  Or other?xml
REST…as long as it makes sense for the business
Questions?API ManagementEngineering Manager – Web API Systems: http://bit.ly/9O3HicAPI Integration Systems Analyst: http://bit.ly/hyPxChAPI EngineeringSenior Software Engineer/Architect – Web API Platform: http://bit.ly/e0AKw4API Test EngineeringSenior Software Engineer in Test – API: http://bit.ly/9zHPtJSenior Software Engineer in Test – API Platform: http://bit.ly/eD3tLnLead Software Engineer in Test – API: http://bit.ly/fqxBYCSocial EngineeringSocial Systems – Engineer Architect: http://bit.ly/dYq6C8

More Related Content

PPTX
Netflix API : BAPI 2011 Presentation : SF
PPTX
Presentation to ESPN about the Netflix API
PPTX
Redesigning the Netflix API - OSCON
PPTX
History and Future of the Netflix API - Mashery Evolution of Distribution
PPTX
Scaling the Netflix API
PPTX
Scaling the Netflix API - OSCON
PPTX
Netflix API
PPTX
Netflix API - Presentation to PayPal
Netflix API : BAPI 2011 Presentation : SF
Presentation to ESPN about the Netflix API
Redesigning the Netflix API - OSCON
History and Future of the Netflix API - Mashery Evolution of Distribution
Scaling the Netflix API
Scaling the Netflix API - OSCON
Netflix API
Netflix API - Presentation to PayPal

What's hot (20)

PPTX
APIs for Internal Audiences - Netflix - App Dev Conference
PPTX
Set Your Content Free! : Case Studies from Netflix and NPR
PPTX
Netflix API: Keynote at Disney Tech Conference
PPTX
Maintaining the Netflix Front Door - Presentation at Intuit Meetup
PPTX
Why API? - Business of APIs Conference
PPTX
Techniques for Scaling the Netflix API - QCon SF
PPTX
API Revolutions : Netflix's API Redesign
PPTX
Netflix API - Separation of Concerns
PPTX
Scaling the Netflix API - From Atlassian Dev Den
PPTX
Maintaining the Front Door to Netflix
PPTX
Huge: Running an API at Scale
PPTX
Your API is So 2006 - MoDevEast 2011
PDF
Open APIs: What's Hot, What's Not?
PPTX
Open APIs - State of the Market 2011
PPT
Open APIs and the Semantic Web 2011
PPT
Open APIs: State of the Market, May 2010
PPTX
Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...
PDF
Who Cares About APIs? (NordicAPIS April 2014)
PDF
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
PPT
NPR: Digital Distribution Strategy: OSCON2010
APIs for Internal Audiences - Netflix - App Dev Conference
Set Your Content Free! : Case Studies from Netflix and NPR
Netflix API: Keynote at Disney Tech Conference
Maintaining the Netflix Front Door - Presentation at Intuit Meetup
Why API? - Business of APIs Conference
Techniques for Scaling the Netflix API - QCon SF
API Revolutions : Netflix's API Redesign
Netflix API - Separation of Concerns
Scaling the Netflix API - From Atlassian Dev Den
Maintaining the Front Door to Netflix
Huge: Running an API at Scale
Your API is So 2006 - MoDevEast 2011
Open APIs: What's Hot, What's Not?
Open APIs - State of the Market 2011
Open APIs and the Semantic Web 2011
Open APIs: State of the Market, May 2010
Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...
Who Cares About APIs? (NordicAPIS April 2014)
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
NPR: Digital Distribution Strategy: OSCON2010
Ad

Viewers also liked (20)

PPTX
API Strategy Evolution at Netflix
PPTX
Culture
KEY
20110611 Facebook Case Study
PDF
Wtf is API and SDK
PPTX
The better PHP API (EN)
PDF
PIXNET iOS SDK @OSDC 2014
PPT
The Marketing Playbook for API & SDK Adoption
PDF
Swagger for-your-api
PPTX
Writing code samples for API/SDK documentation
PDF
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
PDF
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
PPTX
Rethinking Cloud Proxies
PPTX
Zuul @ Netflix SpringOne Platform
PDF
Netflix Global Cloud Architecture
PDF
Best Practices for API Management
PPTX
iPaaS: A platform for Integration technology convergence
PPTX
20170324 html5j web_paltform_study
PDF
IoT architecture
PPT
API Management architect presentation
KEY
Everything I Ever Learned About JVM Performance Tuning @Twitter
API Strategy Evolution at Netflix
Culture
20110611 Facebook Case Study
Wtf is API and SDK
The better PHP API (EN)
PIXNET iOS SDK @OSDC 2014
The Marketing Playbook for API & SDK Adoption
Swagger for-your-api
Writing code samples for API/SDK documentation
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
Rethinking Cloud Proxies
Zuul @ Netflix SpringOne Platform
Netflix Global Cloud Architecture
Best Practices for API Management
iPaaS: A platform for Integration technology convergence
20170324 html5j web_paltform_study
IoT architecture
API Management architect presentation
Everything I Ever Learned About JVM Performance Tuning @Twitter
Ad

Similar to The future-of-netflix-api (20)

PDF
Designing Web Apis Building Apis That Developers Love Jin Brendasahni
PDF
Consumer centric api design v0.4.0
PPTX
Public API
PPTX
Will the Real Public API Please Stand Up? Amir Zuker
PPTX
Building Software Backend (Web API)
PDF
API’s and Micro Services 0.5
PPTX
Building a REST API for Longevity
PDF
REST full API Design
PDF
Designing Usable APIs featuring Forrester Research, Inc.
PDF
5 Pillars of Building Enterprise0grade APIs
PPTX
Api design part 1
PDF
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
PDF
Modern REST API design principles and rules.pdf
PDF
The new Netflix API
PPTX
Refining Your API Design - Architecture and Modeling Learning Event
PDF
Architect's Guide to Building an API Program
PDF
The ultimate api checklist by Blendr.io
PPTX
API Design - When to buck the trend (Webcast)
ODP
PPTX
Over view of software artitecture
Designing Web Apis Building Apis That Developers Love Jin Brendasahni
Consumer centric api design v0.4.0
Public API
Will the Real Public API Please Stand Up? Amir Zuker
Building Software Backend (Web API)
API’s and Micro Services 0.5
Building a REST API for Longevity
REST full API Design
Designing Usable APIs featuring Forrester Research, Inc.
5 Pillars of Building Enterprise0grade APIs
Api design part 1
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
Modern REST API design principles and rules.pdf
The new Netflix API
Refining Your API Design - Architecture and Modeling Learning Event
Architect's Guide to Building an API Program
The ultimate api checklist by Blendr.io
API Design - When to buck the trend (Webcast)
Over view of software artitecture

More from Daniel Jacobson (8)

PPTX
Netflix Edge Engineering Open House Presentations - June 9, 2016
PPTX
Top 10 Lessons Learned from the Netflix API - OSCON 2014
PPTX
Maintaining the Front Door to Netflix : The Netflix API
PPT
NPR Presentation at Wolfram Data Summit 2010
PPT
NPR's Digital Distribution and Mobile Strategy
PPT
NPR API Usage and Metrics
PPT
OpenID Adoption UX Summit
PPT
NPR : Examples of COPE
Netflix Edge Engineering Open House Presentations - June 9, 2016
Top 10 Lessons Learned from the Netflix API - OSCON 2014
Maintaining the Front Door to Netflix : The Netflix API
NPR Presentation at Wolfram Data Summit 2010
NPR's Digital Distribution and Mobile Strategy
NPR API Usage and Metrics
OpenID Adoption UX Summit
NPR : Examples of COPE

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Cloud computing and distributed systems.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Approach and Philosophy of On baking technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Machine learning based COVID-19 study performance prediction
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
Cloud computing and distributed systems.
Per capita expenditure prediction using model stacking based on satellite ima...
NewMind AI Weekly Chronicles - August'25 Week I
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Advanced methodologies resolving dimensionality complications for autism neur...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine learning based COVID-19 study performance prediction
Building Integrated photovoltaic BIPV_UPV.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

The future-of-netflix-api

  • 1. Netflix APITo Infinity and Beyond…
  • 2. Growth of the Netflix APIOver 10 BILLION requests in November(Peaks at about 10,000 requests per second)
  • 6. It is time to get back to thinking about the future…
  • 7. First Step: Back to the Drawing Board…
  • 8. Some of our Key GoalsResiliency, Reliability and StabilityMaximize uptimeScalabilitySystem can grow without needing frequent refactoringSimplicityEasier integration for API consumersAgilityArchitecture will support rapid development without compromising the core of the system
  • 10. WiiiPad AppPS3iPhoneAppNetflix APIApple TVGoogle TVTiVoRokuXBox
  • 11. Future Architecture needs to support key audience first with a trickle down of features to the public audienceWiiRokuPS3iPhoneAppiPad AppGoogle TVNetflix APIApple TVXBoxTiVo
  • 12. Hide Our Internal Business Dependencies from API Consumers
  • 13. (Some) API Interfaces and Their DependenciesAuto-CompleteRental HistoryAggListsSimilarsLIstsQueuesSEARCHSIMILARS SYSTEMRECOMMENDATION ENGINEQUEUERENTAL HISTORYTitle DetailsPreviewsRatingsRecommendationsTitle StatesCINEMATCHCONTENT MANAGEMENT SYSTEMTITLE STATESREST InterfaceAPI Dependency
  • 14. INTERNET REQUESTUNIFIED LIST/TITLE RESPONSEWITH PARTIAL RESPONSE BUILT INSIMILARSLISTSEARCHLISTRENTAL HISTORYLISTTITLE LISTQUEUELISTAUTOCOMPLETELISTETC…TITLE INFORMATIONTITLESTATERATINGRECOMMENDATIONTITLE DETAILS
  • 15. iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperPS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
  • 16. iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHESE ARE SOME OF THE DATA SOURCES THAT PROVIDE CONTENT TO THE APIPS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
  • 17. iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHESE ARE SOME OF THE SERVICES PROVIDED BY SOME OF THE API DEPENDENCIES THROUGH WHICH CONTENT IS MADE AVAILABLE TO THE APIPS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
  • 18. iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHIS IS THE LAYER WHERE THE API CAN NORMALIZE THE DATA TO PREPARE IT FOR CONSUMPTION BY API CLIENTS. IT COULD ALSO BE WHERE THE API CAN APPLY RESILIENCY MEASURES TO PROTECT AGAINST FAILURES FROM THE API DEPENDENCIES.ALTHOUGH THE DIAGRAM REPRESENTS THIS AS A DISCRETE API LAYER, IT COULD JUST AS EASILY BE A DISTRIBUTED MODEL ACROSS THE DEPENDENCIES.PS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
  • 19. iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperMAKING PURE APIs WILL IMPROVE THE CONSISTENCY OF THE API CODE AND THOSE THAT CONSUME IT. THIS WOULD HELP PRODUCT MANAGERS AS WELL SINCE THE CODE FOR THEIR PRODUCTS CAN ALSO BECOME MORE UNIFORM.PS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
  • 20. iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHE SHARED API INTERFACE LAYER ALLOWS THE VARIOUS CLIENTS TO MERGE RESULTS FROM THE PURE APIs AND PREPARE THEM IN WAYS THAT ARE CONDUCIVE TO THE GOALS OF THEIR APP. MEANWHILE, ANY OF THESE INTERFACES CAN BE SHARED ACROSS THE CLIENTS SINCE MANY OF THESE INTERFACES WILL BE COMMON ACROSS THE PLATFORMS.PS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
  • 21. iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHE WRAPPER LAYER IS DESIGNED TO CONSUME THE PURE APIS AND/OR THE SHARED INTERFACES WHILE ALLOWING DEVICE/APP-SPECIFIC IMPLEMENTATIONS. SOME OF THESE WRAPPERS ARE THEORETICAL WHILE OTHERS MAY ACTUALLY TAKE ADVANTAGE OF THIS TIER.PS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
  • 22. iPhone WrapperRecommend-ationRecommend-ation ServiceXbox WrapperRatings ServiceSHAREDAPIINTER-FACESLIST APIRatingsWii WrapperTHESE ARE SOME OF THE ACTUAL INTERNAL API CUSTOMERS TODAY. THIS LIST WILL GROW OVER TIME, BUT THIS ARCHITECTURE WILL SCALE ACCORDINGLY.PS3 WrapperTITLE APIRental HistoryRental History ServiceRoku WrapperUSER APIUser AccountiPad WrapperNormal-izationAnd ResiiencyAppleTV WrapperQueueAUTHAPIPC / Mac WrapperTitle CatalogTiVo WrapperSource Data LayerAPI Repository LayerWeb Service LayerShared LayerWrapper LayerAPI LayerApp Layer
  • 23. Flexible API RequestsAs flexible as SQLSELECT person_first_name, person_last_name, dept_nameFROM person, department WHERE UPPER(dept_name) LIKE ‘%Engineering%’AND person_added_date BETWEEN ‘2002-01-01’ AND sysdateORDER BY person_last_name ASCManages Partial ResponseDetermines the Selected APIRestricts OutputSorts ResultsGOAL: API should be able to handle any request that you can do in SQL
  • 24. The Problem with Versioning1.01.52.03.0?4.0?5.0?Today
  • 25. Maybe we don’t need versioning?1.01.52.0Future APIsToday
  • 26. Branching can always be done later…1.01.52.0New APIToday
  • 27. XML vs. JSON?Or both? Or other?xml
  • 28. REST…as long as it makes sense for the business
  • 29. Questions?API ManagementEngineering Manager – Web API Systems: http://bit.ly/9O3HicAPI Integration Systems Analyst: http://bit.ly/hyPxChAPI EngineeringSenior Software Engineer/Architect – Web API Platform: http://bit.ly/e0AKw4API Test EngineeringSenior Software Engineer in Test – API: http://bit.ly/9zHPtJSenior Software Engineer in Test – API Platform: http://bit.ly/eD3tLnLead Software Engineer in Test – API: http://bit.ly/fqxBYCSocial EngineeringSocial Systems – Engineer Architect: http://bit.ly/dYq6C8

Editor's Notes

  • #3: Despite these major changes, the API has still been able to achieve the goals of the company to the point that it is now serving roughly ? billion requests per month.
  • #4: Over the last two years, the API has seen a ton of changes. Some tactical, some fundamental.
  • #5: All under great time constraints and pressure to propel the business forward.