Some OnPremise installations of Integrify may require the installation to be behind a load balancer for either redundant availability or performance purposes. If this applies to you, there are only a few things that need to happen to make your load balancing successful. Here is an overview.
- Make sure all the nodes have identical Integrify installations in every way in regards to configuration of the application.
- Only have the windows services installed by Integrify running on one of your nodes at a time. Otherwise, you may receive duplicate notifications for tasks, run scheduled reports and processes multiple times, etc. You will need to configure a DNS entry or use a host file entry to make sure all the nodes point to this one server (e.g. integrify-services.yourdomain.com). If the node running these windows service goes down, you will either need to manually bring them up on another node, and change the dns/host files to point to the server on which you bring the serivecs up. You may also be able to use some 3rd party heartbeat checking software that ties into windows services to bring up the services on a different node. Also of note, there is one file that will also need to be replicated manually to the other nodes. It contains the scheduled jobs for reports and processes. The file(s) is \integrify\app\scheduler\lib\cronic\jobs\*.jobs.
- The attachments, reports, and temp folders from the service directory must be relocated to a shared location accessible by all nodes. You will need to reconfigure the\integrify\app\settings\settings.config and\integrify\app\webserver\server-config.json files to point to the proper locations of these directories. You can use the OnPremise Manager to make these changes. These files support the UNC naming convention, so you can use any file share or NAS as your storage for these directories. Keep in mind that you may need to change the account that the IIS application pools and Integrify windows services run as to ensure proper permissions to the shared resource.
- Integrify has a built-in mechanism that you can use in your load balancer configuration to maintain application availability. Using <your url>/healthcheck as the node-up check will ensure that you are only attempting to hit nodes that are alive and well.
- SSL offload to the load balancer is also preferable so you do not need to maintain the certificate on each node. This is discussed in a different article. If you configure the load balancer in this manner, you will also need to make sure that sticky sessions are configured and that X-Forwarded-Proto header is passed with a value of https.
If at any time you need assistance in configuring your load balancing setup, registered users can submit a help request at support.integrify.com to request the time of an Integrify Technical Support Specialist.