Multi-environment - Release promotion
Release promotion is a process of moving decision models from one environment to another without the need for manual decision modification. For an optimal environment setup and configuration, we recommend establishing a three distinct environments (DEV
, UAT
, and PROD
).
Each environment should have its own dedicated instance of BRMS and a separate BRMS database, ideally hosted on different servers. Each BRMS Instance is a full-fledged BRMS, equipped with a UI
, API
, and Business Rules Engine
.
While it is possible to independently manage rules in each environment, we highly recommend managing the rules in a Lower environment. The promotion of decision models should be executed through a process known as Releases. Release is a ZIP file that contains all Published decision models for a specific project that were published at the point of creating a release. Unpublished models will not be part of the Release ZIP.
Managing and promoting releases can be achieved either via UI or by leveraging the BRMS API.
High-level architecture
Diagram bellow represents Multi environment deployment and promotion using CICD.
Sequence diagram (Manual or BRMS API)
The diagram below illustrates the complete sequence of steps required, starting from the creation of a release to its deployment in a higher environment.
BRMS APIs Reference:
- Create Release - creates a Release (snapshot of all published Decision Models for a specific project) on a lower environment.
- Download Release - downloads ZIP file from a lower environment
- Upload Release - uploads a ZIP file to a higher environment
- Apply Release - applies and publishes Release package on a higher environment