Инфраструктура видеоплатформ в ВКР: CDN, edge-узлы и метрики доставки контента
Поддомен: Cloud/DevOps. Роль: DevOps/SRE-инженер.
Нил Мохан, гендиректор YouTube, на вопрос о конкуренции с Netflix ответил коротко: лучшие авторы «никогда не покинут свой дом». За этой фразой — не сентиментальность, а инженерная реальность: студия современного создателя контента — это облако, распределённый пайплайн транскодинга и сеть доставки. Пока блогер монтирует ролик на ноутбуке, платформа обязана раздать его в 4K миллионам зрителей с задержкой в доли секунды. Именно этот разрыв между «домашним» автором и глобальной инфраструктурой даёт выпускнику готовый, защищаемый кейс для ВКР на заказ по направлению Cloud/DevOps — с реальными метриками, схемами и воспроизводимым стендом.
Частые вопросы студентов по теме
Мне нужен реальный CDN, чтобы защитить такую работу?
Нет. Достаточно стенда из 3–5 виртуальных машин или Docker-контейнеров: один origin-сервер с видеофайлами, два edge-узла с nginx и эмуляция задержек через tc netem. Комиссия оценивает не масштаб, а корректность методики: как вы измеряете, как сравниваете, какие выводы делаете.
Где брать данные, если нет доступа к статистике YouTube?
Публичные датасеты и синтетика. Генератор запросов (Locust, k6) + логи nginx дают вам полноценный набор метрик: TTFB, p95 и p99 времени отдачи, cache hit ratio. Плюс отчёты Google по Web Vitals и документация по HTTP-кэшированию — это законные источники для главы 1.
Хватит ли одной главы про теорию стриминга?
Не хватит. Требование большинства кафедр — наличие собственного проектного решения. Минимум: анализ требований по ISO/IEC 25010, проект архитектуры (C4/UML), реализация и глава с экспериментом. Иначе работа превращается в реферат.
Как оформить схемы инфраструктуры по нормоконтролю?
Контекстные диаграммы и диаграммы развёртывания — по UML, техническое задание — по ГОСТ 34.601. Растровые скриншоты панелей мониторинга уходят в приложения, а в тексте остаются векторные схемы с подписями и ссылками на разделы.
Темы ВКР: три вектора, которые реально защитить
- 1. Проектирование отказоустойчивой CDN-инфраструктуры для видеоплатформы.
Актуальность: авторы работают удалённо, но контент должен быть доступен глобально — именно эту нагрузку распределяет CDN.
Цель: снизить p95 времени доставки сегмента видео на 25–40% при сохранении доступности не ниже 99,9%.
Задачи: классифицировать модели доставки (push/pull), собрать стенд в Kubernetes, настроить кэширование и инвалидацию, провести нагрузочный эксперимент, сравнить сценарии с edge-узлами и без.
Структура: гл. 1 — модели CDN и требования по ISO/IEC 25010; гл. 2 — архитектура в нотации C4 и развёртывание; гл. 3 — метрики, нагрузочные тесты, экономическая оценка трафика. - 2. Конвейер транскодинга видео в облаке: автоскейлинг и стоимость.
Актуальность: «домашний» автор загружает исходник в любом формате — платформа обязана выдать набор битрейтов под разные сети.
Цель: построить пайплайн с очередью и горизонтальным автомасштабированием, уложившись в бюджет.
Задачи: выбрать кодеки и профили, описать поток задач, настроить HPA по метрике длины очереди, замерить время обработки и стоимость часа, оценить деградацию при пике.
Структура: гл. 1 — форматы, кодеки, обзор контейнерных платформ; гл. 2 — пайплайн и политики масштабирования; гл. 3 — эксперименты с нагрузкой и расчёт TCO. - 3. Наблюдаемость видеосервиса: SLI/SLO и трассировка запросов.
Актуальность: фраза Мохана подразумевает, что автор сам не диагностирует сбои — это делает платформа. Значит, нужна зрелая система мониторинга.
Цель: сформировать набор SLI/SLO и подтвердить их выполнение на тестовом трафике.
Задачи: выбрать метрики, развернуть сбор телеметрии, настроить алерты и error budget, провести инцидент-имитацию, описать процедуру реагирования.
Структура: гл. 1 — теория SRE и наблюдаемости; гл. 2 — инструментация сервиса; гл. 3 — симуляция отказов и разбор постмортема.
Как встроить материал статьи в главы работы
Глава 1. От экономики авторов к требованиям к платформе
Не пересказывайте новость — переведите её в инженерные требования. Тезис «автор остаётся дома» означает рост доли загрузок из жилых сетей с нестабильным аплинком и пиковым характером трафика (вечер, выходные). Отсюда два класса требований по ISO/IEC 25010: производительность (время доставки, пропускная способность) и надёжность (доступность, устойчивость к отказу узла). Хороший ход в главе 1 — таблица соответствия «бизнес-тезис → характеристика качества → измеримый SLI». Она показывает комиссии, что вы умеете связывать продуктовую мотивацию с инженерными числами.
Глава 2. Архитектура: от C4 до манифестов
Начинайте не с кода, а с уровней C4: контекст (зритель, автор, платформа), контейнеры (origin, edge, очередь, транскодер), компоненты (сервис каталога, сервис плейбэка). Диаграмму развёртывания делайте в UML — её легко защитить устно: «вот узел, вот зона отказа, вот что произойдёт при падении». Далее — реализация. Транскодер и edge-прокси упаковываются в контейнеры, конфигурация хранится в манифестах, секреты — вне репозитория. Ниже — фрагмент политики автомасштабирования по длине очереди задач, типовой для такого диплома.
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: transcoder-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: transcoder
minReplicas: 2
maxReplicas: 12
metrics:
- type: External
external:
metric:
name: queue_messages_ready # длина очереди задач транскодинга
target:
type: AverageValue
averageValue: "20" # один под держит до 20 задач в бэклоге
behavior:
scaleUp:
stabilizationWindowSeconds: 30
scaleDown:
stabilizationWindowSeconds: 300 # гасим медленно, чтобы не терять кэш
Глава 3. Эксперимент, метрики и наблюдаемость
Это раздел, за который ставят «отлично» или «удовлетворительно». Нужен воспроизводимый сценарий: генератор нагрузки, фиксированный набор видеофайлов, одинаковые условия на всех прогонах (число реплик, лимиты CPU, эмуляция задержки). Сбор телеметрии — через OpenTelemetry: один SDK инструментирует HTTP-слой и очередь, экспортёр отдаёт данные в хранилище метрик. Сравнивайте не «до/после», а три конфигурации: без кэша, с кэшем на origin, с edge-кэшем. Ниже — рабочий набор SLI, который закрывает требования к доставке.
| SLI | Что измеряем | Целевой SLO | Как получить |
|---|---|---|---|
| TTFB (p95) | Время до первого байта сегмента | < 300 мс | Логи edge-прокси, гистограмма OpenTelemetry |
| Cache hit ratio | Доля отдач из кэша | > 0,92 | Счётчики nginx (HIT/MISS) |
| Доступность | Доля успешных ответов 2xx/3xx | ≥ 99,9% | Агрегация access-логов по окнам |
| Backlog очереди | Число необработанных задач | < 40 | Метрика брокера сообщений |
| Rebuffering rate | Доля сессий с паузой буферизации | < 2% | Клиентская телеметрия плеера |
Отдельно опишите обработку ошибок: что произойдёт при падении одного edge-узла, как перестроится DNS-маршрутизация, за какое время восстановится кэш. Это и есть та самая «отказоустойчивость», о которой спрашивают на защите.
Чему вы научитесь на такой работе
- Проектировать схему доставки контента с разделением на origin и edge и обосновывать выбор топологии.
- Настраивать автомасштабирование по внешним метрикам, а не только по CPU — и объяснять, почему это важнее для очередей.
- Строить наблюдаемость: инструментировать сервис, снимать гистограммы, формировать error budget.
- Считать эффективность в числах: TTFB, cache hit ratio, стоимость часа обработки, TCO стенда.
- Оформлять ТЗ по ГОСТ 34.601 и схемы по UML так, чтобы нормоконтроль не вернул работу на доработку.
- Задачи из введения дословно совпадают с задачами в главах и с выводами в заключении.
- У каждой метрики указана единица измерения, инструмент съёма и окно агрегации.
- Схемы векторные, подписаны, пронумерованы, есть ссылки на них в тексте.
- ТЗ и структурные схемы соответствуют ГОСТ 34.601, ссылки на ISO/IEC 25010 корректны.
- Эксперимент воспроизводим: указаны версии образов, лимиты ресурсов, число прогонов.
- Скриншоты дашбордов вынесены в приложения, а не в основную часть.
- Проверена уникальность текста и корректность библиографических описаний.
- Стенд без ограничений ресурсов. Студент разворачивает контейнеры без лимитов CPU и памяти, получает красивые цифры и не может их повторить на защите. Задайте лимиты явно — это часть методики, а не деталь.
- Одна метрика вместо системы. Сравнивать конфигурации только по среднему времени отклика бессмысленно: выбросы в хвосте распределения как раз и определяют впечатление зрителя. Считайте p95 и p99, как того требует практика SRE.
- Отрыв от контекста статьи. Работа про CDN, где ни разу не объяснено, почему нагрузка распределена неравномерно и при чём здесь удалённые авторы, выглядит как учебная задача из методички. Одна страница в главе 1 закрывает этот разрыв полностью.
Источник: YouTube CEO says the best YouTubers will ‘never leave their home’ (опубликовано 2026-03-29)