Creatio administration
This documentation is valid for Creatio version 7.14.0. We recommend using the newest version of Creatio documentation.

Setting up a web-farm for bpm’online application server

You can enhance the performance of large-scale bpm’online projects (up to several thousand users) through horizontal scaling, i.e., increasing the number of servers with deployed bpm’online applications and distributing the workload between them.

The load balancer may be either hardware or software. To work in fault-tolerant mode, use the HTTP/HTTPS traffic balancer that supports the WebSocket protocol. Bpm’online has been tested on HAProxy software load balancer. There are cases of successful implementation of other balancers, e.g., Citrix, Cisco, NginX, FortiGate, MS ARR.

This guide covers horizontal scaling of bpm’online application using a free open-source load balancer (HAProxy), designed for distributing the load between several application servers.

General deployment procedure

To deploy bpm’online with horizontal scaling of application servers:

1.Deploy all needed bpm’online application instances in a web-farm.

The parameters, as well as the needed number of server sessions for different scaling scenarios, are specified in the system requirements for bpm’online servers.

Bpm’online on-site deployment procedure is available in a separate article.

Note

It is recommended to specify identical names in IIS and the Application pool setting for all instances of the application.

2.Specify the same SQL and Redis databases in the ConnectionStrings.config file for all instances.

<add name=”redis” connectionString=”host=DOMAIN.COM;db=0;port=6379;maxReadPoolSize=10;maxWritePoolSize=500”/>
<add name=”db” connectionString=”Data Source=DOMAIN.COM;Initial Catalog=DatabaseName;Integrated Security=SSPI; MultipleActiveResultSets=True;Pooling-true;Max Pool Size=100”/>

3.In the <appSettings> block of the application’s “Web.config” file, add the following key:

<add key="TenantId" value="1" />

The “value” number should be the same for all application instances of the web-farm.

Attention

Starting with bpm’online version 7.14.1, the <add key="TenantId" value="...”/> key can only be added to the internal Web.config file (Terrasoft.WebApp\Web.config). Adding the key to an external Web.config file may lead to application failures.

4.For each application, specify the same machineKey values for all sites in the Web.config file.

5.Grant access permissions to created application directories for the IUSR user and the user who launches Application pool in IIS.

6.Set up a load balancer (e.g., HAProxy) for distributing the workload between the deployed application servers.

7.If necessary, set up workload balancing for database and session servers.

Note

More information about the clustering setup is available in the MSSQL and Oracle user guides. The fault tolerance setup using Redis Sentinel is described in a separate article.

Did you find this information useful?

How can we improve it?