Skip to main content
Version: 10.3

Superset high availability and disaster recovery strategy

The document describes the solution for Superset's high availability (HA) and disaster recovery.

High availability design

Superset High Availability is based on the ability to deploy the Work.AI platform with two Superset servers.

The supported High Availability mode for Superset is Active/Standby. This means that during platform runtime, only one Superset host must be running, while the second one must be stopped. The running Superset host is called Active, while the stopped Superset host is called Standby.

The running Superset host means that the server itself is turned on, and all Superset services are in the RUNNING state on this server. The stopped Superset host means that either the Superset server itself is turned off or all Superset services are NOT in the RUNNING state (meaning that they are either stopped or disabled).

Superset deployment in HA mode

For deploying Superset in the HA mode, provide two Superset servers. If you're using a public cloud for deploying the environment, it is advised to use a different availability zone for each Superset server to handle the scenario of the hardware failure in a particurlar physical location where the infrastructure is hosted. This means, you need to use different geographical locations of the underlying hardware from which Superset servers, aka "virtual machines", are created.

Before the Product installation, set the DNS names of both Superset servers in hosts.yml. Below is a sample value of the superset_hostnames setting for the HA mode:

superset_hostnames: superset1.example.com,superset2.example.com

This way, the installer understands you're deploying Superset in the HA mode and performs the following actions in addition to the standard non-HA mode installation sequence:

  • Superset services are installed and configured separately on both Superset servers.

  • Out-of-the-box Superset dashboards are published separately to both Superset servers.

  • The HAProxy backend configuration on the Master server for routing requests with the superset_lb_hostname Host header is set to point to BOTH Superset servers.

  • At the end of the installation, after publishing out-of-the-box dashboards, the installer disables the services on the second Superset server. The directory with Superset startup scripts is renamed from apps to apps_disabled.

As a result, after the platform deployment with two Superset servers is completed, the environment state is the same as when you deploy it with one Superset server because HAProxy will NOT route requests to the disabled Superset server per its configured health checks.