I del tre av fyra i Attentecs artikelserie om det moderna TV-tittandet fokuserar vi på molnet som den plattform som gör det möjligt att skapa skalbara och pålitliga streaming-tjänster.

Alla hittills publicerade avsnitt i denna serie kan du ladda ner som pdf:er här: Del 1del 2 resp del 3.

 

Cloud computing

I vår förra artikel nämnde vi att Netflix kodar om all video de får in i ungefär 60 olika format för att kunna stödja flera plattformar och för att kunna ge rätt kvalité. Det blir stora mängder data och det kräver sin infrastruktur. Dessutom uppstår ett annat fenomen när 160 miljoner Netflix-användare ska titta på TV; ska vi dimensionera infrastrukturen efter fredagsmys eller vardagsnattugglor? Svaret finns i molnet och stavas cloud computing.

Låt oss titta på vilka tre huvudtyper av cloud computing det finns.

 

 

  • Software-as-a-Service (SaaS): Du får tillgång till en färdig tjänst, som till exempel webmail.
  • Platform-as-a-Service (Paas): Du får tillgång till en färdig utvecklingsmiljö med stöd för ett fåtal språk. Detta gör att man kan komma igång snabbt men man har väldigt begränsade möjligheter att påverka miljön.
  • Infrastructure-as-a-Service (IaaS): Du får i stort sett tillgång till ren hårdvara och får själv sätta upp din miljö. Det gör oftast med någon form av container-teknik, som till exempel Docker. Tittar man på större företag så använder de nästan uteslutande IaaS eftersom det ger mest kontroll över miljön även om det tar lite längre tid att konfigurera.


Vill man kunna dra nytta av cloud computing till fullo måste man se till att systemet skalar och att det skalar ut istället för upp. Detta är för övrigt något att alltid sträva efter då man får inbyggd redundans i systemet vilket underlättar underhåll och ökar feltoleransen.

 

 

Netflix startar inte bara en enstaka maskin i molnet utan etablerar vad de kallar en hel farm. Problem som detta, som enkelt skalar ut i väldigt stor skala, kallas för “embarrassingly parallelizable”.

Ett annat företag som lyckats designa ett skalbart system är Pokemon Go. Nedan syns en graf över hur deras databas i molnet belastades när appen lanserades. Notera den förväntade belastningen i orange och värsta tänkbara scenario i rött. Tack vare att de valde ett system som skalar ut och använde sig av cloud computing stannade deras faktiska trafik, i grönt, inte när de slog i taket för värsta tänkbara scenario utan de kunde fortsätta att tillhandahålla sin tjänst för alla nya kunder som fullkomligen stormade till.

 

 

Dessa är ju såklart inte de enda företag som gått över till att använda cloud computing i någon omfattning. Tittar man på större företag är det lättare att lista vilka som ännu inte tagit steget över och drar nytta av alla fördelar. Stora fördelar finns också för mindre företag som vill expandera eftersom man bara betalar för det man använder och, om man designat sitt system rätt, får en skalbarhet på köpet som man inte kan åstadkomma på egen hand.

I nästa avsnitt, som blir det sista i denna serie, kommer vi att beröra hur man konstruerar bra rekommendationssystem som hjälper oss att hitta rätt i den djungel av filmer och serier som finns. Vi kommer också att prata om kvalitetssäkring – och då menar vi inte hur bra fotbollsmatchen eller filmen är!

Denna artikelserie är skriven av Attentecs medarbetare Martin Andersson, Stefan Sax, Mikael Silvén och Anders Weiland. För mer information om Attentec och streaming media, kontakta Stefan Sax, tel 070-6191250, eller Anders Weiland, tel 070-6191230.