You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tags/tag-infrastructure/initiatives/storage-landscape/v3/topics/disaster-recovery.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,14 @@ Disaster Recovery refers to the behaviour of our systems (not just the storage c
4
4
5
5
At a high-level, a disaster recovery provider must ensure two things:
6
6
7
-
- Client requests are resumed being processed as soon as possible in failure domains that are still available. This metrics is measured by RTO (Recovery Time Objective)
7
+
- Client requests are resumed being processed as soon as possible in failure domains that are still available. This is measured by RTO (Recovery Time Objective)
8
8
- The least amount of data is lost due to the disaster. This is measured by RPO (recovery point objective).
9
9
10
10
That being said, the design of disaster recovery procedures focuses mainly on how to replicate the state of stateful workloads across failure domains, such that data is not lost due to a disaster.
11
11
12
-
The following diagram summarises the main disaster recovery design archetypes, moving from an Active/Passive architectural style (Backup/Restore, Volume Replication, Transaction Replication) to a fully Active/Active style (Distributed Stateful Workload / CNDR), with each successive archetype trading additional architectural complexity for a tighter RTO/RPO:
12
+
The following diagram summarises the main disaster recovery design archetypes, moving from an Active/Passive architectural style (Backup/Restore, Volume Replication, Transaction Replication) to a fully Active/Active style (Distributed Stateful Workload / Cloud Native Disaster Recovery), with each successive archetype trading additional architectural complexity for a tighter RTO/RPO:
13
13
14
-

14
+

15
15
16
16
This table summarises the characteristics of each approach:
17
17
@@ -24,4 +24,6 @@ This table summarises the characteristics of each approach:
24
24
| Disaster Recovery process ownership | Infrastructure team, particularly storage team | Infrastructure team, particularly storage team | Owner of middleware, typically developer team | Owner of middleware, typically developer team |
25
25
| Required Capabilities | Storage: backup and restore<br>Networking: global load balancer | Storage: volume synchronising<br>Networking: global load balancer | Networking: global load balancer, east-west path | Networking: global load balancer, east-west path |
26
26
27
+
The DR process ownership row above reflects a common default, but most cloud native organizations blur this split in practice. Actual ownership depends on org structure and should be clarified in your own runbooks.
28
+
27
29
For a more detailed dissertation of this topic, please see the [Disaster Recovery White Paper](https://github.com/cncf/tag-storage/blob/master/cloud-native-disaster-recovery-whitepaper/Cloud%20Native%20Disaster%20Recovery%20V1.pdf).
Copy file name to clipboardExpand all lines: tags/tag-infrastructure/initiatives/storage-landscape/v3/topics/streaming-and-messaging.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,15 @@ However, in many cases, proprietary protocols that are owned and maintained by a
16
16
17
17
Some programming languages provide their own set of standard APIs to abstract the wire-level protocol used by the messaging/streaming system (for example the Java-JMS API).
18
18
19
+
The following table gives some examples of how popular systems map onto this protocol landscape:
20
+
21
+
| System | Native Protocol | Also Supports |
22
+
| --- | --- | --- |
23
+
| Apache Kafka | Kafka protocol (binary over TCP) | AMQP/MQTT via external bridges/connectors (e.g. Kafka Connect), not native |
0 commit comments