В эпоху, когда каждый час простоя означает срыв дедлайнов проекта, а скорость обработки видео напрямую влияет на конкурентоспособность продукта, разработчики медиа-приложений не могут полагаться на архитектуры с издержками облачной виртуализации в виде непредсказуемой производительности и ограничений в утилизации CPU.
Команда разработчиков из Германии обратилась с запросом настройки k8s кластера на базе выделенных серверов для разрабатываемого приложения транскодирования видео, поскольку только такое решение позволяет обеспечить полную утилизацию вычислительных ресурсов с максимальными значениями I/O.

Цели
Прогнозируемость Расходов: Заменить непредсказуемые облачные счета на фиксированную, оптимизированную арендную плату за выделенные серверы.
Производительность: Достичь максимальной скорости I/O и полной утилизации CPU за счет прямого доступа к оборудованию, исключив накладные расходы виртуализации, которые критичны для CPU-intensive задач транскодирования.
Высокая Доступность: Устранить все единые точки отказа на управляющем и вычислительном уровнях, обеспечив непрерывность работы кластера, ведь максимальный I/O и производительность CPU не должны были привести к утрате отказоустойчивости.
Реплицируемое Хранилище: Внедрить распределенное постоянное хранилище с репликацией для защиты критически важных видеофайлов и данных приложения.
Результаты
Полная утилизация CPU: Отказавшись от слоя виртуализации на worker-нодах, разработчик предоставил своему приложению прямой доступ к вычислительным ресурсам для максимальной производительности транскодирования.
Отказоустойчивость: Благодаря грамотному распределению ресурсов и компонентов системы удалось исключить единые точки отказа вплоть до уровня хоста.
Распределенное хранилище: Использование Longhorn позволило снизить издержки, вызванные репликацией данных, и обезопасило от потери видеофайлов или БД даже в случае выхода из строя любой из нод.
Прозрачность и предсказуемость стоимости услуг: Для команды разработчика, которая предоставляет услуги поддержки своего продукта, упрощена процедура определения себестоимости работ и части расходов на содержание инфраструктуры.
Контекст
Разработчик работал над внедрением программного комплекса для транскодирования видео с исключительными требованиями к производительности платформы. После ряда тестов на привычной облачной платформе DevOps инженеры заказчика столкнулись с рядом ограничений, которые мешали реализации проекта.
Критическое замедление рабочих нагрузок приложения транскодирования и CD/CI процессов клиента было вызвано фундаментальными ограничениями облачной платформы.
Низкая I/O-Производительность и "Налог" Гипервизора:
Облачная среда не позволяла подам использовать полную скорость накопителей NVMe для работы с большими видеофайлами. Реальная производительность ввода/вывода искусственно ограничивалась облачными лимитами и накладными расходами слоя виртуализации. Этот слой способствовал неприемлемым задержкам при загрузке исходного видео и выгрузке обработанного контента. Помимо этого, клиенту не хватало вычислительных ресурсов для параллельного транскодирования из-за двух факторов: часть производительности CPU терялась из-за виртуализации, и, судя по всему, по причине малопроизводительных ЦПУ на вычислительных нодах облачного провайдера.
Задача
Для реализации проекта требовалось решить следующие задачи, чтобы обеспечить полную кастомизацию, контроль и максимальную производительность:
Подобрать оптимальное аппаратное обеспечение с учетом высоких требований к скорости накопителей для работы с видеофайлами и общей производительности кластера для CPU-intensive задач транскодирования.
Настроить сеть с учетом требований высокой доступности, чтобы исключить единые точки отказа на управляющем и вычислительном уровнях.
Развернуть готовый Kubernetes кластер на базе выделенных серверов, учитывая лучшие практики и внедрив распределенное постоянное хранилище с репликацией для защиты критически важных видеофайлов и данных приложения.
Конфигурация инфраструктуры

Решение
В ответ на запрос о создании платформы с максимальными показателями I/O и вычислительной мощностью для приложения транскодирования видео, команда INTROSERV развернула высокопроизводительный Kubernetes-кластер на выделенных серверах.
Ключевые компоненты решения:
Оптимизированное аппаратное обеспечение: Были подобраны конфигурации на базе высокочастотных процессоров AMD EPYC. Кластер состоял из 6 выделенных серверов – 3 мастер-ноды и 3 воркер-ноды. Это обеспечило оптимальный баланс между стоимостью и производительностью для высоконагруженной среды с CPU-intensive задачами транскодирования.
Высокая доступность: Отказоустойчивость была достигнута за счет многоуровневой настройки сети. Были использованы Keepalived, HaProxy и MetalLB для устранения единых точек отказа, гарантируя непрерывность работы кластера и балансировку нагрузки.
Распределенное хранилище: Для защиты критически важных видеофайлов и данных приложения было внедрено распределенное хранилище Longhorn с репликацией. Это решение позволило снизить издержки, связанные с репликацией данных, и обеспечило безопасность от их потери даже в случае выхода из строя любой ноды.
Таким образом, INTROSERV предоставил заказчику платформу, которая исключила слой виртуализации на воркер-нодах, дав подам прямой доступ к оборудованию, а также внедрила отказоустойчивую топологию в соответствии с лучшими практиками.
Kubernetes на физических серверах: Максимальная производительность без компромиссов
Благодаря экспертному уровню и адаптивности команды INTROSERV, развёртывание Kubernetes Cluster было выполнено успешно, несмотря на специфические сложности подобного решения.
Переход на выделенные серверы INTROSERV позволил команде разработчиков медиа-приложения добиться максимальной производительности, недостижимой в облачной среде, и полностью контролировать свою инфраструктуру.
Достигнута полная утилизация CPU благодаря прямому доступу к вычислительным ресурсам. Приложение транскодирования получило возможность использовать все 32 потока процессоров AMD EPYC на каждой воркер-ноде без накладных расходов виртуализации. Время обработки типичных задач транскодирования сократилось в 4-5 раз по сравнению с облачной средой.
Исключены единые точки отказа на уровне хоста и обеспечена надежная защита видеофайлов и данных приложений благодаря распределенному хранилищу Longhorn с тройной репликацией.
Заказчик перешел от непредсказуемых облачных счетов к фиксированной, оптимизированной арендной плате за физические серверы.
Для подбора оптимальной инфраструктуры под ваш проект свяжитесь с отделом продаж INTROSERV.