A streaming szolgáltató Netflix a videókat úgy tárolja, hogy azok különböző internetsebességeken és lejátszó eszközökön optimális módon legyenek elérhetőek a különböző Felbontások, minőségi szintek és formátumok. Fejlesztett volt kódolási platform "Reloaded" körülbelül hét évig. Időközben azonban a Netflix terhelése megtízszereződött, köszönhetően a több piacra való terjeszkedésnek és a jelentősen több tartalomnak. A Netflix mérnöki blogja szerint ez problémákat okozott. A felelős fejlesztők ezért egy új kódolási platformot fejlesztettek ki, melynek neve "Cosmos" létrehozott.
Ahogy Frank San Miguel a Cosmos csapat nevében elmondja, a Reloaded régi architektúráját kizárólag arra tervezték, hogy a lehető legjobban skálázza az audio- és videótartalmakat. A monolitikus architektúra azonban sokkal nehezebbé tette az új funkciók bevezetését. Ráadásul a kódolásért felelős csapat az elmúlt évek során jelentősen bővült, ami azt jelentette, hogy különösen az új tagoknak gyakorlatilag nem volt áttekintésük az elavult Reloaded architektúráról. Ezért mindenekelőtt az volt a felelős, hogy az alkalmazás logikája az infrastruktúra kóddal.
A mikroszolgáltatási architektúrák mint példakép
A jelentős problémák miatt a csapat a meglévő architektúra felülvizsgálata helyett egy teljesen új fejlesztés mellett döntött. Modellként a modern mikroszolgáltatási architektúrát választottuk. A tényleges kódolási feladatokon kívül ez lehetővé teszi további szolgáltatások moduláris hozzáadását, beleértve egy felügyeleti eszközt és a folyamatos szállítási csővezeték eszközeit. Ez lehetővé teszi, hogy az új kódot közvetlenül a termelési környezetben fejlesszék.Hozzájárulások további beavatkozás nélkül importálhatók.
A hasonlóságok ellenére azonban a Cosmos szolgáltatások nem mikroszolgáltatások. Az alkalmazás adatai és függőségei a Netflix kódolóeszközben is elkülönülnek más rendszerektől, mint a mikroszolgáltatások esetében, de a szolgáltatások egyértelműen meghatározott API-kat használnak az adatcseréhez.
A kódolással párhuzamosan zajló, nagyon számításigényes munka a függőségeit Docker-konténerként tölti be. A feladat méretétől függően a Netflixen ezek több ezer különböző konténer, amelyek egy felhőalapú számítástechnika környezet. A fejlesztők szerint egy futtatás gyakran több napot vesz igénybe különösen nagy fájlok esetén.
A Cosmos fejlesztése 2018-ban kezdődött, a kezdeti tesztek a termékkörnyezetben 2019-ben indulnak. A rendszer tényleges bevezetésére, amely aztán teljesen felváltja a Reloaded kódolási platformot, a folyó évben, 2021-ben kerül sor.