Mary Kay
Прототип
Платформа лояльности · развёртывание On-Premise

Технические требования

Стек, требования к серверам и к инфраструктуре заказчика. Расчёт выполнен под заявленный масштаб: 1000–5000 участников программы, порядка 5 000 заказов в месяц.

Стек

Всё программное обеспечение платформы — открытое и свободно распространяемое. Лицензионных платежей нет, приобретать и продлевать лицензии не требуется.

Язык и платформа
C# / .NET 10 (LTS)
Открытая платформа, лицензия MIT
Приложение
ASP.NET Core
REST API и административная панель
СУБД
PostgreSQL 16 или новее
Совместим с Postgres Pro из реестра российского ПО
Доступ к данным
Entity Framework Core + Npgsql
Миграции схемы в составе поставки
Очередь сообщений
RabbitMQ
Рассылки, пересчёты, регламентные задания
Обратный прокси
Nginx
TLS, ограничение частоты запросов
Контейнеризация
Docker Engine + Compose
Оркестратор не требуется
Операционная система
Linux x86-64
Ubuntu Server LTS, РЕД ОС или Astra Linux SE
Нет лицензионных и санкционных рисков
PostgreSQL, RabbitMQ, Nginx, .NET и Docker Engine распространяются свободно. Ситуация с продлением лицензий Microsoft в России на платформу не влияет.
Совместимо с российским ПО
При необходимости PostgreSQL заменяется на Postgres Pro, а ОС — на Astra Linux SE или РЕД ОС. Изменений в коде это не требует.
Работает на имеющейся экспертизе
Эксплуатация PostgreSQL уже освоена вашей ИТ-службой: резервное копирование, мониторинг и регламенты остаются прежними.
Windows тоже поддерживается
.NET кроссплатформенный. Если инфраструктурный стандарт — Windows Server, платформа разворачивается и на нём, без переписывания.

Требования к серверам

Два контура: продуктивный и тестовый. Тестовый нужен для приёмки по согласованным сценариям и для проверки акций до публикации, поэтому он входит в обязательный минимум.

Контур vCPU RAM Диск Назначение
Продуктив — приложение 4 8 ГБ 80 ГБ SSD ASP.NET Core, RabbitMQ, Nginx
Продуктив — СУБД 8 32 ГБ 500 ГБ SSD PostgreSQL, витрины аналитики, локальные копии
Тестовый контур 4 16 ГБ 200 ГБ SSD Все компоненты на одном сервере
Реплика СУБД (по желанию) 4 16 ГБ 500 ГБ SSD Горячий резерв и разгрузка аналитических запросов
Допустимый минимум — один сервер: 8 vCPU, 32 ГБ RAM, 500 ГБ SSD для всех компонентов продуктива. При заявленном объёме этого достаточно, но обслуживание усложняется: перезапуск приложения затрагивает СУБД, а нагрузочные эксперименты влияют на работу витрины. Раздельная схема выше предпочтительнее.
Диски: SSD обязателен, NVMe желателен для СУБД. Сеть 1 Гбит/с достаточно с многократным запасом. Архитектура x86-64; сборка под ARM возможна, но отдельно не проверялась.

Объём данных

Расчёт от заявленных показателей. Основной объём дают не сами заказы, а история бонусных операций и журнал расчётов, который сохраняется вместе с заказом.

Что храним За год За три года Комментарий
Участники программы до 5 000 до 15 000 С учётом роста базы
Заказы и позиции ~60 000 ~180 000 Порядка 300 000 строк состава в год
Операции бонусного счёта ~200 000 ~600 000 Начисления, списания, сгорания, сторно
Объём базы с индексами 8–12 ГБ 25–40 ГБ Без сжатия, с запасом на витрины

Контейнеризация

Поставка идёт образами Docker и файлом Docker Compose. Оркестратор вроде Kubernetes при таком масштабе только усложнил бы эксплуатацию, не дав ничего взамен.

В контейнерах
Приложение, фоновые обработчики, RabbitMQ, Nginx. Обновление — заменой образа с возможностью отката на предыдущую версию.
Вне контейнеров
СУБД разворачивается штатными средствами вашей ИТ-службы — так резервное копирование и мониторинг остаются в её привычных регламентах.
Если Docker не применяется
Возможна установка службами systemd напрямую. Требования к серверам при этом не меняются.
Реестр образов
Нужен внутренний реестр заказчика либо передача образов архивами. Обращений во внешние реестры при работе платформы не происходит.

Сетевые доступы

Платформа не требует доступа в интернет для работы. Все соединения — внутри периметра заказчика.

Направление Протокол Назначение
Сайт и мобильное приложение → платформа HTTPS Расчёт корзины, резерв, подтверждение, возврат
1С ERP ↔ платформа HTTPS или файловый обмен Каталог, оплаты, отгрузки, возвраты
Платформа → SMS-гейты HTTPS Два действующих гейта заказчика
Платформа → почтовый сервер SMTP Корпоративное решение для email-рассылок
Система аналитики → СУБД PostgreSQL wire protocol Подключение BI и выгрузка сырых данных