Validated Patterns

Regional Disaster Recovery

Validation status:
Sandbox Sandbox
Links:

OpenShift Regional DR

Context

As more and more institution and mission critical organizations are moving in the cloud, the possible impact of having a provider failure, might this be only related to only one region, is very high.

This pattern is designed to prove the resiliency capabilities of Red Hat Openshift in such scenario.

The Regional Disaster Recovery Pattern, is designed to setup an multiple instances of Openshift Container Platform cluster connectedbetween them to prove multi-region resiliency by maintaing the application running in the event of a regional failure.

In this scenario we will be working in a Regional Disaster Recovery setup, and the synchronization parameters can be specified in the value file.

NOTE: please consider using longer times if you have a large dataset or very long distances between the clusters

Background

The Regional DR Validated Pattern for Red Hat OpenShift increases the resiliency of your applications by connecting multiple clusters across different regions. This pattern uses Red Hat Advanced Cluster Management to offer a Red Hat OpenShift Data Foundation-based multi-region disaster recovery plan if an entire region fails.

Red Hat OpenShift Data Foundation offers two solutions for disaster recovery: Metro DR and Regional DR. As their name suggests, Metro DR refers to a metropolitan area disasters, which occur when the disaster covers only a single area in a region (availability zone), and Regional DR refers to when the entire region fails. Currently, only active-passive mode is supported.

A word on synchronization. A metropolitan network generally offers less latency; data can be written to multiple targets simultaneously, a feature required for active-active DR designs. On the other hand, writing to multiple targets in a cross-regional network might introduce unbearable latency to data synchronization and our applications. Therefore, Regional DR can only work with active-passive DR designs, where the targets are replicated asynchronously.

The synchronization between Availability Zones is faster and can be performed synchronous. However, in order don’t include a lot of latency on the data synchronization process, when data is replicated across regions, it necessary includes latencies based on the distance between both regions (e.g. The latency between two regions on Europe, will always be less than between Europe and Asia, so consider this when designing your infrastructure deployment on the values files of the pattern). This is the main reason because this RegionalDR is configured in an Active-Passive mode.

It requires an already existing Openshift cluster, which will be used for installing the pattern, deploying active and passive clusters manage the application scheduling.

Prerequisites

Installing this pattern requires:

  • One online Red Hat OpenShift cluster to become the “Manager” cluster. This cluster will orchestrate application deployments and data synchronizations.
  • Connection to a Cloud Provider (AWS/Azure/GCP) configured in the Manager cluster. This is required for deploying the active and passive OCP clusters.
  • Red Hat OpenShift CLI installed

Solution elements

The Regional DR Pattern leverages Red Hat OpenShift Data Foundation’s Regional DR solution, automating applications failover between Red Had Advanced Cluster Management managed clusters in different regions.

  • The pattern is kick-started by ansible and uses ACM to overlook and orchestrate the process
  • The demo application uses MongoDB writing its data on a Persistent Volume Claim backe by ODF
  • We have developed a DR trigger which will be used to start the DR process
  • The end user needs to configure which PV’s need synchronization and the latencies
  • ACS Can be used for eventual policies
  • The clusters are connected by submariner and, to have a faster recovery time, we suggest having hybernated clusters ready to be used

Red Hat Technologies

Operators and Technologies this Pattern Uses

Tested on

  • Red Hat Openshift Container Platform v4.13
  • Red Hat Openshift Container Platform v4.14
  • Red Hat Openshift Container Platform v4.15

Architecture

This section explains the architecture deployed by this Pattern and its Logical and Physical perspectives. Regional-Resiliency-Pattern-Logical-Architecture

Logical architecture

Regional-Resiliency-Pattern-Logical-Architecture

Installation

This patterns is designed to be installed in an Openshift cluster which will work as the orchestrator for the other clusters involved. The Adanced Cluster Manager installed will neither run the applications nor store any data from them, but it will take care of the plumbing of the various clusters involved, coordinating their communication and orchestrating when and where an application is going to be deployed.

As part of the pattern configuration, the administrator needs to define both clusters installation details as would be done using the Openshift-installer binary.

For installing the pattern, follow the next steps:

  1. Fork the Pattern.
  2. Describe the instructions for creating the clusters and syncing data between them.
  3. Commit and push your changes (to your fork).
  4. Set your secret cloud provider credentials.
  5. Connect to your target Hub cluster.
  6. Install the Pattern.
  7. Start deploying resilient applications.

Pattern Configuration

For a full example, check the Pattern’s values.yaml. The install-config specifications are detailed here.

Detailed configuration instructions can be found here.

Owners

For any request, bug report or comment about this pattern, please forward it to: