Skip to content

Commit 7ea0c20

Browse files
authored
Merge pull request #481 from r2dedios/regional-dr
RegionalDR VP docs
2 parents 829336c + 4ce8629 commit 7ea0c20

File tree

4 files changed

+176
-0
lines changed

4 files changed

+176
-0
lines changed
Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
---
2+
title: Regional Disaster Recovery
3+
date: 2024-09-20
4+
tier: sandbox
5+
summary: This variant of the Validated Patterns framework deploys a Regional Disaster Recovery Setup across multiple different regions
6+
rh_products:
7+
- Red Hat OpenShift Container Platform
8+
industries:
9+
pattern_logo: regional-dr.png
10+
links:
11+
install: https://github.com/validatedpatterns/regional-resiliency-pattern
12+
help: https://groups.google.com/g/validatedpatterns
13+
bugs: https://github.com/validatedpatterns/regional-resiliency-pattern/issues
14+
---
15+
16+
# OpenShift Regional DR
17+
18+
## Context
19+
20+
As more and more institution and mission critical organizations are moving
21+
in the cloud, the possible impact of having a provider failure, might this be
22+
only related to only one region, is very high.
23+
24+
This pattern is designed to prove the resiliency capabilities of Red Hat Openshift
25+
in such scenario.
26+
27+
The Regional Disaster Recovery Pattern, is designed to setup an multiple instances
28+
of Openshift Container Platform cluster connectedbetween them to prove multi-region
29+
resiliency by maintaing the application running in the event of a regional failure.
30+
31+
In this scenario we will be working in a Regional Disaster Recovery setup, and the
32+
synchronization parameters can be specified in the value file.
33+
34+
NOTE: please consider using longer times if you have a large dataset or very long
35+
distances between the clusters
36+
37+
## Background
38+
39+
The _Regional DR Validated Pattern for [Red Hat OpenShift][ocp]_ increases the resiliency
40+
of your applications by connecting multiple clusters across different regions. This pattern
41+
uses [Red Hat Advanced Cluster Management][acm] to offer a
42+
[Red Hat OpenShift Data Foundation][odf]-based multi-region disaster recovery plan if an
43+
entire region fails.
44+
45+
[Red Hat OpenShift Data Foundation][odf] offers two solutions for disaster
46+
recovery: [Metro DR][mdr] and [Regional DR][rdr]. As their name suggests, _Metro
47+
DR_ refers to a metropolitan area disasters, which occur when the disaster
48+
covers only a single area in a region (availability zone), and _Regional DR_
49+
refers to when the entire region fails. Currently, only active-passive mode is
50+
supported.
51+
52+
A word on synchronization. A metropolitan network generally offers less latency;
53+
data can be written to multiple targets simultaneously, a feature required for
54+
active-active DR designs. On the other hand, writing to multiple targets in a
55+
cross-regional network might introduce unbearable latency to data
56+
synchronization and our applications. Therefore, _Regional DR_ can only work
57+
with active-passive DR designs, where the targets are replicated
58+
asynchronously.
59+
60+
The synchronization between Availability Zones is faster and can be performed
61+
synchronous. However, in order don't include a lot of latency on the data
62+
synchronization process, when data is replicated across regions, it necessary
63+
includes latencies based on the distance between both regions (e.g. The latency
64+
between two regions on Europe, will always be less than between Europe and Asia,
65+
so consider this when designing your infrastructure deployment on the values
66+
files of the pattern). This is the main reason because this RegionalDR is
67+
configured in an Active-Passive mode.
68+
69+
It requires an already existing Openshift cluster, which will be used for installing the
70+
pattern, deploying active and passive clusters manage the application
71+
scheduling.
72+
73+
### Prerequisites
74+
75+
Installing this pattern requires:
76+
* One online [Red Hat OpenShift][ocp] cluster to become the "Manager" cluster.
77+
This cluster will orchestrate application deployments and data synchronizations.
78+
* Connection to a Cloud Provider (AWS/Azure/GCP) configured in the Manager
79+
cluster. This is required for deploying the active and passive [OCP][ocp]
80+
clusters.
81+
* [Red Hat OpenShift CLI][cli] installed
82+
83+
### Solution elements
84+
85+
The _Regional DR Pattern_ leverages [Red Hat OpenShift Data Foundation][odf]'s
86+
[Regional DR][rdr] solution, automating applications failover between
87+
[Red Had Advanced Cluster Management][acm] managed clusters in different regions.
88+
89+
- The pattern is kick-started by ansible and uses ACM to overlook and orchestrate the process
90+
- The demo application uses MongoDB writing its data on a Persistent Volume Claim backe by ODF
91+
- We have developed a DR trigger which will be used to start the DR process
92+
- The end user needs to configure which PV's need synchronization and the latencies
93+
- ACS Can be used for eventual policies
94+
- The clusters are connected by submariner and, to have a faster recovery time, we suggest having
95+
hybernated clusters ready to be used
96+
97+
### Red Hat Technologies
98+
- [Red Hat Openshift Container Platform][ocp]
99+
- [Red Hat Openshift Data Foundation][odf]
100+
- [Red Hat Openshift GitOps][ops]
101+
- [Red Hat Openshift Advanced Cluster Management][acm]
102+
- [Red Hat Openshift Advanced Cluster Security][acs]
103+
104+
## Operators and Technologies this Pattern Uses
105+
- [Regional DR Trigger Operator][opr]
106+
- [Submariner][sub]
107+
108+
## Tested on
109+
110+
- Red Hat Openshift Container Platform v4.13
111+
- Red Hat Openshift Container Platform v4.14
112+
- Red Hat Openshift Container Platform v4.15
113+
114+
## Architecture
115+
This section explains the architecture deployed by this Pattern and its Logical
116+
and Physical perspectives.
117+
![Regional-Resiliency-Pattern-Logical-Architecture](/images/regional-resiliency-pattern/architecture-diagram-vp-regional-dr-v6.png)
118+
119+
## Logical architecture
120+
121+
![Regional-Resiliency-Pattern-Logical-Architecture](/images/regional-resiliency-pattern/logical-architecture-diagram-vp-regional-dr-v6.png)
122+
123+
124+
## Installation
125+
This patterns is designed to be installed in an Openshift cluster which will
126+
work as the orchestrator for the other clusters involved. The Adanced Cluster Manager
127+
installed will neither run the applications nor store any data from them, but it
128+
will take care of the plumbing of the various clusters involved,
129+
coordinating their communication and orchestrating when and where an application is
130+
going to be deployed.
131+
132+
As part of the pattern configuration, the administrator needs to define both
133+
clusters installation details as would be done using the Openshift-installer
134+
binary.
135+
136+
For installing the pattern, follow the next steps:
137+
1. Fork the _Pattern_.
138+
2. Describe the instructions for creating the clusters and syncing data between them.
139+
3. Commit and push your changes (to your fork).
140+
4. Set your **secret** cloud provider credentials.
141+
5. Connect to your target _Hub_ cluster.
142+
6. Install the _Pattern_.
143+
7. Start deploying [resilient applications][rdr].
144+
145+
146+
### Pattern Configuration
147+
148+
For a full example, check the _Pattern_'s [values.yaml][yml]. The install-config
149+
specifications are detailed [here][cfg].
150+
151+
Detailed configuration instructions can be found [here][rrp].
152+
153+
154+
## Owners
155+
156+
For any request, bug report or comment about this pattern, please forward it to:
157+
* Alejandro Villegas ([email protected])
158+
* Tomer Figenblat ([email protected])
159+
160+
<!-- LINKS -->
161+
[acm]: https://www.redhat.com/en/technologies/management/advanced-cluster-management
162+
[acs]: https://www.redhat.com/en/technologies/cloud-computing/openshift/advanced-cluster-security-kubernetes
163+
[aws]: https://www.redhat.com/en/technologies/cloud-computing/openshift/aws
164+
[azr]: https://www.redhat.com/en/technologies/cloud-computing/openshift/azure
165+
[cfg]: https://docs.openshift.com/container-platform/4.17/installing/installing_bare_metal_ipi/ipi-install-installation-workflow.html#additional-resources_config
166+
[cli]: https://docs.openshift.com/container-platform/4.14/cli_reference/openshift_cli/getting-started-cli.html
167+
[gcp]: https://www.redhat.com/en/blog/red-hat-openshift-is-now-available-on-google-cloud-marketplace
168+
[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
169+
[ocp]: https://www.redhat.com/en/technologies/cloud-computing/openshift
170+
[odf]: https://www.redhat.com/en/technologies/cloud-computing/openshift-data-foundation
171+
[ops]: https://www.redhat.com/en/technologies/cloud-computing/openshift/gitops
172+
[opr]: https://github.com/RHEcosystemAppEng/regional-dr-trigger-operator
173+
[sub]: https://submariner.io/
174+
[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
175+
[rrp]: https://github.com/validatedpatterns/regional-resiliency-pattern?tab=readme-ov-file#installation
176+
[yml]: https://github.com/validatedpatterns/regional-resiliency-pattern/blob/main/charts/hub/rdr/values.yaml
570 KB
Loading
791 KB
Loading
538 KB
Loading

0 commit comments

Comments
 (0)