Масштабирование мессенджера до 107 млн пользователей: темы ВКР по Cloud/DevOps и метрики для защиты

Поддомен: Cloud/DevOps. Роль эксперта: DevOps/SRE-инженер.

Введение

26 марта 2026 года в приложении Mах зафиксировали более 107 млн зарегистрированных пользователей — всего за год с момента запуска. Для инженера это не новость «про маркетинг», а вводная к задаче: сколько нужно держать узлов, как шардировать хранилище сообщений, где упадёт p99 под всплеском активности в час пик. Именно такие кейсы делают диплом защищаемым: комиссия видит не абстрактное «приложение на Python», а систему с обоснованными SLO, схемой отказоустойчивости и расчётом ресурсов. Ниже — как превратить новость в ВКР по Cloud/DevOps, какие темы брать и что считать в третьей главе, чтобы получить «отлично».

FAQ: что чаще всего спрашивают у научрука по этой теме

Где брать реальные данные о нагрузке, если у меня нет 107 млн пользователей?

Строите модель нагрузки: 107 млн регистраций, доля DAU/MAU ≈ 0,4, среднее число сообщений на активного пользователя в сутки ≈ 20. Дальше — генератор на k6 или Locust, с профилем «утренний пик / вечерний пик». Источники коэффициентов — отчёты по мессенджерам за прошлые годы и открытые бенчмарки Kafka/PostgreSQL. Всё это честно оформляется в главе 2 как модель нагрузки.

Какой стек выбрать, чтобы успеть за семестр?

Минимальный жизнеспособный набор: Kubernetes (или k3s локально), PostgreSQL с шардированием или Citus, Redis для presence, Kafka для шины сообщений, OpenTelemetry + Prometheus + Grafana для наблюдаемости. Не гонитесь за 12 микросервисами — трёх хватит для доказательства.

Какие метрики защищать перед комиссией?

RPS на инстанс, p50/p95/p99 latency, error rate, throughput Kafka-топика, утилизация CPU/RAM, стоимость часа на 1 000 активных пользователей. Привяжите каждую к SLO из ISO/IEC 25010 (производительность, надёжность) — это снимает вопрос «а зачем эти цифры».

Как оформить архитектурные схемы по нормоконтролю?

C4-модель (Context → Container → Component) — для логики, UML Deployment — для физического размещения, ГОСТ 19.701 — для схем данных. Формулировки в подписях — по ГОСТ 34.201. Не смешивайте нотации в одном рисунке: это первое, за что снижают балл.

Темы ВКР: три варианта под облачный профиль

Как встроить кейс Mах в главы работы

Глава 1: статья как источник постановки задачи

Не ограничивайтесь пересказом новости. Используйте цифру 107 млн как отправную точку для модели: если приложение набрало столько регистраций за 12 месяцев, то пиковый суточный прирост — порядка 300–400 тыс. новых учётных записей, а на старте приложения для iOS/Android это означает скачок запросов на балансировщик и сервис аутентификации. Постройте таблицу допущений — она защитит вас от вопроса «откуда цифры».

ПараметрЗначениеОбоснование
Регистраций за год107 000 000данные из новости Mах
Оценка DAU~40 млнкоэффициент DAU/MAU 0,37 — медиана рынка
Сообщений в сутки~800 млн20 сообщений на активного пользователя
Пиковый RPSдо 60 000коэффициент пик/среднее 6,5
Целевой p99 API≤ 200 мсSLO из ISO/IEC 25010

Схему взаимодействия компонентов опишите в C4-нотации: System Context → Container → Component. Для физического размещения — UML Deployment Diagram. Для сценария регистрации — BPMN. Каждый рисунок должен иметь подпись и ссылку в тексте («на рисунке 5 представлена…»), иначе нормоконтроль отправит на доработку.

Глава 2: реализация — от кластера до шардов

В главе 2 покажите конкретику: манифесты, политики, разделение на stateful и stateless. Ниже — минимальный фрагмент HPA-манифеста, который снимет вопрос «а вы вообще Kubernetes видели».

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: chat-gateway-hpa
  namespace: messenger
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: chat-gateway
  minReplicas: 6
  maxReplicas: 60
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 65
    - type: Pods
      pods:
        metric:
          name: http_requests_per_second
        target:
          type: AverageValue
          averageValue: "900"
  behavior:
    scaleUp:
      stabilizationWindowSeconds: 30
    scaleDown:
      stabilizationWindowSeconds: 300

Для хранилища сообщений отдельно опишите стратегию шардирования: по chat_id (consistent hashing) + репликация по схеме leader-follower. Обязательно упомяните про backpressure: при пиковой нагрузке gateway должен отдавать 429, а не падать. Это классическая ошибка SRE — сервис, который героически пытается обработать всё.

Глава 3: метрики и экономический эффект

Здесь защищаются не «скриншоты Grafana», а числа с методикой. Минимальный набор:

Сравните сценарии: без HPA / с HPA / с Karpenter. Разница в счёте за месяц — и есть тот практический результат, который комиссия запоминает.

Чему вы научитесь

  1. Проектировать отказоустойчивые схемы с обоснованным SLA, а не «на глаз».
  2. Настраивать автоскейлинг в Kubernetes и считать его экономический эффект.
  3. Строить наблюдаемость на OpenTelemetry и привязывать её к SLO.
  4. Оформлять архитектурные схемы в C4/UML и приводить их в соответствие с ГОСТ 34.201 и ГОСТ 19.701.
  5. Защищать числовые результаты: RPS, p99, MTTR, TCO.
  6. Готовить нагрузочные сценарии на k6/Locust и интерпретировать их выводы.
Чек-лист перед сдачей ВКР
  • Все цифры из статьи (107 млн, дата 26.03.2025) имеют ссылку на источник и дату.
  • Задачи из введения дословно совпадают с выводами в конце каждой главы.
  • Схемы подписаны по ГОСТ, нумерация сквозная, в тексте есть ссылки на каждую.
  • Метрики (RPS, p99, TCO) приведены с методикой измерения, а не только итогом.
  • Код в приложениях — рабочие манифесты, а не псевдокод в квадратных скобках.
  • Проверка уникальности ≥ 80% и корректные ссылки в списке литературы.
  • Приложения не раздуты: только то, на что есть ссылки из основного текста.
Типичные ошибки студентов
  1. Пересказ статьи вместо анализа. «Mах набрал 107 млн — это много» — не глава 1. Нужны допущения, модель нагрузки, обоснование SLO. Избежать просто: после каждого факта из статьи добавьте подраздел «Следствия для архитектуры».
  2. Скриншоты вместо метрик. Комиссия не считает график Grafana доказательством. Приводите таблицы измерений с погрешностью и условиями эксперимента.
  3. Игнорирование стоимости. Кейс 107 млн пользователей — про деньги не меньше, чем про железо. Без расчёта TCO работа выглядит студенческой поделкой, а не инженерным решением.
Если тема уже выбрана, но нужна помощь с моделью нагрузки, схемами или оформлением третьей главы — приходите на бесплатную 30-минутную консультацию. Эксперты помогут разложить кейс из статьи на защищаемые пункты, подобрать стек и подготовить расчёты. Средний объём поддержки по такой теме — около 120 часов работы; за это время ВКР доводится до состояния «готово к защите».

Материал подготовлен экспертами компании [Название сайта]. Мы помогаем студентам ИТ-специальностей с 2010 года: от формулировки темы и постановки задач до финальной проверки на нормоконтроль. Если нужна помощь в разработке темы, оформлении или подготовке к защите — специалисты подскажут, как двигаться дальше.

Последнее обновление: 2026-09-30

Источник: За год в Мах зарегистрировались 107 миллионов пользователей (опубликовано 2026-03-26)