План внедрения StormBPMN Enterprise
План внедрения StormBPMN Enterprise
В этой статье описан полный план внедрения StormBPMN Enterprise на стороне заказчика: от закупки лицензий до продуктивного запуска. План верхнеуровневый — детали по каждому шагу находятся в соответствующих разделах документации.
Сводка проекта
StormBPMN Enterprise — корпоративная on-premise платформа для моделирования бизнес-процессов в BPMN 2.0. Полное описание возможностей и архитектуры — см. Схема архитектуры.
Документация описывает 4 уровня развёртывания (минимальная, базовая, корпоративная, полная). Рекомендация для полного внедрения — "Полная конфигурация" (11 компонентов). Детали — Системные требования.
Ориентировочные сроки
| Фаза | Длительность | Параллельно с |
|---|---|---|
| Фаза 0: Подготовка | 2-3 недели | — |
| Фаза 1: Инфраструктура | 1-2 недели | — |
| Фаза 2: Безопасность | 1-2 недели | Фаза 3 |
| Фаза 3: Мониторинг | 1 неделя | Фаза 2 |
| Фаза 4: Бизнес-конфигурация | 1 неделя | — |
| Фаза 5: Интеграции (опционально) | по запросу | — |
| Фаза 6: Бэкапы и DR | 1 неделя | Фаза 5 |
| Фаза 7: Обучение от вендора + запуск | ~1 месяц | — |
| Фаза 8: Пост-запуск | ongoing | — |
| Итого до продуктивного запуска | ~12-16 недель |
Ключевые роли у заказчика
Важно
Без назначения этих ролей проект внедрения обречён на пробуксовку. Заказчик должен до старта проекта назначить конкретных людей и зафиксировать это приказом/распоряжением.
Обязательные роли
| Роль | Кто это | Зачем нужен | Без него... |
|---|---|---|---|
| Владелец системы (бизнес) | Руководитель уровня директора департамента / ЦФО | Принимает решения о scope, приоритетах, бюджете. Отвечает за adoption. Устраняет организационные блокеры | Нет кворума на согласованиях, никто не двигает внутри организации |
| ИТ-владелец системы | Руководитель ИТ-подразделения или назначенный тимлид | Принимает технические решения (инфраструктура, интеграции, ИБ). Выделяет ресурсы ИТ-команды. Точка эскалации по техническим вопросам | Серверы не выделяют, ИБ не согласовывает, сетевые доступы не открывают — проект стоит |
Желательные роли
| Роль | Кто это | Зачем нужен |
|---|---|---|
| PM со стороны заказчика | Выделенный руководитель проекта | Координирует внутренние работы, трекает задачи на стороне заказчика |
| Администратор системы | Инженер ИТ-отдела | Реально руками разворачивает, настраивает, обновляет. Контактное лицо по эксплуатации |
| Администратор ИБ | Сотрудник службы ИБ | Согласования, SIEM, аудит, доступы |
| Методолог / лид бизнес-аналитиков | Опытный аналитик | Определяет методологию моделирования, обучает коллег, ведёт пилот |
| Champions (амбассадоры) | 2-3 активных пользователя | Евангелисты внутри организации, первая линия поддержки |
Антипаттерны
- "Владелец системы — это ИТ-директор, но он занят" — назначить заместителя с полномочиями
- "Мы пока не определились, кто отвечает" — СТОП, не начинать проект
- "У нас всё делает один админ" — риск bus factor = 1, требовать минимум двоих
Разделение зон ответственности
Команда Storm — поставщик лицензий и ПО. Основную работу по внедрению делает Заказчик. Команда Storm помогает консультациями и поддержкой.
Обозначения в таблицах:
- Заказчик — полностью на стороне заказчика
- Storm помогает — Заказчик делает, Команда Storm консультирует / отвечает на вопросы
- Storm + Заказчик — совместная работа
- Команда Storm — на стороне Storm
Фаза 0: Подготовка
| Задача | Кто |
|---|---|
| Назначить владельца и ИТ-владельца системы | Заказчик |
| Согласование с ИБ (заявки, матрицы доступов, все внутренние процедуры) | Заказчик |
| Выделение серверных мощностей | Заказчик |
| Получение SSL-сертификатов | Заказчик |
| Резервирование DNS-имён | Заказчик |
| Определение типа и количества лицензий | Storm помогает |
| Предоставление лицензионного ключа | Команда Storm |
| Предоставление доступа к Docker-образам (registry token) | Команда Storm |
| Предоставление документации | Команда Storm |
Фаза 1: Инфраструктура и установка
| Задача | Кто |
|---|---|
| Установка ОС, Docker, сети | Заказчик |
| Перенос образа в корпоративный Registry | Заказчик |
| Разворачивание всех компонентов (PostgreSQL, MinIO, Redis, Nginx и т.д.) | Заказчик (по документации) |
| Запуск StormBPMN, первоначальная настройка | Заказчик (по документации) |
| Активация лицензии (HAR — Команда Storm — ключ обратно) | Storm + Заказчик |
| Помощь при проблемах с установкой | Storm помогает |
Фаза 2: Безопасность
| Задача | Кто |
|---|---|
| Разворачивание и настройка Keycloak / ADFS | Заказчик |
| Интеграция Keycloak с AD | Заказчик |
| Настройка OAuth2 ENV в StormBPMN | Заказчик (по документации) |
| Настройка безопасности (CORS, отключение simple auth и пр.) | Заказчик (по документации) |
| Прохождение чек-листа ИБ | Заказчик |
| Консультации по настройке OAuth2, Claims, truststore | Storm помогает |
Фаза 3: Мониторинг и SIEM
| Задача | Кто |
|---|---|
| Разворачивание Prometheus + Grafana | Заказчик |
| Настройка SIEM-интеграции | Заказчик |
| Настройка алертов | Заказчик |
| Предоставление endpoint-ов метрик и health checks | Уже в продукте |
Фаза 4: Бизнес-конфигурация
| Задача | Кто |
|---|---|
| Настройка админ-панели (команды, доступы, email) | Заказчик (по документации) |
| Определение модели доступа к диаграммам | Заказчик |
| Консультации по best practices | Storm помогает |
Фаза 5: Интеграции (опционально)
| Задача | Кто |
|---|---|
| Разработка скриптов синхронизации (оргструктура, архитектура, BPM) | Заказчик |
| Документирование REST API | Уже в документации |
| Консультации по работе с API | Storm помогает |
Фаза 6: Бэкапы, DR
| Задача | Кто |
|---|---|
| Настройка бэкапов, DR, процедуры обновления | Заказчик (по документации) |
| Публикация changelog-ов и информирование о breaking changes | Команда Storm |
Фаза 7: Обучение и запуск
| Задача | Кто |
|---|---|
| Обучение пользователей (программа ~1 месяц) | Команда Storm проводит |
| Назначить участников, обеспечить доступ к staging | Заказчик |
| Подготовка внутренних инструкций (под свои процессы) | Заказчик |
| Пилот с сопровождением вендора | Storm + Заказчик |
| Продуктивный запуск, рассылка инструкций, внутренняя поддержка | Заказчик |
| Content Hub (BPMN-курс) в продукте | Уже в продукте |
Фаза 8: Пост-запуск
| Задача | Кто |
|---|---|
| Текущая эксплуатация и обновления | Заказчик |
| Техподдержка (SLA Enterprise: ответ 16ч) | Команда Storm |
| Новые версии и фичи | Команда Storm |
Сводка: scope Команды Storm
- Лицензии — предоставляет и активирует ключи
- Образы — предоставляет доступ к Docker registry
- Документация — поддерживает в актуальном состоянии
- Обучение — проводит обучение пользователей (~1 месяц)
- Техподдержка — отвечает на вопросы, помогает с проблемами (SLA Enterprise)
- Консультации — помогает с настройкой, интеграциями, методологией
- Обновления — выпускает новые версии с changelog
Всё остальное — ответственность Заказчика.
Фазы внедрения
Закупка ──► Фаза 0 ──► Фаза 1 ──► Фаза 2+3 ──► Фаза 4
лицензий Подготовка Инфраструктура Безопасность Бизнес-
Согласования Базовая установка Мониторинг конфигурация
│
Фаза 5 ──► Фаза 6 ──► Фаза 7 ──► Фаза 8
Интеграции Бэкапы/DR Обучение Пост-запуск
(опц.) Запуск
Закупка лицензий (до старта проекта)
Важно
Это первый шаг. Без лицензии и доступа к образам нет смысла начинать остальное.
| # | Задача | Кто | Детали |
|---|---|---|---|
| L.1 | Определить тип лицензии | Storm + Заказчик | Named или Concurrent — см. Лицензирование |
| L.2 | Определить количество лицензий | Storm + Заказчик | Named: по числу пользователей + 1. Concurrent: по пиковой нагрузке + 1 |
| L.3 | Согласовать и подписать договор | Storm + Заказчик | Включая контракт поддержки (Enterprise SLA) |
| L.4 | Оплата | Заказчик | — |
| L.5 | Предоставить доступ к Docker registry (token) | Команда Storm | — |
| L.6 | Предоставить документацию | Команда Storm | — |
| L.7 | Согласовать бюджет на серверные мощности | Заказчик | См. Системные требования |
Активация лицензионного ключа произойдёт позже (после установки, Фаза 1) — через механизм HAR-архива.
Фаза 0: Подготовка и согласования
Согласование с ИБ
Ответственный: Администратор ИБ заказчика + ИТ-владелец системы
| # | Задача | Артефакт |
|---|---|---|
| 0.1 | Заявка на размещение нового ПО в корпоративной сети | Заявка по форме ИБ |
| 0.2 | Согласование архитектуры и компонентного состава | Схема архитектуры |
| 0.3 | Согласование сетевых портов и протоколов | Матрица доступов из Системные требования |
| 0.4 | Согласование метода аутентификации (Keycloak/ADFS/OAuth2) | Безопасность — OAuth2 |
| 0.5 | Согласование хранения данных (PostgreSQL, MinIO) | Карточка ИС в реестре ИБ |
| 0.6 | Согласование интеграции с SIEM (Syslog) | Безопасность — SIEM |
| 0.7 | Проверка Docker-образов на уязвимости (Cosign-подпись) | Отчёт сканирования |
| 0.8 | Согласование отключения простой аутентификации | Чек-лист ИБ |
| 0.9 | Согласование политики резервного копирования | Обслуживание — Backup |
| 0.10 | Согласование использования AI-функций (если планируется, отдельный проект) | Оценка рисков ИБ |
| 0.11 | Получение SSL-сертификатов (wildcard или per-host) | Сертификаты + ключи |
DNS и сертификаты
Зарезервировать DNS-имена:
| DNS-имя | Назначение |
|---|---|
bpmn.company.ru | Основное приложение StormBPMN |
auth.company.ru | Keycloak (если отдельный) |
s3.company.ru | MinIO Console (опционально) |
grafana.company.ru | Мониторинг (опционально) |
Выбор среды развёртывания
| Вариант | Плюсы | Минусы |
|---|---|---|
| Docker Compose | Простота, быстрый старт | Нет оркестрации, ограниченный HA |
| Kubernetes | Масштабирование, HA, разделение FRONT/BACK | Сложнее настройка |
| Podman | Импортозамещение, rootless | Меньше экспертизы на рынке |
Фаза 1: Инфраструктура и базовая установка
Цель: Развернуть все компоненты, запустить StormBPMN, активировать лицензию, провести smoke-тест.
Кто делает: Заказчик по документации, Команда Storm помогает при проблемах.
Документация:
- Системные требования и компоненты
- Быстрый старт (скриптом) или вручную
- Production-ready установка
- Конфигурация (ENV + админ-панель)
- Лицензирование
Результат: приложение доступно по HTTPS, smoke-тест пройден (вход, создание диаграммы, S3, PlantUML, PDF, collaborative editing).
Фаза 2: Безопасность и интеграция с IdP
Цель: Настроить SSO (Keycloak/ADFS), отключить простую аутентификацию, закрыть чек-лист ИБ.
Кто делает: Заказчик, Команда Storm консультирует по OAuth2.
Документация: Безопасность — OAuth2, Keycloak, ADFS, Claims, CORS, custom SSL, чек-лист.
Результат: вход только через SSO, чек-лист ИБ из документации пройден.
Фаза 3: Мониторинг, логирование, SIEM
Цель: Настроить сбор метрик, алерты, аудит-логирование в SIEM.
Кто делает: Заказчик.
Документация:
Результат: метрики собираются, алерты срабатывают, аудит-события доходят до SIEM.
Фаза 4: Конфигурация бизнес-логики
Цель: Настроить команды, email, доступы, кастомное меню.
Кто делает: Заказчик по документации, Команда Storm консультирует по best practices.
Документация:
Результат: бизнес-настройки выполнены, чек-лист верификации из документации пройден.
Фаза 5: Интеграции (опционально)
Выполняется только по запросу Заказчика, если есть потребность в интеграции с внешними системами.
Кто делает: Заказчик разрабатывает, Команда Storm консультирует по API.
Документация:
- REST API — оргструктура, архитектурные элементы, диаграммы, метрики
- Рецепт: Архитектурный репозиторий
Фаза 6: Бэкапы, DR, обновления
Цель: Настроить резервное копирование, протестировать восстановление, определить RPO/RTO, освоить процедуру обновления версий.
Кто делает: Заказчик по документации.
Документация:
Результат: бэкапы автоматизированы, restore протестирован, DR-процедуры документированы.
Фаза 7: Обучение и запуск
Обучение от вендора (проводит Команда Storm)
Длительность: ~1 месяц. Обучение проводит команда StormBPMN. Формат, расписание и программа согласуются отдельно.
Ориентировочная программа:
| Блок | Аудитория | Формат |
|---|---|---|
| Базовое моделирование BPMN | Все пользователи | Вебинар / workshop |
| Реестр процессов, согласование, регламенты | Аналитики | Workshop |
| Архитектурные элементы и оргструктура | Архитекторы | Workshop |
| Collaborative editing, building blocks | Продвинутые пользователи | Workshop |
| REST API и интеграции | Разработчики заказчика | Workshop |
| Администрирование и эксплуатация | Админы, ops-инженеры | Workshop |
Дополнительно: BPMN-курс в Content Hub (встроен в продукт, самообучение).
Что должен подготовить заказчик
- Назначить участников обучения по каждому блоку
- Обеспечить доступ к staging-среде для практики
- Выделить внутренних Champions/амбассадоров (2-3 человека)
- Подготовить внутренние инструкции (под свои процессы, оргструктуру)
Пилотный запуск
| Задача | Длительность |
|---|---|
| Выбрать пилотную группу (10-20 пользователей) | — |
| Пилотная эксплуатация с сопровождением вендора | 2-3 недели |
| Собрать обратную связь, исправить проблемы | 2-3 дня |
Продуктивный запуск
- Массовая миграция пользователей (через SSO — автоматически при входе)
- Рассылка инструкции всем пользователям
- Организовать внутренний канал поддержки (первая линия)
- Мониторинг adoption-метрик (DAU, кол-во диаграмм)
Go/No-Go критерии
- Все компоненты развёрнуты и работают (smoke-тест пройден)
- SSO интегрирован и протестирован
- SIEM-логирование работает и согласовано с ИБ
- Мониторинг настроен, алерты срабатывают
- Бэкапы настроены, восстановление протестировано
- Лицензия активирована
- Пилотная группа провела тестирование без критичных багов
- Обучающие материалы подготовлены
- DR-процедуры документированы и протестированы
- Контакт поддержки StormBPMN подтверждён
Фаза 8: Пост-запуск
Текущее сопровождение (ответственность заказчика)
| Задача | Частота |
|---|---|
| Обновление версий StormBPMN (по changelog) | По мере выхода |
| Ротация SSL-сертификатов | До истечения |
| Тестовый restore из бэкапа | Ежемесячно |
| Ревью SIEM-логов | Еженедельно |
| Мониторинг использования лицензий | Ежемесячно |
| Обновление Keycloak | По мере выхода патчей |
Выделение мощностей
Минимальные и рекомендуемые требования — см. Системные требования.
Сводка: 16-24 vCPU, 20-34 GB RAM, 270-420 GB SSD для полной конфигурации.
Варианты размещения
| Вариант | Описание | Когда |
|---|---|---|
| Один сервер | 24 vCPU, 32 GB, 500 GB SSD | До 100 пользователей |
| Два сервера (App + DB) | App: 16/16 GB. DB: 8/16 GB, 500 GB | 100-200 пользователей |
| Kubernetes кластер | 3+ ноды, auto-scaling | 200+ пользователей |
Среды
| Среда | Назначение | Ресурсы |
|---|---|---|
| Staging | Обкатка обновлений, тестирование интеграций | ~50% от прода |
| Production | Основная работа | 100% |
Рекомендация
Обязательно иметь staging-среду для тестирования обновлений перед продакшн.
Команда проекта и RACI
Роли на стороне заказчика
| Роль | Описание | Кол-во |
|---|---|---|
| PM проекта | Координация, сроки, риски | 1 |
| Системный администратор | Серверы, Docker, сеть | 1-2 |
| Администратор ИБ | Безопасность, SIEM, доступы | 1 |
| DevOps-инженер | CI/CD, мониторинг, автоматизация | 1 |
| Бизнес-аналитик (лид) | Методология, обучение, пилот | 1 |
| Разработчик интеграций | REST API, скрипты синхронизации | 1 |
| Команда Storm | Лицензия, поддержка, консультации, обучение | Vendor |
RACI-матрица
| Задача | PM | SysAdmin | ИБ | DevOps | BA | Dev | Vendor |
|---|---|---|---|---|---|---|---|
| Согласование с ИБ | A | C | R | I | I | I | C |
| Выделение серверов | A | R | I | C | I | I | C |
| Установка инфраструктуры | I | R | I | R | I | I | C |
| Настройка SSO | I | R | A | C | I | I | C |
| Настройка SIEM | I | C | R | C | I | I | C |
| Настройка мониторинга | I | I | I | R | I | I | C |
| Бизнес-конфигурация | I | I | I | I | R | I | C |
| Интеграции (API) | I | I | I | I | C | R | C |
| Обучение пользователей | I | I | I | I | C | I | R |
| Пилот и запуск | A | C | C | C | R | C | C |
| Бэкапы и DR | I | R | I | R | I | I | C |
Риски и митигации
| # | Риск | Вероят. | Влияние | Митигация |
|---|---|---|---|---|
| 1 | Задержка согласования с ИБ | Высокая | Высокое | Привлечь ИБ с первого дня, начать до закупки серверов |
| 2 | Несовместимость с корпоративным AD | Средняя | Высокое | Keycloak как прослойка, тест на staging |
| 3 | Нехватка серверных ресурсов | Низкая | Среднее | Запас 30%, мониторинг с первого дня |
| 4 | Проблемы при обновлении версий | Средняя | Высокое | Staging-среда, бэкап перед каждым обновлением |
| 5 | Низкое adoption пользователями | Средняя | Высокое | Пилот, обучение, Champions, Content Hub |
| 6 | Потеря файлов (сбой MinIO) | Низкая | Критическое | Регулярные бэкапы, мониторинг диска |
| 7 | Утечка JWT-секрета | Низкая | Критическое | 64+ символов, ENV не в UI, ротация |
| 8 | Блокировка лицензий (expiration) | Низкая | Критическое | Мониторинг сроков, заранее обновлять ключ |
| 9 | Требование импортозамещения (Docker — Podman) | Низкая | Среднее | Поддержка Podman/CRI-O подтверждена |
Критерии приёмки
Система считается внедрённой, когда выполнен результат каждой фазы и пройдены Go/No-Go критерии перед продуктивным запуском.