CXO-Cockpit 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 on multiple servers.
Load balancing for the CXO-Cockpit Web Application
Deployment Strategy
Load-balanced setup check-list
CXO-Cockpit 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 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 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 is delivered as an IIS web application, 2 Windows services and a couple of Windows applications. 2 Windows applications. There are 2 possible deployment strategy: Multi-purpose servers cluster and Dedicated web servers cluster + Application server installations. The primarily difference between them is whether the Windows services are going to be installed on every CXO-Cockpit Web server or on a separate server.
Option 1. Multi-purpose servers cluster
In this scenario every CXO-Cockpit 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 demonstrates which components must be installed on every server:
Option 2. Dedicated web servers cluster + application server
In this scenario there are N CXO-Cockpit servers and 1 or more Application servers. The application 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.
The following table shows which components should be installed in the a multi-server setup.
Load-balanced setup check list
Use the following check list to verify that your multi-server setup is correct.
- CXO-Cockpit Agent Service is running on only one machine
- Backplane database is created and configured
- A network path is configured for the export files location
Scalability of other components and the deployment strategy
Type | Applicability | Comments | |
---|---|---|---|
Web Reporting Suite | IIS Web application | Can be installed on every CXO-Cockpit server | |
Storyboard Export Service | Windows Service | Can be installed on every CXO-Cockpit server | |
Agent Service | Windows Service | Should be installed on one server | High Availability note: The Agent service can be installed on every CXO-Cockpit 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 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-Configurator | Windows application | Should be installed on every CXO-Cockpit server | |
CXO Source System Manager | Windows application | A client Windows-based tool, does't need to installed on the server | 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. |
...
To do so, simply enter the name of a non existing database in the field Database name¹ and press Create. The configurator will enable the Service Broker for you.
/!\ Once you application is deployed the database will be managed by CXO-Cockpit. Do not alter it manually.
...