High availability .NET system requirements

<< Click to Display Table of Contents >>

Navigation:  Bizagi Engine > Bizagi Engine system requirements > Bizagi Engine running in a .NET platform >

High availability .NET system requirements

Overview

A high availability architecture is designed for mission critical business processes which are expected to be available 24/7/365.

Bizagi supports a high availability architecture to run processes in a .NET platform, with its system requirements involving the following:

 

A database cluster, in order to rely on failover capabilities at the database server.

A Bizagi cluster, in order to support load balancing capabilities.

A load balancer, in order to provide load balancing for the Bizagi cluster.

HA_system_architecture

 

You may download here a PDF document containing case studies of Bizagi system architecture, in which operating environment setups are illustrated for large scale corporate projects having high processing volumes.

 

Optional setup for Internet access

For projects in which end users need to work on the processes via internet from any device, and the solution is set up on premises, an optional server can be considered to host a reverse proxy capabilities.

The optional server having reverse proxy capabilities is set in the DMZ, and this can be accomplished through an Apache HTTP Server, in order to:

Keep the access provided to intranet users, so that they work  in processes through the corporate network.

Allow internet access through a secure channel, so that internet users work on processes while keeping your Bizagi server most restricted, with due security measures at this point.

 

For a high availability solution, this setup considers a proxy server using 2 nodes behind a load balancer (in order to avoid single points of failure in your system architecture).

 

HA_proxy_system_architecture

 

Database server

For a high availability system architecture, 2 nodes for the database are recommended (to set up fault tolerance, in a failover cluster).

Each node should consider the following requirements:

 

MINIMUM REQUIREMENTS FOR EACH NODE FOR THE DATABASE SERVER

HARDWARE

RAM

16 GB minimum.

It is strongly recommended to consider the most RAM you can use to provide the best performance.

Hard Disk

Two disks of 80 GB - RAID 1

It is strongly recommended to use high-speed disk drives.

Processor

64-bit

4 cores minimum

3GHz or higher

Additional recommendations

Two NIC - Dual port 1GB

Redundant Power Supply

SOFTWARE

Database Engine

Standard or higher editions of:

Microsoft SQL Server 2016 SP1 or higher

Microsoft SQL Server 2014

Microsoft SQL Server 2012

Microsoft SQL Server 2008 R2 SP1 or higher

Microsoft SQL Server 2008 SP3 or higher

Oracle Database 12c

Oracle Database 11g R2

 

note_pin

Operating systems installed in Turkish language are not supported.

All involved servers will need to be set with regional settings different to those for Turkish language and culture (tr, tr-TR).

 

Bizagi server

For a high availability system architecture, 2 nodes for a Bizagi cluster are recommended (to set up load balancing capabilities).

Each node should consider the following requirements:

 

MINIMUM REQUIREMENTS FOR EACH NODE FOR THE BIZAGI SERVER

HARDWARE

RAM

16 GB minimum.

Hard Disk

Two disks of 80 GB - RAID 1.

Processor

64-bit

4 cores minimum.

3GHz or higher

Additional recommendations

Two NIC - Dual port 1GB

Redundant Power Supply

SOFTWARE

Operating System

Windows Server 2012 R2 (recommended)

Windows Server 2008 R2

These operating systems should have the latest Service Pack installed.

Web Server

IIS 8.5

IIS 7.5

Additional Components

Bizagi Engine, which also installs Microsoft's .NET Framework version 4.6.1 (and this one includes in turn, other components such as Visual C++ 2010, 2008 Redistributable).

Oracle Data Provider for .NET component (applies to projects that connect to an Oracle database).

 

Proxy server (optional)

For a secure access to processes via Internet, and when having Bizagi set up at your corporate premises, it is recommended to use 2 nodes for a proxy server in a high availability system architecture (configuring a load balance cluster at this layer).

Each node should consider the following requirements, involving an Apache HTTP Server:

 

PROXY SERVER

HARDWARE

Hard Disk

1 GB

Additional recommendations

Two NIC - Dual port 1GB

Redundant Power Supply

SOFTWARE

Reverse proxy module

Apache HTTP Server.

Requisites to set an Apache HTTP Server instance can be reviewed at Apache HTTP project official's documentation according to the specific version and platform.

 

Relevant infrastructure aspects

Consider the following infrastructure requirements and other relevant recommendations:

 

1. Network

It is fundamental that you can rely on an adequate connection between the database servers and the Bizagi servers, in order to provide an optimal performance (Bizagi is an intensive data-access application).

It is strongly recommended to keep the database and the Bizagi server separately (on dedicated servers) but with them being on the same network segment and relying on a switch, so that a low latency is achieved (0,15ms on average), as well as an appropriate bandwidth (e.g,  optical fiber technology).

 

2. Database cluster

When configuring a database cluster, all common recommendations for a clustered setup apply, such as making sure you consider the necessary measures that apply for your cluster technology.

Such measures include using any redundant measures for your SAN (if applies), best practices for the network connection between your nodes (i.e an optimal bandwidth and latency, additional NICs if needed), etc.

Bizagi supports both active-active or active-passive database clusters.

For Oracle databases, a Bizagi project will have one user schema at your instance, and you may use clustering technologies such as Oracle's RAC.

For SQL Server databases, a Bizagi project will have one single database at your instance, and therefore, an active-passive cluster is most commonly used and fit for most scenarios.

However, if your project handles a really large volume of information or if you plan on using a replicated database (ODS) for reports and analytics, or according to other criteria submitted by the DBA, you may consider an active-active setup in SQL Server (a multi-instance failover cluster).

 

3. Load balancer

For the load balancing for Bizagi servers, you may use either a software or hardware load balancer (Bizagi does not provide the load balancer).

It is recommended the use of a hardware-appliance load balancer such as f5.

You may use any algorithm of your choice, though it is best using a dynamic algorithm that considers important factors of your nodes, such as: the response time or the number of connections in each one.

For instance with f5, and provided that all your nodes have a homologous or very similar specification or configuration (hardware, network configuration), then you may use the Least response time algorithm.

When choosing to use such algorithms, it is important that you store the session externally to the nodes (i.e, the use of a session state database or server) so that you can make the most of your load balancer and achieve greater scalability.

Otherwise, configuring sticky sessions in the load balancer is mandatory.

 

4. Host settings when using virtual machines

For projects which are setup on virtual machines (i.e on VMWare products such as vSphere, Hyper-V, or cloud platforms/infrastructure services such as Azure, Amazon WS, etc), it is really important for you to ensure that:

The host machine provides a high-speed disk as well.

This is really important especially for the database server which constantly performs I/O operations.

Each virtual machine at the host is configured to have a reserved amount of resources accordingly (relevant to lock/limit memory, CPU, RAM, or other resources when operating alongside other virtual machines on the same host).

 

5. Additional systems, scaling-out and sizing

Recall that the requirements presented above are the minimum requirements, and therefore it is recommended to carry out an specific sizing analysis for your implementation considering all variables and other systems which are part of your solution.

You may complement your project's sizing analysis (i.e, to determine if you need additional nodes for the cluster) by using our Bizagi Sizing Estimator.

However, additional variables to be considered are: the number of concurrent users, the demanded processing behind, the estimated size and amounts of documents (file attachments), aspects regarding integration with other corporate systems, and the amount of daily cases or activities, amongst others.

 

Keep in mind that at anytime you may scale-out this solution, so that you consider adding up nodes within your load balancing cluster.

 

note_pin

The following requirements are mainly oriented for a Production environment, but these are suggested as well for a Test or pre-production environment.

This is because it is strongly recommended that the Test environment (or pre-production) is set up as similarly as possible to your allocated Production environment.

Consider also using separate servers for your Production environment (these should not be hosting your development or test environments).

 

In case that you consider that for your project, using a simplified Test environment is feasible, then you may consider the minimum requirements of such environment at Test environment - .NET system requirements.

 

Furthermore, it is recommended that:

The database server is a dedicated server which hosts exclusively your Bizagi database.

The Bizagi server is a dedicated server which host exclusively Bizagi Engine.

This is so, in order to have a most accurate sizing analysis, and so that the resources' consumption triggered by other systems (or the execution of admin tasks regarding these), do not affect Bizagi or vice-versa.

 

End users

Bizagi Work portal is a web-based application and therefore, end users only need a browser or Bizagi's app for mobile devices.

Bizagi presents several optimization measures featured by its own product architecture, focused on the mobile devices support so that the best user experience is provided.

 

REQUIREMENTS FOR END USERS

DESKTOP (PC) OR LAPTOPS

Screen resolution

1024 x 768 or higher

Browsers

Internet Explorer 10 or 11

Chrome 24 or higher

Firefox 19 or higher

Devices

For the optional graphical analysis feature in query forms, Adobe flash is required.

MOBILE DEVICES (tablets, smartphones)

Devices / OS

iOS iPad, iPhone: 9,10. Browser: Safari (Private browsing mode not supported)

Android smartphones and tablets: version 4.3 or higher. Browser: Chrome