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.