Потоковый провайдер Netflix хранит свои видеоматериалы для оптимальной доставки на различных скоростях Интернета и устройствах воспроизведения в разных местах. Резолюции, уровни качества и форматы. Разрабатывалась платформа кодирования "Перезагрузка" около семи лет. Тем временем, однако, загрузка Netflix выросла в десять раз благодаря экспансии на большее количество рынков и значительному увеличению контента. По данным инженерного блога Netflix, это вызвало проблемы. Поэтому ответственные разработчики разработали новую платформу кодирования, названную "Космос"созданный.
Как объясняет Фрэнк Сан Мигель от имени команды Cosmos, старая архитектура Reloaded была спроектирована исключительно для максимально возможного масштабирования аудио- и видеоконтента. Однако монолитная архитектура значительно усложнила внедрение новых возможностей. Кроме того, команда, отвечающая за кодирование, значительно выросла за последние несколько лет, что означало, что новые члены, в частности, не имели практически никакого представления об устаревшей архитектуре Reloaded. Ответственным за это была, прежде всего, логика приложения с кодом инфраструктуры.
Архитектуры микроуслуг как образец для подражания
В связи с основными проблемами, команда приняла решение о совершенно новой разработке вместо пересмотра существующей архитектуры. В качестве модели была выбрана современная архитектура микроуслуг. В дополнение к фактическим задачам по кодированию, это позволяет модульно добавлять дополнительные услуги, в том числе инструмент для мониторинга и инструменты для трубопровода непрерывной доставки. Это позволит разрабатывать новый код непосредственно в производственной среде.Взносы могут быть импортированы без дополнительного вмешательства.
Несмотря на сходство, услуги Космоса не являются микроуслугами. Данные приложения и его зависимости также отделены от других систем в инструменте кодирования Netflix, как и в микро-сервисах, но сервисы используют четко определенные API для обмена данными.
Высокая вычислительная нагрузка, которая происходит наряду с кодированием нагрузок его зависимости как контейнеров Docker. В зависимости от размера задачи, это несколько тысяч различных контейнеров на Netflix, которые хранятся в облачные вычисления окружение. По словам разработчиков, прогон часто занимает несколько дней для особо больших файлов.
Разработка Cosmos началась в 2018 г., а первоначальные испытания в среде продукта стартуют в 2019 г. Фактическое развертывание системы, которая затем полностью заменит платформу кодирования Reloaded, состоится в текущем 2021 году.