Источник: О Бизнесе
Ежедневно Netflix показывает примерно 250 миллионов часов видео в 190 странах, где живет около 117 миллионов подписчиков этого сервиса.
Неудивительно, что компания старается поддерживать уровень качества и предоставлять контент за доли секунды после нажатия кнопки Play. Вот какую инфраструктуру использует для этого сервис.
Сотни микросервисов для одного гигантского сервиса
Netflix использует около 700 микросервисов для каждого из множества элементов, из которых состоит весь сервис.
Один микросервис хранит данные обо всех сериалах, которые вы посмотрели, другой снимает с вашей карты ежемесячную плату за пользование Netflix, третий предоставляет подходящий для вашего устройства формат видеофайла, четвертый изучает историю просмотров и определяет сериалы, которые вам могут понравиться, а другой выводит в главное меню названия и обложки этих шоу.
Где же они обрабатываются?
Чтобы все эти сервисы работали исправно, нужна огромная сеть серверов. Когда-то Netflix использовал собственные серверы, но когда сервис начал стремительно расти, пришлось пересмотреть приоритеты (на поддержку и обслуживание своих серверов уходило много времени и сил).
Компания решила воспользоваться серверами других компаний и выбрала облачную систему Amazon Web Services (AWS). Да, от Amazon, своего нынешнего конкурента.
Несмотря на конкуренцию, многие компании стараются поддерживать деловые отношения, и это нормально.
Хорошим примером будут отношения между Samsung и Apple: последняя компания заказывает важные детали для iPhone у своего конкурента.
Netflix стал клиентом AWS еще до появления сервиса Amazon Prime Video. В конечном счете от такого сотрудничества выиграли обе компании.
Netflix оказался одним из самых продвинутых клиентов AWS, из-за которого облачный сервис постоянно разрабатывает новые решения, которые он может продавать другим компаниям.
А пользователи Netflix могут спокойно смотреть любимые фильмы и сериалы благодаря стабильной работе серверов AWS.
С пленки на экран
Netflix показывает не только шоу собственного производства, но и фильмы и сериалы других компаний. Правда, сначала ему нужно получить права на показ.
Бывает так, что дистрибьютор (или сам Netflix) заключает для определенного региона эксклюзивную сделку на показ какого-нибудь сериала на другом канале или видеосервисе — в таком случае там шоу может выйти на Netflix позже, чем в других странах.
Так было с пятым сезоном «Карточного домика» — на Ближнем Востоке его премьера состоялась на месяц позже, чем в 150 странах.
Создатели сериала даже выпустили юмористический ролик, в которой один из героев шоу объясняет причину такой задержки.
Когда права на шоу получены, его цифровая копия отправляется на серверы AWS. Оригинальные копии обычно очень высокого качества, и Netflix необходимо их обработать перед показом.
Сервис работает на множестве устройств, каждое из которых проигрывает разные форматы аудио- и видеофайлов.
Ряд AWS-серверов конвертирует оригинальную копию шоу в сотни файлов для всех устройств и самого разного качества (чтобы сериал можно было посмотреть даже с плохим интернетом).
У всех этих файлов есть особый код DRM, который защищает их от пиратства.
В погоне за коротким временем буферизации
Чтобы сериал загружался максимально быстро, Netflix использует сетевую инфраструктуру CDN (Content Delivery Network), чьи серверы находятся в самых разных странах.
Например, если вы находитесь в Будапеште и хотите посмотреть что-нибудь на Netflix, сервис загрузит копию шоу с ближайшего к вашему местоположению CDN-сервера.
Так компании не придется перегружать главный сервер Netflix в США, и задержка будет значительно меньше.
CDN-инфраструктуру использует множество сайтов с огромной посещаемостью, например, Google, Facebook и YouTube.
Она позволяет довольно быстро загружать контент, потому что учитывает географическое положение и скорость интернета.
Раньше Netflix пользовался CDN-серверами от разных техногигантов, но затем построил собственную инфраструктуру в каждой стране под названием Open Connect.
Open Connect загружает библиотеку Netflix для каждого региона, причем, в основном, на серверах заранее появляются самые популярные шоу (поэтому малоизвестный фильм будет грузиться немного дольше, чем серия «Очень странных дел»).
Представьте, что по всему миру расположены жесткие диски с сериалами: каждый раз, когда вы хотите что-нибудь посмотреть, Netflix находит ближайший диск, с которого будет быстрее всего загрузить кино.
Иногда сначала картинка на экране может быть расплывчатой, а потом она меняется на четкую — такое происходит, когда Netflix переподключается с одного сервера к тому, который сможет выдать вам лучшее качество изображения.