Succesvolle API : Netflix
Het succesvolle bedrijf Netflix blijkt met hun API net zo succesvol te zijn als met hun andere diensten. Ruim 13 maanden geleden is de API gelanceerd en in deze periode is het gebruik verveelvoudigd (x 37). Deze gigantische groei in het gebruik van de API resulteerde in januari 2011 tot het aantal van ruim 20 miljard request. Allemaal aanvragen die door de systemen van Netflix moeten worden afgehandeld. Inmiddels heeft men bij Netflix op basis van een aantal criteria besloten dat de API moet worden ge-redesigned. De komende maanden zal ik proberen dit traject te volgen en er op mijn blog over te schrijven.

Aantal request per device
Netflix geeft aan dat ze in hun API ruim 20 verschillende resources/functionaliteiten waarvan er een aantal erg veel op elkaar lijken. Door de “versnippering” van resources is het vaak zo dat apparaten, om een goede userinterface te kunnen genereren, een soort van chat sessie opbouwen met de API om alle content binnen te halen. Ze hebben een “te groot” aantal request nodig om de interface voor de client te kunnen opbouwen.
Een van de implementaties van Netflix zelf op hun eigen API is zelfs verantwoordelijke voor 50% van al het verkeer op de API. De implementatie van deze device levert echter niet 50% van alle gestarte/bekeken streams op. In die zin is deze applicatie op dit betreffende device dus een “dure” applicatie. Een van de doelen die de ontwikkelaars van Netflix zichzelf stellen is het omlaag brengen van het aantal requests per maand van 20 naar 10 miljard. Best grote uitdaging lijkt me:-)
Kosten per requests
Een gevolg van het verminderen van het aantal requests op de API is dat de request qua resultaat dus meer informatie moeten teruggeven. Immers als er nu 5 requests nodig zijn om de afbeeldingen nodig voor de interface op te halen en straks gaat dit in 1 request dan dient die ene request dus 5x zoveel data terug te geven. Hierdoor wordt die request weer “duurder” en minder makkelijk af te handelen voor server en client.
Om dit soort problemen het hoofd te bieden zijn ze bij Netflix hard aan het nadenken over “partial response”. Een systeem waarbij je het resultaat van een request in delen gaat teruggeven. Interessante gedachte!
Toekomst
De problemen met het aantal request en de “kosten” per request zijn volgens het techblog van Netflix maar een deel van de problemen die ze gaan tegenkomen tijdens het redesign. Ik ga het met veel belangstelling volgen de komenden maanden.
Links

Vandaag op ReadWriteWeb 
Bezig met een Facebook pagina voor een bedrijf of wil je met een andere doel een leuke
Een paar dagen na de ramp in Japan kwam ik via de site 

