Bulldogjob
Bulldogjob

Netflix łączy mikroserwisy i serverless w kodowaniu wideo

Netflix stworzył nową platformę, na której połączy mikroserwisy oraz serverless przy kodowaniu wideo.
2.03.20212 min
Netflix łączy mikroserwisy i serverless w kodowaniu wideo

Netflix stworzył właśnie nową platformę do dystrybucji mediów i planuje przeznaczyć 2021 na migrację ze starej, którą określają mianem dużego systemu legacy. Nowa platforma nosi nazwę “Cosmos” - jest to narzędzie, którego używa się do przetwarzania przychodzących plików medialnych od partnerów Netflix oraz studiów filmowych, tak aby można je było odtwarzać na wszystkich urządzeniach. Poprzednia wersja platformy nazywała się “Reloaded” i była w użyciu już 7 lat - zaczęła się ona niestety mocno starzeć.

Skąd więc ta potrzeba zmiany?

“Kiedy Reloaded został zaprojektowany, byliśmy jedynie małą grupą developerów, która operowała na ograniczonym klastrze i skupiała się na jedynym przypadku użycia: potoku przetwarzania video/audio” - mówi Frank San Miguel, Senior Software Developer z Netflix. 

“W miarę upływu czasu programistów przybywało, zwiększyła się liczba przypadków użycia, a skala przedsięwzięcia urosła ponad dziesięciokrotnie. Architektura monolityczna znacznie spowolniła więc dostarczanie nowych funkcji” 

Zaszła więc potrzeba stworzenia zupełnie nowej platformy. Frank San Miguel przyznał, że Netflix pracował nad platformą “Cosmos” już od 2018 roku i korzystał z niej na produkcji od 2019. 

Zobaczmy więc, czym jest nowa platforma Netflix.

Czym jest “Cosmos”

Po pierwsze, Frank San Miguel twierdzi, że “Cosmos” to nie mikroserwisy, jednak zachodzą między tymi dwoma rzeczami pewne podobieństwa. Nowa platforma Netflix zachowuje silne kontrakty oraz segmentację danych/zależności, które są charakterystyczne dla mikroserwisów. Dodany tutaj jednak został wieloetapowy workflow oraz asynchroniczne funkcje serverless.


Oto jak wygląda typowy serwis nowej platformy: klienci wysyłają żądania do warstwy API usługi odpowiadającej za kodowanie wideo. Zestaw reguł wykonuje odpowiednie kroki, a zestaw funkcji serverless obsługuje algorytmy specyficzne dla danej domeny. Funkcje są pakowane jako obrazy Dockera i zawierają zależności binarne, do obsługi mediów. Są skalowane w zależności od liczby zadań w kolejce i mogą działać na dziesiątkach tysięcy różnych kontenerów. Realizacja żądań może zająć godziny lub dni.

Graf żądania usługi platformy Cosmos


"Cosmos" posiada kilka podsystemów. Jeden z nich nazywa się Stratum - warstwa serverless wywołana do uruchamiania funkcji bezstanowych i tych, które wymagają dużej mocy obliczeniowej.

Obecnie nowa platforma zapewnia około 40 serwisów. Firma zdecydowała się na wzorzec migracyjny o nazwie strangler fig - według San Miguela pozwala on nowemu systemowi rozwijać się wokół starego i ostatecznie całkowicie go zastąpić.

Co dalej

Netflix chce w 2021 przenieść większość swojej pracy do platformy “Cosmos”. San Miguel dodaje również, że zmianie ma ulec model programowania, tak aby dopasować się do nowych przypadków użycia. Biorąc pod uwagę, że większość świata technologicznego chętnie podąża za tym, co pokazują firmy takie jak Netflix, może to oznaczać większą modę na serverless w podobnych przypadkach użycia.

Jeśli chcecie dowiedzieć się więcej o tej platformie, zajrzycie na tę stronę

<p>Loading...</p>