Streamingteenuse pakkuja Netflix salvestab oma videod optimaalseks edastamiseks erinevatel Interneti-kiirustel ja erinevates taasesitusseadmetes erinevates Resolutsioonid, kvaliteeditasemed ja formaadid. Arendatud oli kodeerimine platvormi "Reloaded" umbes seitse aastat. Vahepeal on Netflixi koormus aga kümme korda kasvanud tänu laienemisele rohkematele turgudele ja oluliselt suuremale sisule. Netflixi tehnilise blogi kohaselt on see tekitanud probleeme. Vastutavad arendajad on seetõttu välja töötanud uue kodeerimisplatvormi nimega "Kosmos" loodud.
Nagu Frank San Miguel Cosmose meeskonna nimel selgitab, oli Reloaded'i vana arhitektuur mõeldud ainult audio- ja videosisu võimalikult hea skaleerimiseks. Monoliitne arhitektuur muutis aga uute funktsioonide kasutuselevõtu palju keerulisemaks. Lisaks on kodeerimise eest vastutav meeskond viimastel aastatel märkimisväärselt kasvanud, mis tähendas, et eriti uutel liikmetel ei olnud praktiliselt mingit ülevaadet vananenud Reloaded'i arhitektuurist. Vastutab selle eest oli eelkõige see, et rakenduse loogika koos infrastruktuuri koodiga.
Mikroteenuste arhitektuurid kui eeskuju
Suurte probleemide tõttu otsustas meeskond olemasoleva arhitektuuri läbivaatamise asemel täiesti uue arenduse kasuks. Mudeliks valiti kaasaegne mikroteenuste arhitektuur. Lisaks tegelikele kodeerimisülesannetele võimaldab see moodulitena lisada täiendavaid teenuseid, sealhulgas järelevalvevahendeid ja vahendeid pideva tarnimise torujuhtme jaoks. See peaks võimaldama uue koodi arendamist otse tootmiskeskkonnas.Panused saab importida ilma täiendava sekkumiseta.
Vaatamata sarnasusele ei ole Cosmose teenused mikroteenused. Rakenduse andmed ja nende sõltuvused on ka Netflixi kodeerimisvahendis teistest süsteemidest eraldatud, nagu mikroteenuste puhul, kuid teenused kasutavad andmevahetuseks selgelt määratletud APIsid.
Kodeerimise kõrval toimuv väga arvutamismahukas töö laeb oma sõltuvused Dockeri konteineritena. Sõltuvalt ülesande suurusest on Netflixis need mitu tuhat erinevat konteinerit, mida hoitakse pilvandmetöötlus keskkond. Arendajate sõnul võtab eriti suurte failide käivitamine sageli mitu päeva.
Cosmose arendus algas 2018. aastal, esimesed testid tootekeskkonnas algavad 2019. aastal. 2021. aastal toimub süsteemi tegelik kasutuselevõtt, mis seejärel asendab täielikult kodeerimisplatvormi Reloaded.