Search results
Suggest a FeaturePDF

Bold Reports® Disaster Recovery Documentation

Overview

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.

Architecture

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

Bold Reports® persistent data, including users, groups, reports, schedules, and other application-related data, is stored in the following resources:

  1. App_Data
  2. Database Server

App_Data

All reports resource information is saved in the App_Data location and can be stored in any of the following supported options:

  1. File Storage

  2. Azure Blob Storage

    Storage Configuration

File 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

Azure Blob storage

By selecting this option, the App_Data information will be stored in the designated Azure Blob Storage.

Database Server

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:

  • MSSQL
  • PostgreSQL
  • MySQL

The upcoming section provides guidance on how to back up and restore Bold Reports® persistent resources.

Backup and Restore Persistent Data

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:

  • Physical or Virtual Machine - File System/Mounted Path
  • Database Server - MSSQL / PostgreSQL / MySQL
  • Azure Blob Storage
  • ReadWriteMany Storage - SMB / NFS / EFS / File Store

Physical or Virtual Machine

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

Database Server

For database server backup and restore, refer to the appropriate documentation link based on your database type.

On-premise DB Server
Database Type Backup and Restore Documentation
PostgreSQL Backup and Restore
MSSQL Backup and Restore of SQL Server Databases
MySQL Backup and Recovery Documentation

Managed DB Server

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

Azure Blob Storage

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

ReadWriteMany Storage

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

List of Changes Required to Use Restored Resources

This section describes the list of possible changes required at the environment and Bold Reports® application levels to use the restored persistent data resources.

Restore the App_Data
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.
Update Database Connection String
  • 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

Change Domain Mapping or IP Binding
  • 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.

    Site Administration