Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 63 additions & 57 deletions content/patterns/regional-dr/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ date: 2024-09-20
tier: sandbox
summary: This variant of the Validated Patterns framework deploys a Regional Disaster Recovery Setup across multiple different regions
rh_products:
- Red Hat Openshift Container Platform
- Red Hat OpenShift Container Platform
industries:
aliases: /agof/
pattern_logo: regional-dr.png
Expand All @@ -14,61 +14,51 @@ links:
bugs: https://github.com/validatedpatterns/regional-resiliency-pattern/issues
---

# Openshift Regional DR
# OpenShift Regional DR

The _Regional DR Validated Pattern for [Red Hat OpenShift][ocp]_ can increase the resiliency
of your applications by connecting multiple clusters across various regions. This pattern
uses [Red Hat Advanced Cluster Management][acm] to offer a
[Red Hat OpenShift Data Foundation][odf]-based multi-region disaster recovery plan if an
entire region fails.

## Background

Regional DR architecture is designed for configuring an infrastructure
architecture with multiple Openshift Container Platform cluster connected
between them for offering a disaster recovery setup between regions. Currently,
only active-passive mode is supported. This architecture increases the
resiliency and maintains the applications running in the supposed case of an
entire region fails.
[Red Hat OpenShift Data Foundation][odf] offers two solutions for disaster recovery:
[Metro DR][mdr] and [Regional DR][rdr]. 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.

There are two kinds of disaster recovery depending on their scope: Metro DR and
RegionalDR. As their own name suggests, MetroDR refers about Metropolitan Areas
disasters, in other words, when the disaster covers only a single area of a
region (Availability Zone), and Regional DR refers to when the entire region
fails.

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.
A word on synchronization. A metropolitan network is generally much faster and 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 our applications. Therefore, _Regional DR_
can only work with active-passive DR designs, where the targets are replicated asynchronously.

### Prerequisites
Before installing this pattern, ensure yourself you have the following
requirements already prepared before continuing:
* One Openshift cluster ready-to-use with internet access to become the "Manager" cluster.
* Connection to a Cloud Provider (AWS/Azure/GCP) configured in the Manager cluster.

Installing this pattern requires:
* One online [Red Hat OpenShift][ocp] cluster
* Cloud credentials for either [AWS][aws], [Azure][azr], or [GCP][gcp]
* [Red Hat OpenShift CLI][cli] installed

### Solution elements

- Deploying a regional fail resilient architecture for testing, demoing and as an architecture reference
The _Regional DR Pattern_ leverages _[Red Hat OpenShift Data Foundation][odf]'s
[Regional DR][rdr] solution, automating applications failover between
[Red Had Advanced Cluster Management][acm] managed clusters in different regions.

### Red Hat Technologies

- Red Hat Openshift Container Platform
- Red Hat Enterprise Linux

-
- [Red Hat Openshift Container Platform][ocp]
- [Red Hat Openshift Data Foundation][odf]
- [Red Hat Openshift GitOps][ops]
- [Red Hat Openshift Advanced Cluster Management][acm]
- [Red Hat Openshift Advanced Cluster Security][acs]

## Operators and Technologies this Pattern Uses

- Red Hat Openshift Container Platform
- Red Hat Openshift Data Foundation
- Red Hat Openshift DR Operator
- Red Hat Openshift GitOps
- Red Hat Openshift Advanced Cluster Management
- Red Hat Openshift Advanced Cluster Security
- Submariner
- [Regional DR Trigger Operator][opr]

## Tested on

Expand All @@ -77,8 +67,7 @@ requirements already prepared before continuing:
- 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](/images/regional-resiliency-pattern/architecture-diagram-vp-regional-dr-v6.png)

## Logical architecture
Expand All @@ -87,20 +76,37 @@ and Physical perspectives.


## Installation
This patterns is designed to be installed in an Openshift cluster which will
work as the control plane for the rest of Openshift clusters. The controller
cluster will not execute the applications or store any data from them, but it
will work as the control panel for the interconnection of active-passive
clusters, 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.
* Fork the _Pattern_.
* Describe the instructions for creating the clusters and syncing data between them.
* Commit and push your changes (to your fork).
* Set your **secret** cloud provider credentials.
* Connect to your target _Hub_ cluster.
* Install the _Pattern_.
* Start deploying [resilient applications][rdr].

For more detailed info about how to install this pattern, please follow this
[link](https://github.com/validatedpatterns/regional-resiliency-pattern?tab=readme-ov-file#installation).
Detailed installation instructions can be found [here][rrp].

### Pattern Configuration
For obtainning more information about how to configure and deploy the pattern,
please follow this [link](https://github.com/validatedpatterns/regional-resiliency-pattern).

For a full example, check the _Pattern_'s [values.yaml][yml]. The install-config
specifications are detailed [here][cfg].

Detailed configuration instructions can be found [here][rrp].

<!-- LINKS -->
[acm]: https://www.redhat.com/en/technologies/management/advanced-cluster-management
[acs]: https://www.redhat.com/en/technologies/cloud-computing/openshift/advanced-cluster-security-kubernetes
[aws]: https://www.redhat.com/en/technologies/cloud-computing/openshift/aws
[azr]: https://www.redhat.com/en/technologies/cloud-computing/openshift/azure
[cfg]: https://docs.openshift.com/container-platform/4.17/installing/installing_bare_metal_ipi/ipi-install-installation-workflow.html#additional-resources_config
[cli]: https://docs.openshift.com/container-platform/4.14/cli_reference/openshift_cli/getting-started-cli.html
[gcp]: https://www.redhat.com/en/blog/red-hat-openshift-is-now-available-on-google-cloud-marketplace
[mdr]: https://docs.redhat.com/en/documentation/red_hat_openshift_data_foundation/4.16/html/configuring_openshift_data_foundation_disaster_recovery_for_openshift_workloads/metro-dr-solution
[ocp]: https://www.redhat.com/en/technologies/cloud-computing/openshift
[odf]: https://www.redhat.com/en/technologies/cloud-computing/openshift-data-foundation
[ops]: https://www.redhat.com/en/technologies/cloud-computing/openshift/gitops
[opr]: https://github.com/RHEcosystemAppEng/regional-dr-trigger-operator
[rdr]: https://docs.redhat.com/en/documentation/red_hat_openshift_data_foundation/4.16/html/configuring_openshift_data_foundation_disaster_recovery_for_openshift_workloads/rdr-solution
[rrp]: https://github.com/validatedpatterns/regional-resiliency-pattern
[yml]: https://github.com/validatedpatterns/regional-resiliency-pattern/blob/main/charts/hub/rdr/values.yaml