Cloud computing - Netflix vyvíja úplne novú kódovaciu platformu

Poskytovateľ streamovania Netflix ukladá svoje videá na optimálne doručenie pri rôznych rýchlostiach internetu a prehrávacích zariadeniach v rôznych Rozlíšenia, úrovne kvality a formáty. Vyvíjaná bola kódovacia platforma "Reloaded" približne sedem rokov. Medzitým však zaťaženie Netflixu vzrástlo desaťnásobne vďaka expanzii na viac trhov a podstatne väčšiemu množstvu obsahu. Podľa blogu spoločnosti Netflix to spôsobilo problémy. Zodpovední vývojári preto vyvinuli novú kódovaciu platformu s názvom "Cosmos" vytvorené.

Ako v mene tímu Cosmos vysvetľuje Frank San Miguel, stará architektúra Reloaded bola navrhnutá výlučne na čo najlepšie škálovanie audio a video obsahu. Monolitická architektúra však výrazne sťažovala zavádzanie nových funkcií. Okrem toho sa tím zodpovedný za kódovanie za posledných niekoľko rokov výrazne rozrástol, čo znamenalo, že najmä noví členovia nemali prakticky žiadny prehľad o zastaranej architektúre Reloaded. Zodpovedná za to bola predovšetkým logika aplikácie s kódom infraštruktúry.

Architektúry mikroslužieb ako vzor

Vzhľadom na veľké problémy sa tím rozhodol pre úplne nový vývoj namiesto revízie existujúcej architektúry. Ako model bola zvolená moderná architektúra mikroslužieb. Okrem samotných úloh kódovania to umožňuje modulárne pridávanie ďalších služieb vrátane nástroja na monitorovanie a nástrojov pre kontinuálne dodávanie. To by malo umožniť vývoj nového kódu priamo v produkčnom prostredí.Príspevky možno importovať bez ďalšieho zásahu.

Napriek podobnosti služby Cosmos nie sú mikroslužby. Údaje aplikácie a jej závislosti sú tiež oddelené od ostatných systémov v kódovacom nástroji Netflix, podobne ako v prípade mikroslužieb, ale služby používajú jasne definované API na výmenu údajov.

Výpočtovo veľmi náročná práca, ktorá prebieha popri kódovaní, načíta svoje závislosti ako kontajnery Docker. V závislosti od veľkosti úlohy je to v Netflixe niekoľko tisíc rôznych kontajnerov, ktoré sú uložené v cloud computing prostredie. Podľa vývojárov trvá spustenie obzvlášť veľkých súborov často niekoľko dní.

Vývoj systému Cosmos sa začal v roku 2018, pričom prvé testy v prostredí produktu sa začali v roku 2019. Skutočné zavedenie systému, ktorý následne úplne nahradí kódovaciu platformu Reloaded, sa uskutoční v aktuálnom roku 2021.

Aktuálne články