Skip to main content

StormBPMN Enterprise Implementation Plan

About 9 min

StormBPMN Enterprise Implementation Plan

This article outlines the complete plan for implementing StormBPMN Enterprise on the customer's side: from license procurement to production launch. The plan is high-level β€” details for each step are available in the corresponding sections of the documentation.

Project Overview

StormBPMN Enterprise is a corporate on-premise platform for business process modeling in BPMN 2.0. For a full description of features and architecture, see Architecture Diagram.

The documentation describes 4 deployment levels (minimal, basic, corporate, full). Recommendation for full implementation β€” "Full Configuration" (11 components). Details β€” System Requirements.

Estimated Timelines

PhaseDurationIn Parallel With
Phase 0: Preparation2-3 weeksβ€”
Phase 1: Infrastructure1-2 weeksβ€”
Phase 2: Security1-2 weeksPhase 3
Phase 3: Monitoring1 weekPhase 2
Phase 4: Business Configuration1 weekβ€”
Phase 5: Integrations (optional)On requestβ€”
Phase 6: Backups and DR1 weekPhase 5
Phase 7: Vendor Training + Go-Live~1 monthβ€”
Phase 8: Post-Go-LiveOngoingβ€”
Total to Production Launch~12-16 weeks

Key Roles on the Customer Side

Important

Without the assignment of these roles, the implementation project is doomed to stall. The customer must designate specific individuals and formalize this with an order/directive before the project starts.

Mandatory Roles

RoleWhoPurposeWithout them...
System Owner (Business)Department Director / CFO level executiveMakes decisions on scope, priorities, and budget. Responsible for adoption. Removes organizational blockersNo quorum for approvals, no one drives progress within the organization
IT System OwnerIT department head or designated team leadMakes technical decisions (infrastructure, integrations, security). Allocates IT team resources. Escalation point for technical issuesServers are not allocated, security is not approved, network access is not opened β€” the project stalls

Recommended Roles

RoleWhoPurpose
Client-side PMDedicated project managerCoordinates internal work, tracks tasks on the client side
System AdministratorIT department engineerActually deploys, configures, and updates the system. Point of contact for operations
Security AdministratorInformation security department employeeApprovals, SIEM, audit, access management
Methodologist / Business Analyst LeadExperienced analystDefines the modeling methodology, trains colleagues, leads the pilot
Champions (ambassadors)2-3 active usersEvangelists within the organization, first line of support

Antipatterns

  • "The system owner is the IT director, but he is busy" β€” appoint a deputy with full authority
  • "We haven't decided who is responsible yet" β€” STOP, do not start the project
  • "One admin does everything" β€” bus factor = 1 risk, require at least two people

Separation of Responsibilities

The Storm team is the provider of licenses and software. The Customer performs the primary implementation work. The Storm team provides consultations and support.

Notations in tables:

  • Customer β€” entirely on the Customer's side
  • Storm assists β€” The Customer performs the work; the Storm team provides consultations / answers questions
  • Storm + Customer β€” joint work
  • Storm team β€” on the Storm side

Phase 0: Preparation

TaskWho
Appoint the system owner and IT ownerCustomer
Coordination with Information Security (requests, access matrices, all internal procedures)Customer
Allocation of server resourcesCustomer
Obtaining SSL certificatesCustomer
Reserving DNS namesCustomer
Determining the type and quantity of licensesStorm assists
Providing the license keyStorm team
Providing access to Docker images (registry token)Storm team
Providing documentationStorm team

Phase 1: Infrastructure and Installation

TaskWho
OS, Docker, and network installationCustomer
Transfer of the image to the corporate RegistryCustomer
Deployment of all components (PostgreSQL with pgvector/pg_trgm extensions and others β€” see requirements, MinIO, Redis, Nginx, etc.)Customer (per documentation)
Starting StormBPMN, initial configurationCustomer (per documentation)
License activation (full activation code β€” Storm Team β€” v2 key)Storm + Customer
Assistance with installation issuesStorm provides support

Phase 2: Security

TaskWho
Deployment and configuration of Keycloak / ADFSCustomer
Integration of Keycloak with ADCustomer
Configuration of OAuth2 ENV in StormBPMNCustomer (per documentation)
Security configuration (CORS, disabling simple auth, etc.)Customer (per documentation)
Completion of the security checklistCustomer
Consultations on configuring OAuth2, Claims, truststoreStorm provides assistance

Phase 3: Monitoring and SIEM

TaskWho
Deploying Prometheus + GrafanaCustomer
Configuring SIEM integrationCustomer
Configuring alertsCustomer
Providing metrics and health check endpointsAlready in the product

Phase 4: Business Configuration

TaskWho
Admin panel configuration (commands, access rights, email)Customer (per documentation)
Definition of the access model to diagramsCustomer
Best practices consultingStorm assists

Phase 5: Integrations (Optional)

TaskWho
Development of synchronization scripts (org structure, architecture, BPM)Customer
Documentation of the REST APIAlready included in the documentation
Consultation on API usageStorm provides assistance

Phase 6: Backups, DR

TaskWho
Configuring backups, DR, and update proceduresCustomer (per documentation)
Publishing changelogs and notifying about breaking changesStorm team

Phase 7: Training and Launch

TaskWho
User training (program ~1 month)Storm team conducts
Assign participants, provide access to stagingCustomer
Prepare internal instructions (for own processes)Customer
Pilot with vendor supportStorm + Customer
Production launch, distribution of instructions, internal supportCustomer
Content Hub (BPMN course) in the productAlready in the product

Phase 8: Post-launch

TaskWho
Current operations and updatesCustomer
Technical support (SLA Enterprise: response 16h)Storm Team
New versions and featuresStorm Team

Summary: Storm Command scope

  1. Licenses β€” provides and activates keys
  2. Images β€” provides access to the Docker registry
  3. Documentation β€” keeps it up to date
  4. Training β€” provides user training (~1 month)
  5. Technical Support β€” answers questions and helps with issues (Enterprise SLA)
  6. Consulting β€” assists with configuration, integrations, and methodology
  7. Updates β€” releases new versions with a changelog

Everything else is the Customer's responsibility.


Deployment Phases

Π—Π°ΠΊΡƒΠΏΠΊΠ° ──► Π€Π°Π·Π° 0        ──► Π€Π°Π·Π° 1          ──► Π€Π°Π·Π° 2+3      ──► Π€Π°Π·Π° 4
Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ    ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°         Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°      Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ       БизнСс-
            Богласования       Базовая установка    ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³         конфигурация
                                                                           β”‚
                                                    Π€Π°Π·Π° 5 ──► Π€Π°Π·Π° 6 ──► Π€Π°Π·Π° 7 ──► Π€Π°Π·Π° 8
                                                    Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ  Бэкапы/DR  ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅    ΠŸΠΎΡΡ‚-запуск
                                                    (ΠΎΠΏΡ†.)                 Запуск

License Procurement (Pre-Project Start)

Important

This is the first step. Without a license and access to the images, there is no point in starting the rest.

#TaskWhoDetails
L.1Determine license typeStorm + CustomerNamed or Concurrent β€” see Licensing
L.2Determine number of licensesStorm + CustomerNamed: number of users + 1. Concurrent: peak load + 1
L.3Agree on and sign the contractStorm + CustomerIncluding the support contract (Enterprise SLA)
L.4PaymentCustomerβ€”
L.5Provide access to Docker registry (token)Storm Teamβ€”
L.6Provide documentationStorm Teamβ€”
L.7Agree on budget for server resourcesCustomerSee System Requirements

After installation, obtain the full activation code without truncation at /admin-onboarding and pass it to the manager. Set the received key in LICENSE_KEY_V2 and restart the application. A separate key is required for production, each test environment, DR site, and clone. Existing installations may temporarily continue operating with an outdated LICENSE_KEY without immediate replacement; due to a known security limitation, plan their phased migration to v2.


Phase 0: Preparation and Approvals

Security Approval

Owner: Customer's Information Security Administrator + System IT Owner

#TaskArtifact
0.1Request to deploy new software in the corporate networkRequest in the IS form
0.2Approval of architecture and component compositionArchitecture Diagram
0.3Approval of network ports and protocolsAccess matrix from System Requirements
0.4Approval of the authentication method (Keycloak/ADFS/OAuth2)Security β€” OAuth2
0.5Approval of data storage (PostgreSQL, MinIO)IS card in the IS registry
0.6Approval of SIEM integration (Syslog)Security β€” SIEM
0.7Vulnerability scan of Docker images (Cosign signature)Scanning report
0.8Approval of disabling simple authenticationIS Checklist
0.9Approval of the backup policyMaintenance β€” Backup
0.10Approval of AI feature usage (if planned, separate project)IS risk assessment
0.11Obtaining SSL certificates (wildcard or per-host)Certificates + keys

DNS and Certificates

Reserve the following DNS names:

DNS NamePurpose
bpmn.company.ruMain StormBPMN application
auth.company.ruKeycloak (if separate)
s3.company.ruMinIO Console (optional)
grafana.company.ruMonitoring (optional)

Choosing a Deployment Environment

OptionProsCons
Docker ComposeSimplicity, quick startNo orchestration, limited HA
KubernetesScalability, HA, separation of FRONT/BACKMore complex configuration
PodmanImport substitution, rootlessLess market expertise

Phase 1: Infrastructure and Basic Installation

Objective: Deploy all components, start Stormbpmn, activate the license, and run a smoke test.

Who does it: The customer follows the documentation; the Storm team assists with any issues.

Documentation:

Outcome: The application is accessible via HTTPS, and the smoke test has passed (login, diagram creation, S3, PlantUML, PDF, collaborative editing).


Phase 2: Security and IdP Integration

Objective: Configure SSO (Keycloak/ADFS), disable simple authentication, and complete the security checklist.

Who does it: The Customer; the Storm team provides consulting on OAuth2.

Documentation: Security β€” OAuth2, Keycloak, ADFS, Claims, CORS, custom SSL, checklist.

Result: Access is available only via SSO, and the security checklist from the documentation has been completed.


Phase 3: Monitoring, Logging, SIEM

Objective: Configure metrics collection, alerts, and audit logging in SIEM.

Responsible party: Customer.

Documentation:

Outcome: Metrics are collected, alerts are triggered, and audit events reach the SIEM.


Phase 4: Business Logic Configuration

Objective: Configure commands, email, access rights, and custom menu.

Who does it: The Customer follows the documentation; the Storm team consults on best practices.

Documentation:

Result: Business settings are implemented, and the verification checklist from the documentation is passed.


Phase 5: Integrations (optional)

Performed only upon the Customer's request, if there is a need to integrate with external systems.

Who does it: The Customer develops, the Storm Team consults on the API.

Documentation:


Phase 6: Backups, DR, Updates

Goal: Configure backup, test restore, define RPO/RTO, and master the version update procedure.

Who does it: The Customer, following the documentation.

Documentation:

Result: Backups are automated, restore is tested, the used license secrets (LICENSE_KEY_V2 and the temporarily required LICENSE_KEY) are stored in a secure vault, and DR procedures include verification of the selected license mode and regular user access.


Phase 7: Training and Launch

Vendor-led training (delivered by the Storm Team)

Duration: ~1 month. Training is delivered by the StormBPMN team. Format, schedule, and curriculum are agreed upon separately.

Indicative program:

BlockAudienceFormat
Basic BPMN modelingAll usersWebinar / workshop
Process registry, approval, regulationsAnalystsWorkshop
Architectural elements and org structureArchitectsWorkshop
Collaborative editing, building blocksAdvanced usersWorkshop
REST API and integrationsCustomer developersWorkshop
Administration and operationsAdmins, ops engineersWorkshop

Additionally: BPMN course in Content Hub (built into the product, self-study).

What the client must prepare

  • Assign training participants for each block
  • Provide access to the staging environment for practice
  • Designate internal Champions/ambassadors (2-3 people)
  • Prepare internal instructions (for their own processes and org structure)

Pilot Launch

TaskDuration
Select a pilot group (10-20 users)β€”
Pilot operation with vendor support2-3 weeks
Collect feedback, fix issues2-3 days

Production Launch

  • Bulk user migration (via SSO β€” automatically upon login)
  • Send instructions to all users
  • Set up an internal support channel (first line)
  • Monitor adoption metrics (DAU, number of diagrams)

Go/No-Go criteria

  • All components are deployed and operational (smoke test passed)
  • SSO is integrated and tested
  • SIEM logging is operational and aligned with security requirements
  • Monitoring is configured, and alerts are triggering correctly
  • Backups are configured, and restoration has been tested
  • License is activated
  • The pilot group has completed testing without critical bugs
  • Training materials are prepared
  • DR procedures are documented and tested
  • StormBPMN support contact is confirmed

Phase 8: Post-launch

Current Maintenance (Customer Responsibility)

TaskFrequency
Updating StormBPMN versions (per changelog)As released
SSL certificate rotationBefore expiration
Test restore from backupMonthly
SIEM log reviewWeekly
License usage monitoringMonthly
Keycloak updatesAs patches are released

Capacity Allocation

For minimum and recommended requirements, see System Requirements.

Summary: 16-24 vCPU, 20-34 GB RAM, 270-420 GB SSD for the full configuration.

Deployment Options

OptionDescriptionWhen
Single server24 vCPU, 32 GB, 500 GB SSDUp to 100 users
Two servers (App + DB)App: 16/16 GB. DB: 8/16 GB, 500 GB100-200 users
Kubernetes cluster3+ nodes, auto-scaling200+ users

Environments

EnvironmentPurposeResources
StagingTesting updates, integration testing~50% of production
ProductionPrimary operations100%

Recommendation

A staging environment must be available for testing updates before production.


Project Team and RACI

Customer-side roles

RoleDescriptionQuantity
Project PMCoordination, deadlines, risks1
System administratorServers, Docker, network1-2
Security administratorSecurity, SIEM, access control1
DevOps engineerCI/CD, monitoring, automation1
Business analyst (lead)Methodology, training, pilot1
Integration developerREST API, synchronization scripts1
Storm teamLicense, support, consulting, trainingVendor

RACI Matrix

TaskPMSysAdminSecurityDevOpsBADevVendor
Security approvalACRIIIC
Server allocationARICIIC
Infrastructure installationIRIRIIC
SSO configurationIRACIIC
SIEM configurationICRCIIC
Monitoring configurationIIIRIIC
Business configurationIIIIRIC
Integrations (API)IIIICRC
User trainingIIIICIR
Pilot and launchACCCRCC
Backups and DRIRIRIIC

Risks and Mitigations

#RiskProb.ImpactMitigation
1Delay in security approvalHighHighInvolve security team from day one, start before server procurement
2Incompatibility with corporate ADMediumHighKeycloak as a proxy, testing on staging
3Insufficient server resourcesLowMedium30% buffer, monitoring from day one
4Issues during version updatesMediumHighStaging environment, backup before each update
5Low user adoptionMediumHighPilot, training, Champions, Content Hub
6File loss (MinIO failure)LowCriticalRegular backups, disk monitoring
7JWT secret leakLowCritical64+ characters, ENV not in UI, rotation
8License lockout (expiration)LowCriticalDeadline monitoring, renew key in advance
9Import substitution requirement (Docker β€” Podman)LowMediumPodman/CRI-O support confirmed

Acceptance Criteria

The system is considered deployed when the outcome of each phase has been achieved and the Go/No-Go criteria have been passed before the production launch.

How to measure implementation results

After launch, use the β€œStorm Implementation Pulse” recipe: SQL queries for audience, retention, user activity, and the live process model registry, with chart examples and BI dashboard configuration.