Fortech
  • Aутстаффинг
  • Аутсорс
  • Веб-разработка
  • Мобильная разработка
  • ИИ-решения
  • UI/UX-дизайн
  • Техническая поддержка
Наши продуктыКейсыКонтактыО насБлогКарьера
Связаться
Наши продуктыКейсыКонтактыО насБлогКарьера
Связаться
Fortech
Юридический адрес
344011, Ростовская область, г. Ростов-на-Дону, Лермонтовская ул, д. 22, офис 6, 7, 8
ИНН / КПП
6154162274 / 616401001
ОГРН
1226100005922
ОКВЭД
62.01 Разработка компьютерного программного обеспечения
Код вида деятельности в области IT
1.01, 1.04, 1.05, 1.06

Услуги

  • Аутстаф
  • Аутсорс
  • Веб-разработка
  • Мобильная разработка
  • ИИ-решения
  • UI/UX-дизайн
  • Техническая поддержка

Компания

  • Наши продукты
  • Кейсы
  • Контакты
  • О нас
  • Блог

Соцсети

Аккредитованная IT-компания
Запись №25727 от 13.04.2022

Минцифры России

Позвать нас в тендер

  • bidzaar
  • B2B-Center
Контент © fortech.dev • 2026Политика конфиденциальностиПолитика обработки персональных данных
  1. Главная/
  2. Кейсы/
  3. Внутренняя IT-платформа для управления знаниями и эффективностью команд

Внутренняя IT-платформа для управления знаниями и эффективностью команд

Масштабирование микросервисной архитектуры внутренней IT-платформы для управления знаниями и эффективностью команд

О проекте

Заказчик – крупный digital-холдинг с многотысячным штатом сотрудников. Корпоративная IT-платформа компании выполняет роль единой экосистемы для управления знаниями, проектами, эффективностью команд и HR-аналитикой. Система объединяет таск-трекинг, базу знаний, геймификацию и сквозной поиск информации, закрывая потребности как рядовых специалистов, так и топ-менеджмента.

Наша команда подключилась к проекту на этапе взрывного роста продукта. Перед нами стояли задачи по масштабированию микросервисной архитектуры, рефакторингу backend-инфраструктуры, бесшовной миграции данных и переработке системы разграничения прав доступа. Продукт развивался распределенной IT-командой, где каждый сервис существовал как самостоятельный подпродукт со своими хранилищами и бизнес-логикой.

Frame 2131329985.png

Задачи

  • Провести миграцию данных между старым и новым сервисами без потери целостности информации
  • Внедрить линтеры и тайпчекеры во все микросервисы для унификации кодовой базы
  • Поднять покрытие тестами до 80% с интеграцией системы coverage в CI/CD
  • Разработать конструктор сайтов как новый сервис в экосистеме платформы
  • Реализовать гранулярную систему разрешений с глобальными ролями, ролями на уровне сервисов и конкретных сущностей
  • Добавить новые эндпоинты и бизнес-логику в существующие сервисы под требования продукта

Реализация

Разработка велась в микросервисной архитектуре, развёрнутой в Kubernetes. Каждый сервис работал с собственной базой данных PostgreSQL, использовал Redis для кеширования сессий и временных данных, а Kafka обеспечивала асинхронное взаимодействие между компонентами. Файлы хранились в S3-совместимом MinIO, аутентификация и авторизация строились на Keycloak как централизованном IAM-решении. Логирование настроено через ELK-стек, метрики собирались в Prometheus с визуализацией в Kibana. ClickHouse использовалась для хранения аналитических данных по пользовательской активности.

Система разрешений. Главный вызов – разработка трёхуровневой модели: глобальные роли через Keycloak, роли на уровне отдельных микросервисов и права доступа к конкретным сущностям внутри сервисов. Требовалось сохранить производительность при проверке прав на каждый запрос, учитывая, что платформа обслуживает несколько тысяч пользователей одновременно.

Решение – комбинация кеширования ролей в Redis с TTL 15 минут и предварительной валидации на уровне API Gateway. Для уровня сущностей реализовали дополнительную таблицу permissions в PostgreSQL с индексами по user_id и resource_id, что позволило держать время проверки прав в пределах 5–10 мс.

PostgreSQL

Миграция данных. Использовали event-driven подход через Kafka: старый сервис публиковал события об изменениях, новый подписывался и трансформировал данные под свою схему. Это позволило проводить миграцию постепенно, без downtime.

Унификация кодовой базы. Внедрение линтеров и тайпчекеров стандартизировали через CI/CD пайплайны в GitLab – проверка запускалась на каждый merge request. Coverage поднимали поэтапно: интегрировали pytest-cov, настроили отчёты в Kibana, затем ввели обязательный порог 80% для новых коммитов.

Конструктор сайтов. Разработан как отдельный микросервис на Python с REST API, хранением темплейтов в MinIO и метаданных в PostgreSQL.

Frame 2131329983.png
Frame 2131329981.png

Ключевые задачи и решения

Миграция данных без downtime — реализована через Kafka с event-driven архитектурой: старый сервис публикует события, новый трансформирует и сохраняет данные без остановки работы платформы.

Гранулярная система разрешений – трёхуровневая модель: глобальные роли через Keycloak, сервисные роли с кешированием в Redis (TTL 15 мин), права на сущности через отдельную таблицу permissions в PostgreSQL с индексацией.

Покрытие тестами 80% – внедрена система coverage с автоматическими проверками в CI/CD через pytest-cov и отчётами в Kibana, введён минимальный порог для новых коммитов.

Унификация кодовой базы – линтеры и тайпчекеры развёрнуты во всех микросервисах с автоматическими проверками на каждый merge request в GitLab.

Конструктор сайтов – новый микросервис на Python с REST API, хранением темплейтов в MinIO и метаданных в PostgreSQL.

Производительность проверки прав – комбинация кеширования в Redis и предварительной валидации на API Gateway снизила время проверки до 5–10 мс на запрос.

Мониторинг – все сервисы интегрированы с ELK для логирования, метрики собираются в Prometheus с дашбордами в Kibana, аналитика хранится в ClickHouse.

Frame 2131329984.png
Frame 2131329986.png

Результат

Платформа получила единую систему разрешений, которая работает на уровне ролей и конкретных объектов без потери производительности. Конструктор сайтов расширил возможности по управлению контентом: команды могут создавать внутренние лендинги без привлечения разработчиков. Миграция данных прошла без downtime с сохранением целостности информации по всем сервисам.

Бизнес получил масштабируемую микросервисную архитектуру с 80% покрытием тестами, что снизило количество регрессий при релизах. Унификация кода через линтеры и тайпчекеры ускорила онбординг новых разработчиков и упростила поддержку. Настроенный мониторинг через ELK, Prometheus и Kibana дал прозрачность работы всех компонентов – критично для платформы с тысячами активных пользователей.

Готовы выстроить стабильную команду?

Расскажите о проекте — предложим схему работы под ваш горизонт.

Написать в Telegram →

Примеры работ

Смотреть все кейсы
  • Удобный дэшборд для Kubernetes кластеров

    Веб-приложение для управления и мониторинга Kubernetes-кластеров. Сервис позволяет отслеживать состояние кластеров, настраивать приложения и создавать правила для упрощённой навигации узлов.

  • Платформа для интервью

    Платформа для подготовки к собеседованиям, где пользователи изучают материалы, записывают видео-ответы и получают рекомендации от экспертов.

Связанные услуги

  • Backend-разработка
  • Разработка веб-сервисов

Связаться с нами