Best practices in the production environment
The Production environment (where your business processes are made available to your end users) is the most critical environment that requires safe operations and adequate response times.
In this environment your processes must work at their best, to avoid disruptions, make sure the accuracy and availability of information and provide the best user experience.
This section lists best practices for you to take into account when seeking the best operation of your processes in the Production environment.
Governance best practices
Consider the following recommendations to help you carry out procedures related to Bizagi processes.
1. Avoid affecting end users
This is absolutely applicable when performing maintenance or system tasks. For example:
•Carry out system tasks integrating other systems, such as LDAP synchronization or Data replication, during non-working or off-peak hours
When using LDAP synchronization to import your users into Bizagi, synchronizing records in parameter entities from external data sources, or, in general, when having the system perform a task which involves in processing large volumes of information, schedule the task to occur outside 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.
•Carry out Bizagi maintenance during non-working hours, plan and communicate accordingly.
Similarly, carry out any maintenance task affecting the availability of your processes, in an appropriate time frame which reduce the effect on your end users.
Such tasks can involve: process deployments, version upgrades, database tuning, platform updates and patches, and archiving information.
Maintenance tasks imply planned downtime. Plan the work, communicate, it to your team and coordinate such tasks beforehand. Have contingency measures in place when applicable.
2. Enforce continuous improvement while minimizing risks
Continuous improvement is key to delivering your Bizagi processes, and leveraging flexibility along with the dynamism of your evolving business.
However, when enforcing continuous improvement and performing round trips in your process definitions, review which types of improvements/changes you need and how these may 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., introducing new process paths/tasks; retiring paths/tasks which are no longer needed).
•Changes affecting the data model (e.g., new attributes, entities or relationships).
•Changes affecting process logic (e.g., a modification in a business rule).
•All other changes (such as a modification in the user interface).
Such changes are usually considered minor.
Bizagi lets you to create a 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 the new version), except for the data model.
Existing cases in a production environment continue to work on the process version with which they were created, while new cases will always run under the latest process version.
Therefore, you 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.
NEW VERSION OF
WHEN IT IS RECOMMENDED
The process as a whole
•When you need changes affecting the process workflow.
•When you need major changes affecting the data model (an important number of new definitions, or discontinuing the use of some existing definitions).
•When you need changes affecting process logic and you're not sure how the changes will affect the current cases running in Production environments.
The user interfaces (forms)
•When you need changes, which are usually considered minor in user interfaces.
•When you need changes affecting the data model, such as simply creating new definitions to have their information captured in the user interfaces.
•When you need changes affecting process logic and that is applicable to a rule which relies on information within a form.
According to the above, you do not need to create a new version of the process, or of the user interface, if the changes are considered minor and very specific; and you are sure that these changes will not create side effects for cases running in production environments.
Configuration best practices
Consider the following recommendations 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, rely on adequate filters to narrow down the volume of information processed to what is actually needed.
2. Disable traces by default
For a production environment, it is really important to disable traces.
Traces provide a measure to follow up issues (should they arise) and, therefore, should be active only when needed (after identifying that something needs to be diagnosed for a limited period of time).
We do not recommend continuously running traces in the Production environment, since trace files and logs can grow a lot, thus generating performance problems (I/O contention).
3. Configure integrations adequately
When integrating with another service, repository or system in general, 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 integrations in asynchronous activities, setting a reasonable timeout, and designing according to the volume of information that is exchanged).
Performance and availability best practices
Consider carrying out these infrastructure measures to enhance performance and availability of your operations.
•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 (for enhanced business continuity).
•Scaling out the Scheduler service (for high availability and scalability of the Scheduler).
•Using an external session state repository (to leverage best scalability and processing capabilities).
For 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 security hardening for the Work portal, as described at Security hardening at the IIS.