Best practices in the production environment

<< Click to Display Table of Contents >>

Navigation:  Automation Server > Automation Server configuration and administration guide > Initial project configuration >

Best practices in the production environment

Overview

The production environment (where your business processes are made available to your corporate end users) is the most critical environment in terms of having safe operations and adequate response times.

In this environment your processes must work at their best, to avoid disruptions, ensure the accuracy and availability of the information and provide the best user experience.

 

This section lists best practices for you to take into account when seeking a best operation of your processes in the production environment.

 

Governance best practices

Consider the following recommendations aimed at how to carry out your procedures around Bizagi processes.

 

1. Avoid affecting end users to the maximum.

For instance this is absolutely applicable when performing maintenance or system tasks. For example:

 

System tasks integrating other systems, such as LDAP synchronization or Data replication, should be carried out a non-working hours.

When using LDAP synchronization to import your users into Bizagi, when synchronizing records in parameter entities from external data sources, or in general, when having the system perform a task which incurs in processing large volumes of information, it is important that you schedule such task to occur out of work hours at best, at non-busy hours or at a time of least throughput.

For LDAP synchronization, this is relevant when synchronizing more than 1000 users.

 

Bizagi maintenance should be carried out a non-working hours, and planned and communicated accordingly.

Similarly, any maintenance task affecting the availability of your processes, should be carried out in an appropriate time frame which affects minimally the end users and the system's busy hours.

Such tasks can involve: process deployments, version upgrades, database tuning, platform updates and patches, archiving information.

Maintenance tasks imply planned downtime; and as such, it is important that you communicate, plan and coordinate such tasks beforehand and while having due contingency measures when applicable.

 

2. Enforce continuous improvement while minimizing risks.

Continuous improvement is a key part to deliver your Bizagi processes, and leverage flexibility along with the dynamism of your evolving business.

However, when enforcing continuous improvement and performing round trips in your process definitions, it is important that you acknowledge which type of improvements/changes you need and how will these affect your running operations.

To approach continuous improvement with your Bizagi processes, consider classifying changes into these categories:

Changes affecting the process workflow (e.g., new process paths/tasks; or paths/tasks which are no longer needed).

Changes affecting the data model (e.g., new attributes, entities or relationships).

Changes affecting the process logic (e.g., a modification in a business rule).

All other changes different from the above (such as a modification in a user interface).

Such changes are usually considered minor.

 

Bizagi allows you to create new version of the process as a whole, or new versions of its inner process definitions (such as the user interfaces).

Creating a new version of the process separates process' definitions as well (clones them into a new version), except for the data model.

Existing cases in a production environment continue to work on the process version they were initially created, while new cases will always run under the latest process version.

Therefore, you will need to decide if it is best for your scenario to create a new process version completely or simply create a new version of the user interfaces.

 

To analyze and decide best, consider:

 

NEW VERSION OF

WHEN IT IS SUGGESTED

The process as a whole

Whenever you need changes affecting the process workflow.

Whenever you need major changes affecting the data model (an important amount of new definitions, or discontinuing the use of some of these definitions).

Whenever you need changes affecting the process logic and you're not sure how the new changes will affect the current cases running in production environments.

The user interfaces (forms)

Whenever you need changes, which are usually considered minor in user interfaces.

Whenever you need changes affecting the data model, such as simply creating new definitions to have their information captured in the user interfaces.

Whenever you need changes affecting the process logic and such logic is applicable to a rule which relies on the information within the form.

 

According to the above, you do not need to create a new version of the process, nor of the user interfaces, if the changes are considered minor and very specific; and you are sure that these changes will not create side effects on cases running in production environments.

 

Configuration best practices

Consider the following recommendations aimed at how to best configure certain Bizagi features.

 

1. Always use filters where applicable.

For instance when synchronizing users from LDAP, or when using Data replication or Data virtualization, it should be optimal to rely on adequate filters to narrow down the volume of information processed to that one which is actually needed.

 

2. Disable traces by default.

For a production environment, it is really important that traces are not left as active (these should be disabled by default).

Traces provide a measure to follow up issues (should they arise) and, therefore, these should be active only when needed (upon identifying that something needs to be diagnosed for a limited, reduced time).

Permanently-running traces in the production environment are not recommended, since trace files and logs can grow a lot, thus inducing performance problems (I/O contention).

 

3. Configure integrations adequately.

When integrating with another service, repository or system in general, it is very important that you consider the recommended best practices as available at https://help.bizagi.com/bpm-suite/en/index.html?what_to_avoid_in_interfaces.htm (such as setting these in asynchronous activities, setting explicitly a reasonable timeout, designing according to the volume of information that is exchanged).

 

Performance and availability best practices

Consider carrying out the infrastructure measures to overall enhance performance and availability of your operations.

Consider:

Setting up a Bizagi ODS (e.g., for best availability and performance of the Work portal for daily tasks).

Configuring the SMTP service through IIS (e.g., for enhanced business continuity).

Scaling out the Scheduler service (e.g., for high availability and scalability of the Scheduler).

Using an external session state repository (e.g,. to leverage best scalability and processing capabilities).

 

For a reference architecture, system requirements, sizing, growth and scalability details, and a complete overview of best practices oriented to the infrastructure, refer to the complete System requirements chapter at https://help.bizagi.com/bpm-suite/en/index.html?automation_systemreq.htm.

 

Security best practices

Consider carrying out the security hardening for the Work portal, as described at Security hardening at the IIS.