Продолжая использовать и/или оставаясь на сайте, вы соглашаетесь с Политикой конфиденциальности сайта, включая использование сайтом файлов «cookie».
ОК
Техподдержка
ТЕХНОЛОГИЧЕСКИЕ
СТАНДАРТЫ
Приведенные технологические стандарты и рекомендуемый для применения в разработке технологический стек направлены на реализацию архитектурных требований к разработке современных цифровых продуктов.
Рекомендуемый стек состоит из наиболее популярных в индустрии инструментов, открытых и/или имеющих альтернативу в Едином реестре российского ПО. Это означает, что данный стек является наиболее зрелым с точки зрения надежности, безопасности применяемых технологий, требований к импортозамещению и наличия на рынке труда специалистов, способных поддерживать и развивать цифровой продукт.
Предназначение
КОНТЕЙНЕРИЗАЦИЯ
01. КОНТЕЙНЕРИЗАЦИЯ
  1. Цифровой продукт поставляется в виде цифровых образов и развертывается для исполнения в контейнеры;
  2. Цифровой продукт поддерживает масштабируемость путем работы одновременно нескольких экземпляров контейнеров.

Рекомендуемые инструменты:
  • Docker/Cri-o-образы
  • Kubernetes — среда управления контейнерами
  • Helm — система управления приложениями на Kubernetes
  • И аналоги.
ИНФРАСТРУКТУРА КАК КОД
02. ИНФРАСТРУКТУРА КАК КОД
Развертывание любой инфраструктуры и окружения, необходимых для функционирования ЦП, автоматизировано с помощью скриптов, которые можно реиспользовать для других стендов.
Рекомендуемые инструменты:
  • Ansible — инструмент управления развертыванием;
  • Terraform — система управления инфраструктурой;
  • И аналоги
БАЗЫ ДАННЫХ
03. БАЗЫ ДАННЫХ
  1. Для общих задач хранения данных и доступа к ним используются реляционные СУБД;
  2. Для специфических задач (кэширования, операций в памяти, построения поисковых полнотекстовых систем, хранения данных логов и мониторинга) используются специальные базы данных.
Рекомендуемые инструменты:
  • PostgreSQL — реляционная СУБД;
  • Apache Ignite/Tarantool — вычисления в памяти (in-memory);
  • Hazelcast/Infinispan — кэш;
  • Elasticsearch — поиск, логи операций;
  • ClickHouse — аналитика;
  • И аналоги
СЕРВИСЫ BACKEND
04. СЕРВИСЫ BACKEND
  1. У ЦП должна присутствовать ярко выраженная backend-часть, реализующая логику приложения и взаимодействие с данными;
  2. Backend-часть ЦП реализуется в виде одного или нескольких слабосвязанных сервисов, реализованных на одном из языков программирования из технологического стека.

Рекомендуемые инструменты:
  • Java (Spring Framework) — сервисы backend;
  • Go — высоконагруженные сервисы;
  • Python — сервисы чат-ботов и нейросетей.
ВЗАИМОДЕЙСТВИЕ ЧЕРЕЗ УНИФИЦИРОВАННЫЕ ПРОТОКОЛЫ
05. ВЗАИМОДЕЙСТВИЕ ЧЕРЕЗ УНИФИЦИРОВАННЫЕ ПРОТОКОЛЫ
  1. Сервисы/микросервисы backend взаимодействуют друг с другом по протоколам, независимым от конкретной реализации сервиса:
    • синхронно — через документированный API;
    • асинхронно — через брокера сообщений.
  2. Асинхронное взаимодействие (event-driven подход) наиболее предпочтительно, так как устраняет излишнюю связанность сервисов друг с другом
Рекомендуемые инструменты:
  • REST, gRPC, SOAP — стандартные подходы к проектированию синхронных API;
  • AMQP — протокол асинхронного взаимодействия;
  • Kafka, Rabbit, Active MQ — брокеры сообщений;
  • Swagger (OpenAPI) — формат описания контрактов API.
ПРОЦЕССНЫЙ ПОДХОД
06. ПРОЦЕССНЫЙ ПОДХОД
  1. Сложные вариативные бизнес-процессы и операции следует реализовывать с помощью BPM-процессов;
  2. Каждый экземпляр процесса должен быть наблюдаем, управляем, иметь точки остановки и отката.

Рекомендуемые инструменты:
  • Сamunda BPM;
  • N8N;
  • И аналоги.

НАСТРАИВАЕМАЯ ЗАЩИЩЕННАЯ МАРШРУТИЗАЦИЯ ВЫЗОВОВ
07. НАСТРАИВАЕМАЯ ЗАЩИЩЕННАЯ МАРШРУТИЗАЦИЯ ВЫЗОВОВ
  1. Сервисы ЦП должны поддерживать работу через защищенные шлюзы (API Gateway) при взаимодействии с UI, внешними системами или друг с другом;
  2. На каждом из шлюзов (API Gateway) может быть настроена собственная политика доступа к сервисам, маршрутизации и балансировки.

Рекомендуемые инструменты:
  • Kubernetes/Spring/Consul — маршрутизация, API Gateway;
  • Nginx — балансировщики.
ВИЗУАЛЬНЫЙ ИНТЕРФЕЙС
08. ВИЗУАЛЬНЫЙ ИНТЕРФЕЙС (FRONTEND)
  1. Визуальная часть ЦП (UI) должна быть реализована на основе тонкого клиента для браузера и/или приложений для мобильных устройств (это снижает затраты на установку и актуализацию версий UI ЦП у пользователей);
  2. UI ЦП должен уметь "встраиваться" (например, по технологии виджетов) в другое (главное) приложение;
  3. ЦП в некоторых случаях должен позволять встраивать в свой UI виджеты других ЦП
  4. Визуальный интерфейс ЦП в разумных пределах поддерживает кастомизацию, например смену тем.

Рекомендуемые инструменты:
  • TypeScript — язык программирования;
  • Angular/React — фреймворки;
  • Kotlin — приложения Andriod;
  • Swift — приложения iOS;
  • И аналоги
ВЗАИМОДЕЙСТВИЕ ВИЗУАЛЬНОГО ИНТЕРФЕЙСА С СЕРВЕРНОЙ ЧАСТЬЮ
09. ВЗАИМОДЕЙСТВИЕ ВИЗУАЛЬНОГО ИНТЕРФЕЙСА С СЕРВЕРНОЙ ЧАСТЬЮ
  1. Визуальная часть цифрового продукта (UI) должна взаимодействовать с серверной частью (backend) по технологии "тонких каналов", с поддержкой сжатия траффика, кеширования, работы в нестабильных сетевых условиях;
  2. Взаимодействие должно осуществляться по защищенным протоколам, исключающим искажение или подмену траффика;
  3. Количество запросов к серверу должно быть минимизировано - доступ к различным объектам, сервисам, необходимым для отображения в интерфейсе, должен агрегироваться в специальных API-методах на стороне сервера.

Рекомендуемые инструменты:
  • Происходит накопление глубокой продуктовой экспертизы;
  • Повышается качество продукта;
  • Известна единая точка входа по всем продуктовым вопросам, что упрощает процесс консультаций пользователя.

ЛОГИРОВАНИЕ, ДИАГНОСТИКА, ТРАССИРОВКА ОПЕРАЦИЙ
10. ЛОГИРОВАНИЕ, ДИАГНОСТИКА, ТРАССИРОВКА ОПЕРАЦИЙ
  1. ЦП должен обеспечивать сбор логов, диагностических метрик, показателей "здоровья" работы сервисов и бизнес-операций;
  2. Должна быть возможность предоставления и хранения этой информации в централизованных, отдельно масштабируемых хранилищах.

Рекомендуемые инструменты:
  • Fluentbit/logstash — сборщик логов;
  • Elasticsearch, Prometheus — хранилища логов и метрик;
  • Kibana/Grafana — аналитика, визуальное отображение.
АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ
11. АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ
  1. Поддержка протокола OAuth 2;
  2. Поддержка технологии Единого входа (SSO);
  3. Поддержка работы с системами класса Управления доступом (IDM);
  4. Поддержка протокола LDAP, в том числе защищенных реализаций;
  5. Поддержка ролевой и атрибутной модели доступа к объектам цифрового продукта.

Рекомендуемые инструменты:
  • Digital Q.Security — ролевая и атрибутная модели доступа к объектам ЦП;
  • Реализация поддержки протокола OAuth 2 на уровне фреймворков для бэкэнд и фронтэнд приложений (например, Spring Security)
  • Keycloak — поддержка технологии единого входа и управления доступом;
  • Apache Directory Studio, OpenLDAP — реализации LDAP;
  • и аналоги
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению