Некоторые особенности оригинального программирования Amazon Prime Video:
- Использование распределённых микросервисов. 13 Первоначальная версия сервиса состояла из распределённых компонентов, которые были организованы в AWS Step Functions. 3 Это позволяло масштабировать каждый компонент сервиса независимо. 12
- Высокие затраты на оркестрацию и передачу данных. 23 Две самые затратные операции были связаны с оркестрацией рабочего процесса и передачей данных между распределёнными компонентами. 23
- Проблемы с масштабированием. 12 Использование некоторых компонентов привело к достижению жёсткого предела масштабирования при примерно 5% от ожидаемой нагрузки. 12
- Перенос к монолитной архитектуре. 12 Все компоненты переместили в один процесс, чтобы передача данных происходила в памяти. 12 Это упростило логику оркестрации и позволило сократить затраты на инфраструктуру более чем на 90%. 12
- Создание нескольких реплик процесса преобразования медиа. 2 Вычислительно затратный процесс преобразования разместили ближе к детекторам. 23
В результате этих изменений Prime Video смог отслеживать все потоки, просматриваемые клиентами, а не только те, у которых наибольшее количество зрителей. 23