Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

CXO -Cockpit Software can be scaled out to multiple servers to increase the system responsiveness and/or to implement failover scenarios. This article explains how to install the CXO -Cockpit Software on multiple servers.

Load balancing for the CXO

...

Software Web Application


Image RemovedImage Added

CXO -Cockpit Software web application can be installed on several servers. There should be a load balancer provided by the destination infrastructure that passes the HTTP(s) requests from the clients through to one of the available CXO -Cockpit Software servers. The only requirement to the load balancer is that it must implement "sticky sessions" scenario: all subsequent requests from a certain client must end up to the same CXO -Cockpit Software server as the first request from that client. The most typical implementation of this scenario is "Cookie-based Persistence". In this scenario the load balancer appends a cookie to the first client's request that cookie is used later on to identify the server all the subsequent requests should be forwarded to.

...

Deployment Strategies

CXO -Cockpit Software is delivered as an IIS web application, 2 Windows services and a couple of Windows applications2 Windows applications. There are 2 possible deployment strategy: Multi-purpose servers cluster and Dedicated web servers cluster + Jobs server installations. The primarily difference between them is whether the Windows services are going to be installed on every CXO Software Web server or on a separate server.

Option 1. Multi-purpose servers cluster

In this scenario every CXO Software server has all the components including Windows Services installed. In this setup all the servers are equal but the disadvantage of this scenario is the performance loss and extra load on the database server caused by additional running services. The following table shows demonstrates which components should must be installed in the a multi-server setup.on every server:

ComponentTypeApplicabilityComments
Web Reporting SuiteIIS Web application
Can
Must be installed on every
CXO-Cockpit
server
Storyboard Export ServiceWindows Service
Can
Must be installed on every
CXO-Cockpit
server
Agent ServiceWindows Service
Should

Must be installed on every server, but the service must only be enabled on one

server

sever

High Availability note:

The Agent service can be installed on every CXO

-Cockpit

Software server but the service must only be enabled on one sever. On all other servers the service must be disabled. If the server that hosts the running instance of the Agent crashes, a service on another server

can

should be enabled and started. There should not be 2 or more instances of the Agent Service running at the same time.

The agent service is used for the background scenarios and not directly involved in the dashboard report generation. The system remains functional if the Agent Service is not working for a short period of time.

CXO-ConfiguratorWindows application
Should
Must be installed on every CXO
-Cockpit
Software server
CXO Source System ManagerWindows applicationShould be installed on the server

A client Windows-based

tool, does't need to installed on the server

tool. This tool is used to configure the connections to the external systems. In the future this windows tool will be replaced by a web-based version. It's still recommended to have this tool installed on every CXO Software server.

Option 2. Dedicated web servers cluster + Jobs server

In this scenario there are N CXO Software servers and 1 or more Jobs servers (previously called Application servers). The Job server is a server dedicated to the Windows Services. Typically 1 Application Server can handle all the load but extra Application Server might be required for the failover scenario.

ComponentTypeApplicabilityComments
Web Reporting SuiteIIS Web applicationMust be installed on every web server
Storyboard Export ServiceWindows ServiceMust be installed only on Jobs application server

The Storyboard Export Service is used for exporting of reports to PDF, Excel and PowerPoint files. The service is not directly involved in the dashboard report generation. The system remains functional if the service is not working but the export jobs will not be processed.

Agent ServiceWindows Service

Must be installed only on the Jobs server

The Agent service can be installed on every CXO Software server but the service must only be enabled on one sever. On all other servers the service must be disabled. If the server that hosts the running instance of the Agent crashes, a service on another server should be enabled and started. There should not be 2 or more instances of the Agent Service running at the same time.

The agent service is used for the background scenarios and not directly involved in the dashboard report generation. The system remains functional if the Agent Service is not working for a short period of time.

CXO-ConfiguratorWindows applicationMust be installed on every CXO Software server
CXO Source System ManagerWindows applicationShould be installed on the server

A client Windows-based tool. This tool is used to configure the connections to the external systems. In the future this windows tool will be replaced by a web-based version.

It's still recommended to have this tool installed on every CXO

-Cockpit server.

Configure BackPlane database

...

Software server.

Installation guide

There are 2 main deployment strategies for the multi-server setup. CXO Software components should be installed according to the applicability for selected deployment strategy. After the installation of the CXO Software components, the following configuration steps must be performed.

  1. Create services in the Configurator for all of the installed components on every server
  2. Disable CXO Software Agent Service on all the machines except one
  3. Create and Configure Backplane database

  4. Expand
    titleConfigure a network path for the export files location

    Image Added

    There should be specified a network path that is accessible from all the CXO-Cockpit servers. All the service accounts that CXO-Cockpit components are running under mush be authorized to change files at the specified location


  5. Configure load balancing across all the CXO Software web servers and enable sticky sessions on the load balancer


  6. Expand
    titleSpecify load balancer url as CXO-Cockpit Dashboard Url

    Image Added

    There should be specified a load-balanced url


Load Balancer configuration requirements

  1. "Sticky sessions" scenario must be configured: all subsequent requests from a certain client must end up to the same CXO Software server as the first request from that client. The most typical implementation of this scenario is "Cookie-based Persistence"
  2. The requests to the CXO Software server should include the following headers:
    1. "X-Forwarded-Host" should contain the original host name used in the end-user request. This host name can only equal to the host name used in the CXO Software Dashboard URL (as configured in the Configurator), otherwise it will be ignored.
    2. "X-Forwarded-Proto" should contain the original protocol used in the end-user request. Note, that this header is not required if the same protocol (HTTPS) is used on load balancer and on the individual CXO Software servers.