Технологический стек
Платформа собрана на зрелых технологиях с долгой поддержкой. Ниже то, на чём реально работают продукты, а не список модных названий.
Серверная разработка
Единая экосистема для всех сервисов платформы: общие библиотеки, общий контракт API и предсказуемый цикл обновлений.
- C#Основной язык серверной разработки
- .NETПлатформа выполнения и общие библиотеки
- ASP.NETВеб-сервисы и публичные API продуктов
Хранение и поиск
Реляционное хранилище для учётных данных, кеш для горячих операций, поисковый индекс для документов и журналов.
- PostgreSQLОсновное хранилище данных продуктов
- RedisКеш, сессии и очереди быстрых задач
- ElasticsearchПолнотекстовый поиск по документам и журналам
Интерфейсы и клиенты
Веб-интерфейсы продуктов и сайтов, а также мобильные и десктопные приложения из одной кодовой базы.
- TypeScriptТипизация всего клиентского кода
- Vue.js + ViteИнтерфейсы продуктов и продуктовых сайтов
- MAUIМобильные и десктопные клиенты
Инфраструктура и эксплуатация
Контейнеры, оркестрация и маршрутизация запросов. Обновление продукта не требует остановки всей платформы.
- DockerУпаковка сервисов в контейнеры
- KubernetesОркестрация и масштабирование сервисов
- NginxМаршрутизация запросов и терминация TLS
- CloudPanelУправление серверами и выкладка сайтов
Наблюдаемость и интеграции
Сквозная трассировка запросов между сервисами и обмен данными с учётными системами заказчика.
- OpenTelemetryТрассировка запросов между сервисами
- 1CОбмен данными с учётными системами заказчика
Как мы принимаем технические решения
- Выбираем технологию с долгим циклом поддержки, а не самую новую.
- Один язык на сервере и один на клиенте: команда переключается между продуктами без переобучения.
- Каждый сервис разворачивается отдельно, обновление одного продукта не останавливает остальные.
- Все внешние вызовы трассируются, поэтому причина замедления ищется по данным, а не на ощупь.
- Интеграция с учётными системами заказчика идёт через документированный обмен, а не через прямой доступ к базе.
Нужна интеграция с вашим ландшафтом?
Опишем контракт обмена, согласуем формат данных и подключим продукты к существующим системам.