Disaster Recovery (DR) is a critical part of enterprise applications, ensuring business continuity and minimizing downtime during unexpected events such as hardware failures, software crashes, or natural disasters. Therefore, having a robust DR plan for Bold Reports® applications is essential. One of the key aspects of DR is maintaining an efficient backup and restore process.
This guide outlines the steps for creating backups, restoring data, and reconfiguring the Bold Reports® application to point to the restored resources. It emphasizes the importance of regularly backing up application data, metadata, and the IMDB database to ensure seamless recovery in the event of a disaster.
Having a clear understanding of where Bold Reports® stores its persistent data is crucial for developing an effective backup strategy. The diagram below illustrates the infrastructure architecture of Bold Reports®, providing a clear overview of how various components, such as the load balancer, services, application data storage, and database server, interact within the system.
By following this guide, you can ensure business continuity by minimizing data loss and downtime during unforeseen events.
As shown in the diagram, Bold Reports® persistent data is stored in the App_Data directory and the database server. The next section provides detailed information about the type of data stored in these locations and explains their significance in disaster recovery.
Bold Reports® persistent data, including users, groups, reports, schedules, and other application-related data, is stored in the following resources:
All reports resource information is saved in the App_Data location and can be stored in any of the following supported options:
File Storage
Azure Blob Storage
File Storage typically refers to the storage that holds Bold Reports® application data. Depending on the deployment environment, it can either be a local file storage or a managed cloud storage.
Environment | App Data Location |
---|---|
Windows | {Deployed Location}/BoldServices/app_data/ |
Linux | /var/www/bold-services/application/ |
Docker | Mounted Path/Mounted Storage |
Kubernetes | File Share |
Azure App Service | Azure Blob |
By selecting this option, the App_Data information will be stored in the designated Azure Blob Storage.
The metadata and intermediate data of the Bold Reports® site are stored in the database server. Bold Reports® supports the following databases to be used as Meta and IMDB servers:
The upcoming section provides guidance on how to back up and restore Bold Reports® persistent resources.
This section explores how to back up and restore Bold Reports® persistent resources. Based on the infrastructure diagram and the persistent data storage locations, you can understand that Bold Reports® persistent information can be stored in:
When using App_Data storage as File Storage, the App_Data information will be saved on the hosting machine itself. Therefore, it is important to back up the App_Data location or the entire machine as needed. For a physical machine, you can take a backup from the following location:
Environment | App Data Local Path |
---|---|
Windows | {Deployed Location}/BoldServices/app_data/ |
Linux | /var/www/bold-services/application/ |
If you are using a Virtual Machine (VM), you can either take a complete snapshot of the VM or back up only the App_Data directory mentioned above. Refer to the help links below for instructions on taking a snapshot of the VM.
Resources | Reference Links |
---|---|
AWS VM | Backup: Creating Snapshot Restore: Restoring an EC2 Instance |
Azure VM | Backup: Snapshot and Copy Managed Disk Restore: Restoring a VM from Snapshot |
GCP VM | Backup: Creating Windows Persistent Disk Snapshot Restore: Restoring Snapshot |
For database server backup and restore, refer to the appropriate documentation link based on your database type.
Database Type | Backup and Restore Documentation |
---|---|
PostgreSQL | Backup and Restore |
MSSQL | Backup and Restore of SQL Server Databases |
MySQL | Backup and Recovery Documentation |
Managed Database | Database Type | Backup and Restore Documentation |
---|---|---|
AWS | MySQL, MSSQL, PostgreSQL | Backup: Create Snapshot of RDS Restore: Restore RDS from Snapshot |
Azure | MySQL MSSQL PostgreSQL |
Backup: Backup MySQL Database Restore: Restore MySQL Database Backup: Backup MSSQL Database Restore: Restore MSSQL Database Backup: Backup PostgreSQL Database Restore: Restore PostgreSQL Database |
GCP | MySQL MSSQL PostgreSQL |
Backup: Backup MySQL Database Restore: Restore MySQL Database Backup: Backup MSSQL Database Restore: Restore MSSQL Database Backup: Backup PostgreSQL Database Restore: Restore PostgreSQL Database |
If you have configured Azure Blob Storage during the site setup, it is necessary to back up the Azure Blob Storage data.
Azure Blob |
---|
Backup: Configure and Manage Blob Backup Restore: Blob Restore |
For Kubernetes deployment, you need to mount the ReadWriteMany persistent volume to store Bold Reports® App_Data information. Refer to the appropriate documentation link based on your cloud provider for instructions on backing up and restoring the ReadWriteMany storage volume.
Cloud Storage | Backup and Restore Documentation |
---|---|
Elastic File Storage for EKS | AWS Backup Documentation |
Azure File Share for AKS | Azure File Share Backup |
GKE File Store for GKE | File Store Backup |
This section describes the list of possible changes required at the environment and Bold Reports® application levels to use the restored persistent data resources.
Deployed In | Restore |
---|---|
Physical Machine | Replace the backed-up files in the installed App_Data directory. |
Cloud VM | If you restore the VM from the snapshot, you need to make domain or IP changes at the application level as described below. However, if you only restored the App_Data directory, you can skip the domain or IP changes. |
Docker | Replace the backed-up files in the container-mounted host path. |
Kubernetes | Replace the restored persistent volume details (Azure File Share/EFS filesystem/Google Filestore) in the deployment manifest or Helm chart, and redeploy the application. |
To update the database connection string, refer to the guidance document below to reset it for different environments.
If you have backed up the database on another server and the database name remains the same, following this KB article is sufficient to update both the UMS and tenant databases.
If you have backed up the databases on another server with different names, you need to follow both the above KB article and the documentation linked below: Reset Application Database
If you are using a domain name and restore the server from a snapshot, you can map the new IP address to the same domain name.
If you are hosting the application using an IP address and the server IP has changed, you need to update the IP address in the UMS administration page. Navigate to URL/ums/administration in the browser and verify if the new URL is updated. If not, update the new URL on the administration page and save the changes.