Skip to main content

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.

Multi-environment deployment

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.

Release promotion sequence diagram

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