Перейти к содержанию

Архитектура ПО

Общее описание

Решение VK People Hub имеет микросервисную архитектуру.

Выбранная архитектура решения предоставляет возможности:

  • эксплуатации решения с минимальными затратами на обслуживание;
  • обеспечения высокого уровня отказоустойчивости и безопасности портальных систем;
  • обеспечения репликации данных на уровне СУБД;
  • оперативной реакции на возникающие задачи и ситуации в рамках портальной платформы;
  • обеспечения предсказуемости в управлении всем комплексом портальных решений в процессе его развития;
  • обеспечения архитектурной целостности поставляемого решения, кастомизации Продукта за счёт модульности микросервисной архитектуры и имеющихся технологических возможностей.

Продукт учитывает планы и стратегию развития и модернизации в перспективе:

  • обеспечивается возможность горизонтальной масштабируемости серверов приложений, балансировки, кэширования, файлового хранения, СУБД и т.д.;
  • для обеспечения требуемой функциональности Продукта и целевых значений производительности используется in-memory СУБД в качестве горячего кеша;
  • на уровне пользовательских интерфейсов используются наиболее распространенные фреймворки (библиотеки) с открытым исходным кодом;
  • продукт поддерживает модель разработки виджетов с использованием JavaScript и встраивание их в пользовательский интерфейс с возможностью многократного использования;
  • в качестве основной СУБД используется реляционная СУБД PostgreSQL с открытым исходным кодом.
  • продукт может размещаться на серверах в ЦОД Клиента;
  • продукт поддерживает поставку и оркестрацию контейнеров Docker на базе платформы Kubernetes.

Функциональная архитектура

Продукт VK People Hub помогает решить следующие задачи:

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

Продукт VK People Hub обеспечивает руководителей и сотрудников достаточными инструментами для реализации всех необходимых шагов, требующих участия сотрудника и руководителя, в следующих бизнес-процессах:

  • взаимодействие между коллегами, оптимизированное за счёт прозрачной организационной структуры и наличия доступа к информации о сотрудниках, позволяющей определить их компетенции;
  • общение между сотрудниками внутри организаций, направленное на взаимную помощь в решении корпоративных задач;
  • своевременное информирование сотрудников организаций о корпоративных изменениях и новостях в сферах профильного взаимодействия и их профессиональных интересов;
  • получение от сотрудников обратной связи в результате проведения публичных или закрытых опросов;
  • мотивация сотрудников принимать активное участие в корпоративной жизни организации;
  • формирование команд для выполнения совместных задач;
  • проектное взаимодействие сотрудников, направленное на выполнение общей задачи;
  • консолидация профессиональных и корпоративных знаний в едином информационном пространстве;
  • информирование сотрудников о проводимых в организации мероприятиях;
  • помощь в планировании времени сотрудников и бронировании офисного пространства общего пользования при организации встреч.

Более подробное описание бизнес-функций сервисов VK People Hub представлено на странице Функциональное описание.

Технологическая архитектура

Продукт VK People Hub построен на базе распространенных и применяемых среди аналогов инструментов:

  • Backend бизнес-логика:
    • Язык программирования: Python3;
    • Базовый фреймворк: Django;
    • Библиотеки:
      • Asyncio,
      • Celery,
      • Fastapi.
  • Frontend бизнес-логика:
    • Язык программирования: TypeScript;
    • Базовый фреймворк: React.

В качестве прикладного ПО используется:

  • СУБД:
    • PostgreSQL (OLTP, основная модель данных, включающая ПДн);
    • ClickHouse (OLAP);
    • Redis (горячий кеш);
    • MinIO (объектное хранилище).
  • Межсервисное взаимодействие:
    • Kafka (брокер сообщений);
    • IAM;
    • KeyCloak (авторизация и аутентификация).

Поддерживается реализация SSO с IAM-решением клиента с использованием протоколов OIDC, SAML, Kerberos/SPNEGO.

technical_architecture

Рисунок. Компонентная архитектура VK People Hub.

API

Для доступа к данным и внутренним функциональным сервисам, продукт реализует версионированные контракты REST API с поддержкой обратной совместимости устаревшего API.

По запросу клиента предоставляется актуальная версия документации API к необходимым сервисам. Формат возвращаемых данных – JSON.