Articles in this section
Category / Section

High Availability for Bold BI® in a Linux Environment Using Azure Application Gateway

Published: Aug 12, 2024

This article provides a comprehensive guide on configuring a high availability setup for the Bold BI® application in a Linux environment using Azure Application Gateway.

Prerequisites

Before proceeding, ensure that the following prerequisites are met:

  1. Azure Virtual Linux Machines: Deploy multiple Azure Ubuntu virtual machines within the same virtual network, availability zone, and region. For guidance, refer to Creating a Linux Virtual Machine in Azure.

  2. Azure NFS File Share: Set up an Azure NFS file share storage account. Instructions can be found in the NFS File Shares documentation.

  3. Azure Application Gateway: Create an Azure Application Gateway with SSL. For detailed steps, see the Azure documentation. Initially, attach the load balancer to one of the virtual machines where the Bold BI® application will be installed.

Note: Ensure all resources are deployed in the same region, availability zone, and virtual network.

Steps to Configure High Availability

Step 1: Initial Setup

On the first Linux virtual machine, create the necessary directory using the following command:

sudo mkdir -p /var/www/bold-services/application/app_data

image.png

Step 2: Mount NFS File Share

Mount the NFS file share to the Linux virtual machine by following the instructions provided in the How to mount an NFS share documentation. Ensure that you mount the NFS volume to the following path:

/var/www/bold-services/application/app_data

image.png

Step 3: Deploy Bold BI® Application

Once the Azure Application Gateway is created with proper SSL, map the frontend IP with a custom domain (e.g., example.boldbi.com). To find the frontend IP configuration, navigate to the load balancer settings.

image.png

Once mapping done use the custom domain (http://example.com) as the host URL for the Bold BI® application.

Follow the steps outlined in the Bold BI® documentation to deploy the application on Ubuntu:

Deploying Bold BI on Linux

Step 4: Start Bold BI® Application

Once the Bold BI® application is deployed, start it using the public custom domain endpoint (e.g., example.boldbi.com) and complete the startup.

image.png

Step 5: Deploy the Bold BI® Application on Additional Machines

Follow Step 3 and deploy the Bold BI® application using the same application gateway load balancer custom domain as used for the first machine deployment.

Step 6: Clean Up App_Data and mount the NFS File Share

Navigate to the following directory on additional Bold BI® deployed machines and remove the contents of the app_data folder:

sudo rm -r /var/www/bold-services/application/app_data/*

Once the files and folders are removed, mount the NFS file share to the same app_data location for additional machines:

/var/www/bold-services/application/app_data

image.png

Once mounted, Restart all the service using the below command.

sudo systemctl restart bold-*

Step 7: Attach to Load Balancer

Attach all the additional deployed virtual machines to the load balancer already created Backend Pools for machine 1.

Note: It will display all the VMs you can add to the Backend Pools.

image.png

image.png

Step 8: Reverse Proxy Header Changes for All Bold BI® Deployed Machines

Navigate to the following location:

cd /etc/nginx/sites-available/boldbi-nginx-config

Replace the proxy_set_header attribute value with $http_x_forwarded_proto instead of $scheme in the Bold BI® application nginx file for all service locations. Once changes are done, reload Nginx:

sudo nginx -s reload

Step 9: Access the Application

After attaching all machines to the load balancer Backend Pools, you can access the Bold BI® application through the load balancer’s public custom domain endpoint.

Conclusion

By adhering to these steps, you can establish a high availability setup for the Bold BI® application on a Linux platform using Azure Application Gateway. This ensures uninterrupted availability and efficient management of heavy traffic.

References

https://support.boldbi.com/kb/article/13585/run-the-bold-bi-application-as-multiple-instances-behind-a-load-balancer-using-the-same-efs-volume

https://support.boldbi.com/kb/article/14180/deploy-bold-bi-behind-a-load-balancer-using-n-windows-servers

Was this article useful?
Like
Dislike
Help us improve this page
Please provide feedback or comments
SS
Written by Sivanesan Saravanan
Updated Aug 12, 2024
Comments (0)
Please  to leave a comment
Access denied
Access denied