...

Cloud computing - Netflix udvikler en helt ny kodningsplatform

Streamingudbyderen Netflix gemmer sine videoer med henblik på optimal levering ved forskellige internethastigheder og afspilningsenheder i forskellige Opløsninger, kvalitetsniveauer og formater. Udviklet var kodningsplatformen "Reloaded" i omkring syv år. I mellemtiden er Netflix' belastning imidlertid blevet ti gange større takket være en ekspansion til flere markeder og betydeligt mere indhold. Ifølge Netflix' tekniske blog har dette skabt problemer. De ansvarlige udviklere har derfor udviklet en ny kodningsplatform kaldet "Cosmos" oprettet.

Som Frank San Miguel forklarer på vegne af Cosmos-holdet, blev Reloaded's gamle arkitektur udelukkende designet til at skalere lyd- og videoindhold så godt som muligt. Den monolitiske arkitektur gjorde det imidlertid meget vanskeligere at indføre nye funktioner. Desuden er det team, der er ansvarligt for kodningen, vokset betydeligt i løbet af de sidste par år, hvilket betød, at især nye medlemmer stort set ikke havde noget overblik over den forældede Reloaded-arkitektur. Ansvaret for dette var først og fremmest applikationslogikken med infrastrukturkoden.

Microservices-arkitekturer som en rollemodel

På grund af de store problemer besluttede teamet sig for en helt ny udvikling i stedet for en revision af den eksisterende arkitektur. Den moderne microservices-arkitektur blev valgt som model. Ud over de egentlige kodningsopgaver giver dette mulighed for modulopbygget tilføjelse af yderligere tjenester, herunder et værktøj til overvågning og værktøjer til den kontinuerlige leveringsrørledning. Dette skulle gøre det muligt at udvikle ny kode direkte i produktionsmiljøet.Bidrag kan importeres uden yderligere indgreb.

På trods af lighederne er Cosmos-tjenester dog ikke mikrotjenester. Applikationsdata og deres afhængigheder er også adskilt fra andre systemer i Netflix-kodningsværktøjet, ligesom i mikrotjenester, men tjenesterne bruger klart definerede API'er til at udveksle data.

Det meget beregningsintensive arbejde, der udføres sideløbende med kodningen, indlæser sine afhængigheder som Docker-containere. Afhængigt af opgavens størrelse er der tale om flere tusinde forskellige containere på Netflix, som opbevares i en cloud computing miljø. En kørsel tager ofte flere dage for særligt store filer, ifølge udviklerne.

Udviklingen af Cosmos begyndte i 2018, og de første tests i produktmiljøet startede i 2019. Den egentlige udrulning af systemet, som derefter helt vil erstatte Reloaded-kodningsplatformen, vil finde sted i indeværende år 2021.

Aktuelle artikler

Konceptuel fremstilling af en NGINX-reverse-proxy med DNS-resolver-cache og skiftende backend-adresser.
Plesk webserver

Korrekt konfiguration af NGINX-resolver-cachen

Sådan konfigurerer du NGINX-resolveren til dynamiske backends: DNS-TTL, valid, resolver_timeout, variable proxy_pass-mål og dynamiske upstreams klart adskilt fra hinanden.

Konceptuel fremstilling af kerntilstande, der kan ses via procfs.
Administration

Linux procfs for administratorer: oversigt over vigtige filer

procfs giver direkte indsigt i den kørende Linux-kerne. Denne vejledning forklarer vigtige filer under /proc, beskriver tællere og øjebliksbilleder og viser sikre diagnostiske metoder til belastning, hukommelse, processer, I/O og sysctl-parametre.

Konceptuel fremstilling af en primærserver med to replikaer og en kontinuerlig replikeringsstrøm.
Databaser

Sådan forstår du Redis-replikationsbacklog: PSYNC, størrelse og HA-grænser

Redis-replikationsbackloggen gemmer et begrænset udsnit af replikationsstrømmen. Den gør det ofte muligt at udføre en PSYNC i stedet for en fuld resync efter korte forbindelsesafbrydelser, men erstatter hverken persistent datalagring eller et gennemtænkt højtilgængelighedskoncept.