Особенности облачной обработки медиаданных
Поставщики и дистрибьюторы медиаконтента (OTT) все чаще задействуют в своей работе облачные технологии. Чтобы воспользоваться всеми их преимуществами, важно хорошо понимать принципы работы и особенности различных облачных технологий, а также возможности в отношении обработки медиаданных. Начнем с того, что переведем некоторые технические термины на простой и доступный для понимания язык.
Виртуальные машины и контейнеры
Важно понимать разницу между виртуальными машинами (ВМ) и контейнерами. ВМ — это программное обеспечение, которое полностью эмулирует поведение компьютера одного типа, включая его операционную систему и драйверы устройств, на компьютере другого типа. Например, на сервере Linux у вас может быть запущена программа ВМ, которая эмулирует ПК под управлением ОС Windows. При запуске этой программы сервер Linux как бы превращается в ПК под управлением ОС Windows.
В ранних облачных (и локальных) приложениях ВМ использовались для запуска различных программ (обычно созданных для Mac или Windows) на типовых серверах (обычно работающих под управлением Linux). Это позволяло переносить приложения между серверами с минимальным количеством изменений или без каких-либо изменений вообще. На одном аппаратном сервере (или в пуле серверов) могло работать несколько ВМ, но каждой ВМ была нужна собственная виртуализация операционной системы и аппаратных средств.
Однако у ВМ есть и несколько недостатков. Обычно это тяжеловесные, медленные приложения размером в гигабайты, для которых нужна большая оперативная память, а их загрузка занимает несколько минут (помните, что ВМ виртуализируют аппаратные средства и ОС).
В отличие от них, контейнеры имеют небольшой вес, нуждаются в гораздо меньших объемах оперативной памяти и хранилища и могут загружаться за считанные секунды. Контейнер — это автономный исполняемый программный пакет, который включает в себя все необходимое для запуска приложения: код, системные инструменты, системные библиотеки и настройки. Простота и полная самодостаточность контейнеров делают их мобильными и легко изменяемыми в ходе гибкой разработки.
Docker
Контейнеры создаются и используются в среде выполнения контейнеров. Как для настольных компьютеров, так и для облака отраслевым стандартом среды выполнения фактически является программное обеспечение Docker. Хотя изначально Docker создавался для Linux, теперь этот инструмент работает и на серверах под управлением Windows.
Kubernetes
После создания контейнеров вам потребуется оркестратор, который отвечает за решение следующих задач:
• определение начала следующего контейнера;
• обеспечение высокой доступности контейнера;
• определение правил взаимодействия контейнеров с другими контейнерами;
• управление масштабируемостью;
• управление резервированием и аварийным переключением;
• беспрепятственное развертывание обновлений с возможностью простых откатов.
Эти операции аналогичны процедурам загрузки ПК, запуска приложений, чтения файла конфигурации и т. д., которые выполняются до того момента, когда компьютер будет готов к работе.
Kubernetes — это оркестратор, который может работать как в локальной среде, так и в облаке. Он позволяет использовать гибридные решения, обеспечивающие обработку медиаданных как в частном, так и в общедоступном облаке. Это может быть полезно в случаях, когда возникает временный всплеск потребностей в обработке медиаданных (например, при подключении нового провайдера или при необходимости использовать временные каналы, как во время теннисных турниров Большого шлема).
Хотя все крупнейшие поставщики общедоступных облачных сервисов, в том числе Amazon (EKS), Google (GKE), Microsoft (AKS), поддерживают сервис "Kubernetes как услуга" (Kubernetes as service), важно отметить, что между ними есть существенные отличия. Так, настройка кластера Kubernetes в одном облаке может занять несколько минут, а в другом на это уйдет несколько часов. Это может иметь огромное значение в случае аварийного восстановления.
Точно так же некоторые поставщики облачных служб допускают использование вытесняемых экземпляров вместо зарезервированных экземпляров и ВМ по требованию, тогда как другие могут этого не делать. Обратите внимание, что для использования вытесняемых экземпляров контейнеры должны быть системами без сохранения состояния, т. е. между запусками в них не должна храниться или считываться какая-либо информация.
Существуют также различия в предоставляемых клиенту инструментах администрирования, мониторинга и регистрации. При выборе поставщика облачных служб необходимо обязательно учитывать эти различия. Перед подписанием договора проведите тесты, чтобы убедиться в том, что выбранный поставщик действительно отвечает вашим требованиям.
Обращайтесь к нам, чтобы подробнее узнать о том, как воспользоваться преимуществами облачных технологий и избежать связанных с ними проблем. Расскажите экспертам ATEME по облачным технологиям о специфике вашей деятельности и ваших потребностях, и они предложат наиболее подходящие решения.