Архитектура ПО¶
Общее описание¶
Решение 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.
Рисунок. Компонентная архитектура VK People Hub.
API¶
Для доступа к данным и внутренним функциональным сервисам, продукт реализует версионированные контракты REST API с поддержкой обратной совместимости устаревшего API.
По запросу клиента предоставляется актуальная версия документации API к необходимым сервисам. Формат возвращаемых данных – JSON.