«Госуслуги» как кейс для ВКР: интеграция реестров, REST API и метрики SLA

Поддомен статьи: Backend/Frontend (интеграция государственных информационных систем)
Роль эксперта: Архитектор ПО
Выбранная схема структуры: B

Введение

Минцифры отчиталось: в 2025 году через «Госуслуги» зарегистрировали рождение 434 тыс. детей — почти каждый третий новорождённый в стране получил документы без визита в ЗАГС. За этой цифрой стоит не «красивый портал», а тяжёлая инженерная работа: онлайн-обмен данными между медицинскими организациями, ЗАГС, СФР и ФНС, защита персональных данных, отказоустойчивость и предсказуемое время отклика. Для выпускника ИТ-специальности это готовая модель защищаемой ВКР: тут есть и предметная область, и метрики, и архитектура. Ниже — как превратить новость в дипломную работу, которую не стыдно защитить и легко защитить по существу.

Основная часть: от реестров до SLA

Три темы ВКР, которые вырастают из кейса «Госуслуг»

Кейс универсален: он подходит и для чистой разработки, и для аналитики, и для тестирования. Выберите то, что ближе к вашей кафедре.

Тема Актуальность (отсылка к статье) Цель Задачи Структура
Сервис подачи заявления на регистрацию рождения 434 тыс. заявлений за год — это реальная нагрузка и реальные требования к надёжности. Спроектировать и реализовать REST-сервис приёма заявлений с интеграцией в ЕСИА. 1) Проанализировать процессы ЗАГС. 2) Спроектировать API по OpenAPI 3.1. 3) Реализовать сервис с идемпотентностью. 4) Провести нагрузочное тестирование. Гл.1 — анализ предметной области и стандартов; Гл.2 — архитектура (C4) и реализация; Гл.3 — тестирование, метрики SLA.
Мониторинг и SRE цифрового сервиса госуслуг Пиковые нагрузки при подаче заявлений требуют контроля p95-задержки и доступности. Построить систему наблюдаемости (OpenTelemetry + Prometheus + Grafana) для сервиса подачи заявлений. 1) Определить SLI/SLO. 2) Внедрить трассировку и метрики. 3) Настроить алерты. 4) Оценить сокращение MTTR. Гл.1 — теория SRE и ГОСТ 34.601; Гл.2 — инструменты и архитектура мониторинга; Гл.3 — апробация на нагрузке.
Защита персональных данных в digital-сервисах госсектора Любой третий новорождённый фактически «живёт» в этой системе — утечка недопустима. Спроектировать модель угроз и внедрить защиту PII для портального сервиса. 1) Модель угроз по OWASP ASVS. 2) Криптографическое хранение. 3) Аудит и логирование. 4) Проверка на стенде. Гл.1 — НПА и OWASP; Гл.2 — реализация защиты; Гл.3 — пентест и оценка рисков.

Глава 1 — анализ: где искать данные и стандарты

Первая глава — не «вода про актуальность», а рабочий раздел. Здесь вы обосновываете, что «Госуслуги» — не единый монолит, а ландшафт взаимосвязанных систем: ЕСИА (аутентификация), СМЭВ (межведомственное взаимодействие), ведомственные реестры ЗАГС и медорганизаций. Именно этот ландшафт рисуется в первой главе. Обязательные пункты:

Глава 2 — проектирование: C4, OpenAPI, интеграция с ЕСИА и СМЭВ

Вторая глава — где студенты чаще всего «сыпятся». Не рисуйте один абстрактный прямоугольник «Сервис». Постройте диаграммы уровней C4: Context (кто пользователи, какие внешние системы), Container (какие компоненты: API Gateway, сервис заявлений, БД, очередь), Component (внутри сервиса), Code (только при необходимости). Для взаимодействия с внешними реестрами приложите диаграмму последовательности (UML Sequence) — там видно и асинхронность, и повторные попытки.

Контракт API описывайте в OpenAPI — это снимает половину вопросов комиссии о «полноте проектирования»:

# openapi-fragment.yaml — упрощённый контракт сервиса подачи заявления
openapi: 3.1.0
info:
  title: Birth Registration Service
  version: 1.0.0
paths:
  /v1/birth-applications:
    post:
      summary: Принять заявление на регистрацию рождения
      security:
        - esiaOAuth2: [birth.write]
      parameters:
        - name: Idempotency-Key
          in: header
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BirthApplication'
      responses:
        '202': { description: Принято в асинхронную обработку }
        '409': { description: Дубликат (совпал Idempotency-Key) }
        '422': { description: Ошибка валидации полей }

Обратите внимание на Idempotency-Key и код 202: заявление уходит в очередь (Kafka или RabbitMQ) и обрабатывается асинхронно. Именно так работают реальные сервисы такого масштаба — синхронное ожидание от ЗАГС было бы узким горлышком.

Глава 3 — реализация, нагрузка и метрики SLA

Третья глава без цифр — не третья глава. Возьмите за основу формулу SLI/SLO из SRE-подхода: доступность ≥ 99,9%, p95 времени ответа ≤ 800 мс на POST, доля успешно принятых заявлений ≥ 99,5%. Метрики собирайте через OpenTelemetry и считайте в Prometheus, визуализируйте в Grafana. Пример запроса для контроля SLA:

# PromQL — p95-задержка эндпоинта подачи заявления
histogram_quantile(
  0.95,
  sum(rate(http_request_duration_seconds_bucket{route="/v1/birth-applications", method="POST"}[5m])) by (le)
)

# Доля успешных заявлений (SLI «приёмоспособность»)
sum(rate(birth_applications_total{status="accepted"}[1h]))
/
sum(rate(birth_applications_total[1h]))

Нагрузочный тест проведите в JMeter или k6: смоделируйте 50 виртуальных пользователей, идемпотентные повторы и обрыв соединения. Зафиксируйте, как ведёт себя система при отказе внешнего реестра — не падает, а возвращает 202 и ставит в очередь. Это отдельный плюс на защите: вы показали не «happy path», а отказоустойчивость.

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

FAQ

Мне обязательно писать свой сервис с нуля?

Нет. Достаточно прототипа, покрывающего 2–3 ключевых сценария: подача заявления, ответ внешней системы, повторная попытка. Всё остальное можно описать в архитектурной части и подтвердить диаграммами. Комиссия оценивает проектные решения, а не количество написанных строк.

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

Используйте открытые публикации Минцифры, материалы Росстата и данные аналитических агентств. Если нужен «объёмный» датасет для тестов — сгенерируйте синтетические заявки по статистическому распределению: пуассоновский поток с пиками в конце месяца. Такой подход корректен и часто встречается в промышленной практике.

Как оформлять схемы по ГОСТ, если у меня C4?

C4 — нотация архитектурная, ГОСТ 34 её не отменяет. В основной части показывайте C4 (она читаемая), а в приложениях разместите функциональную схему и схему алгоритма по ГОСТ 19.701. Не путайте уровни и подпишите каждую стрелку — за неподписанные интерфейсы снимают баллы.

Что важнее на защите: код или метрики?

Метрики. Код у вас посмотрят в лучшем случае мельком, а на вопрос «стало ли лучше после вашего решения?» ответ нужен цифрой. Поэтому заранее подготовьте таблицу «до/после» по p95, throughput и доле успешных операций.

Что проверить перед сдачей

  • Каждая задача из введения отражена в выводах по главам — без «висящих» пунктов.
  • Все диаграммы подписаны, пронумерованы и упомянуты в тексте хотя бы один раз.
  • Метрики SLA/SLO приведены с методикой измерения и результатом нагрузочного теста.
  • Оформление титула, оглавления и приложений соответствует ГОСТ и требованиям вашего вуза.
  • Ссылки на источники (включая новость o «Госуслугах») оформлены единообразно и вынесены в список литературы.
  • Текст проверен на уникальность, кодовые листинги вынесены в приложения.
  • Презентация к защите укладывается в 7 минут и содержит 1 схему архитектуры + 1 таблицу метрик.

Типичные ошибки студентов

1. «Монолит на все случаи». Студенты рисуют одну коробку «Сервис госуслуг» и на этом останавливаются. На защите сразу спросят: как вы обеспечиваете изоляцию сбоев между приёмом заявления и обращением к реестру? Избежать просто: разделите систему минимум на 3 сервиса (API Gateway, приём заявлений, интеграционный адаптер) и покажите, что падение одного не роняет остальные.

2. Игнорирование ПДн. В кейсе с регистрацией рождения обрабатываются медицинские и семейные данные — это спецкатегории. Если в ВКР нет раздела про шифрование, разграничение доступа и аудит по ФЗ-152 и OWASP ASVS, работа теряет баллы сразу. Добавьте хотя бы модель угроз и таблицу мер защиты.

3. Метрики «на словах». «Система работает быстро» — не аргумент. 434 тыс. заявлений в год означает, что даже 1% ошибок — это тысячи людей. Считайте p95, error rate и доступность, приводите скриншоты Grafana. Это стоит 10–15 баллов на защите.

Если тема кажется объёмной, а времени до защиты мало — есть смысл взять готовую базу и адаптировать её под свой кейс. Наши специалисты готовы бесплатно проконсультировать по выбору темы, помочь с прототипом и оформлением. В среднем мы вкладываем в работу порядка 120 часов и подбираем исполнителя строго под поддомен — будь то Backend, SRE или ИБ. Заказать диплом под конкретную тему или попросить помощь с дипломом можно без обязательств — сначала обсудим, что реально успеть.

Материал подготовлен экспертами компании Diplom-IT. Мы помогаем студентам с 2010 года: подбираем актуальные темы, консультируем по архитектуре и нормоконтролю, сопровождаем до защиты. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать — без навязывания услуг и с уважением к вашему вкладу в проект.

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

Источник: Рождение каждого третьего ребёнка регистрируют на «Госуслугах» (опубликовано 2026-03-24)