Furnizorul de streaming Netflix își stochează videoclipurile pentru o livrare optimă la diferite viteze de internet și dispozitive de redare în diferite Rezoluții, niveluri de calitate și formate. A dezvoltat platforma de codare "Reloaded" timp de aproximativ șapte ani. Între timp, însă, sarcina Netflix a crescut de zece ori datorită unei extinderi pe mai multe piețe și a unui conținut semnificativ mai mare. Potrivit blogului de inginerie al Netflix, acest lucru a cauzat probleme. Prin urmare, dezvoltatorii responsabili au dezvoltat o nouă platformă de codificare numită "Cosmos" creat.
După cum explică Frank San Miguel în numele echipei Cosmos, vechea arhitectură a Reloaded a fost concepută exclusiv pentru a scala cât mai bine conținutul audio și video. Cu toate acestea, arhitectura monolitică a făcut mult mai dificilă introducerea de noi caracteristici. În plus, echipa responsabilă de codare a crescut semnificativ în ultimii ani, ceea ce înseamnă că noii membri, în special cei noi, nu aveau practic nicio imagine de ansamblu asupra arhitecturii învechite a Reloaded. Responsabil de acest lucru a fost mai ales logica aplicației cu codul de infrastructură.
Arhitecturi microservicii ca model de rol
Din cauza problemelor majore, echipa a decis o dezvoltare complet nouă în loc să revizuiască arhitectura existentă. Ca model a fost aleasă arhitectura modernă de microservicii. Pe lângă sarcinile de codificare propriu-zise, acest lucru permite adăugarea modulară a altor servicii, inclusiv un instrument de monitorizare și instrumente pentru conducta de livrare continuă. Acest lucru ar trebui să permită dezvoltarea de cod nou direct în mediul de producție.Contribuții pot fi importate fără intervenții suplimentare.
În ciuda asemănărilor, serviciile Cosmos nu sunt microservicii. Datele aplicației și dependențele sale sunt, de asemenea, separate de alte sisteme în instrumentul de codare Netflix, ca în cazul microserviciilor, dar serviciile utilizează API-uri clar definite pentru a face schimb de date.
Activitatea foarte intensivă din punct de vedere computațional care are loc în paralel cu codificarea își încarcă dependențele sub formă de containere Docker. În funcție de mărimea sarcinii, la Netflix, acestea sunt câteva mii de containere diferite care sunt stocate într-un cloud computing mediul înconjurător. Potrivit dezvoltatorilor, o execuție durează adesea câteva zile pentru fișiere deosebit de mari.
Dezvoltarea Cosmos a început în 2018, iar testele inițiale în mediul produsului au început în 2019. Lansarea efectivă a sistemului, care va înlocui apoi complet platforma de codare Reloaded, va avea loc în anul curent 2021.