Skip to content

Commit

Permalink
EDU-3861: HAN prototyping
Browse files Browse the repository at this point in the history
  • Loading branch information
fairlydurable committed Jan 31, 2025
1 parent 58fdaf7 commit 2d49a01
Show file tree
Hide file tree
Showing 8 changed files with 869 additions and 0 deletions.
30 changes: 30 additions & 0 deletions docs/production-deployment/cloud/high-availability/enable.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
id: enable
title: Enable high availability
sidebar_label: Enable high availability
slug: /cloud/high-availability/choosing-high-availability
description: REPLACE THIS. Temporal Cloud's High-Availability Namespaces offer automated failover, synchronized data replication, and high availability for workloads requiring disaster-tolerant deployment and 99.99% uptime. Use Global Namespace for self-hosted.
tags:
- Temporal Cloud
- Production
- High availability
keywords:
- availability
- explanation
- failover
- high-availability
- multi-region
- multi-region namespace
- namespaces
- temporal-cloud
- term
---
import { RelatedReadContainer, RelatedReadItem } from '@site/src/components/related-read/RelatedRead';

:::tip Support, stability, and dependency info

High-availability Namespaces are in [Public Preview](/evaluate/development-production-features/release-stages#public-preview) for Temporal Cloud.

:::


29 changes: 29 additions & 0 deletions docs/production-deployment/cloud/high-availability/faq.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
id: faq
title: Frequently Asked Questions
sidebar_label: Frequently Asked Questions
slug: /cloud/high-availability/faq
description: REPLACE THIS. Temporal Cloud's High-Availability Namespaces offer automated failover, synchronized data replication, and high availability for workloads requiring disaster-tolerant deployment and 99.99% uptime. Use Global Namespace for self-hosted.
tags:
- Temporal Cloud
- Production
- High availability
keywords:
- availability
- explanation
- failover
- high-availability
- multi-region
- multi-region namespace
- namespaces
- temporal-cloud
- term
---
import { RelatedReadContainer, RelatedReadItem } from '@site/src/components/related-read/RelatedRead';

:::tip Support, stability, and dependency info

High-availability Namespaces are in [Public Preview](/evaluate/development-production-features/release-stages#public-preview) for Temporal Cloud.

:::

Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
id: how-it-works
title: How it works
sidebar_label: How it works
slug: /cloud/high-availability/how-it-works
description: REPLACE THIS. Temporal Cloud's High-Availability Namespaces offer automated failover, synchronized data replication, and high availability for workloads requiring disaster-tolerant deployment and 99.99% uptime. Use Global Namespace for self-hosted.
tags:
- Temporal Cloud
- Production
- High availability
keywords:
- availability
- explanation
- failover
- high-availability
- multi-region
- multi-region namespace
- namespaces
- temporal-cloud
- term
---
import { RelatedReadContainer, RelatedReadItem } from '@site/src/components/related-read/RelatedRead';

:::tip Support, stability, and dependency info

High-availability Namespaces are in [Public Preview](/evaluate/development-production-features/release-stages#public-preview) for Temporal Cloud.

:::



114 changes: 114 additions & 0 deletions docs/production-deployment/cloud/high-availability/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
---
id: index
title: High-availability Namespaces
sidebar_label: High-availability Namespaces
slug: /cloud/high-availability
description: Temporal Cloud's High-Availability Namespaces offer automated failover, synchronized data replication, and high-availability for workloads requiring disaster-tolerant deployment and 99.99% uptime. Use Global Namespace for self-hosted.
tags:
- Temporal Cloud
- Production
- High availability
keywords:
- availability
- explanation
- failover
- high-availability
- multi-region
- multi-region namespace
- namespaces
- temporal-cloud
- term
---

import { RelatedReadContainer, RelatedReadItem } from '@site/src/components/related-read/RelatedRead';

:::tip Support, stability, and dependency info

High-availability Namespaces are in [Public Preview](/evaluate/development-production-features/release-stages#public-preview) for Temporal Cloud.

:::

Temporal Cloud's high-availability Namespaces provide disaster-tolerant deployment for workloads where availability is critical to your operations.
When you enable high availability, Temporal Cloud automatically synchronizes your data between a primary and a fallback Namespace, keeping them in sync.
Should an incident occur, Temporal will [failover](/glossary#failover) your Namespace.
This allows your Workflow Executions and Schedules to seamlessly shift from the active availability zone to the fallback availability zone.

An availability zone is a physically isolated data center within a deployment region for a given cloud provider.
Regions consist of multiple availability zones, providing redundancy and fault tolerance.
In some cases, the fallback zone may be in the same region as the primary zone, or it may be in a different region altogether, depending on your deployment configuration.

High-availability simplifies deployment, ensuring operational continuity and data integrity even during unexpected events.
Regional disruptions or other issues that affect the data centers within a specific availability zone may occur.
High-availability allows processing to shift from the affected zone to an already-synchronized fallback zone.

This synchronized zone is called a "replica."
The process of duplicating all Workflow data ensures that your replica, which serves as the standby region, is always available and ready to take on the active role.

In the event of network service or performance issues in the active zone, your replica is ready to take over.
When necessary, Temporal Cloud smoothly transitions control from the active to the standby zone using a process called "[failover](/glossary#failover)".

Temporal Cloud's multi-region Namespace feature includes a 99.99% contractual Service Level Agreement ([SLA](https://docs.temporal.io/cloud/sla)).
It provides 99.99% availability and 99.99% guarantee against service errors.

For many customers, reliability is critical to maintaining business continuity and minimizing disruptions.
Temporal Cloud's multi-region Namespace feature includes a 99.99% contractual Service Level Agreement ([SLA](https://docs.temporal.io/cloud/sla)).
It provides 99.99% availability and a 99.99% guarantee against service errors.

## Why choose high-availability? {#high-availability-intro}

For many organizations, ensuring high-availability is critical to maintaining business continuity.
A high-availability Namespace (HAN) creates a single logical Namespace that operates across two physical zones: one active and one standby.
HANs streamline access for both zones to a unified Namespace endpoint.
As Workflows progress in the active zone, history events are asynchronously replicated to the standby zone, ensuring continuity and data integrity.

In the event of an incident or outage in the active zone, Temporal Cloud will seamlessly failover to your standby zone.
Failovers allow existing Workflow Executions to continue running and new Workflow Executions to be started.
Once failover occurs, the roles of the active and standby zones switch.
The standby zone becomes active, and the previous active zone becomes the standby.
After the issue is resolved, the zone "fails back" from the replica to the original.

In traditional active/active replication, multiple nodes serve requests and accept writes simultaneously, ensuring strong synchronous data consistency.
In contrast, with a Temporal Cloud high-availability Namespace, only the active zone accepts requests and writes at any given time.
Workflow history events are written to the active zone first and then asynchronously replicated to the standby zone replica, ensuring that the replica remains in sync.

<div style={{backgroundColor: '#ffff00',padding: '0px 15px',borderRadius: '5px',border: '1px solid #cccccc',display: 'inline-block'}}>**Needs new images**</div>

| Before failover | After failover |
| :-------------------------------------------------------: | :-----------------------------------------------------: |
| ![Before failover](/img/multi-region/before-failover.png) | ![After failover](/img/multi-region/after-failover.png) |

## Choosing high-availability

Should you be using high-availability Namespaces? It depends on your availability requirements:

- High-availability Namespaces offer a 99.99% contractual SLA for workloads with strict high-availability needs.
HANs use two Namespaces in two deployment zones to support standby recovery.
In the event of a zone failure, Temporal Cloud automatically fails over the HAN Namespace to the standby replica.
- Single-zone Namespaces include a 99.9% contractual Service Level Agreement ([SLA](/cloud/sla)).
In single-zone use, Temporal clients connect to a single Namespace in one deployment zone.
For many applications, this offers sufficient availability.

Temporal Cloud provides 99.99% service availability for all Namespaces, both single-region and high-availability.

**Advantages of using a multi-region Namespace:**

- No manual deployment or configuration required—just simple push-button operation.
- Open Workflows continue in the standby zone with minimal interruption and data loss.
- No changes needed for Worker or Workflow code during setup or failover.
- 99.99% contractual SLA.

<div style={{backgroundColor: '#ffff00',padding: '0px 15px',borderRadius: '5px',border: '1px solid #cccccc',display: 'inline-block'}}>**STOPPED HERE. Considering whether this should be its own page**</div>

## How to Upgrade

**Upgrading to high-availability:**

Enable the multi-region Namespace feature for your existing single-region Namespace by [adding a second region](/cloud/multi-region#add-regions) to your Namespace.
After adding the second region, Temporal Cloud begins data replication for your new standby region.
Temporal Cloud notifies you by email once the replication has caught up and both regions are in sync.
<RelatedReadContainer>
<RelatedReadItem path="/cloud/multi-region" text="Multi-region Namespaces for Temporal Cloud" archetype="encyclopedia" />
<RelatedReadItem path="/namespaces#global-namespace" text="Global Namespace for self-hosted deployments" archetype="encyclopedia" />
<RelatedReadItem path="/cloud/pricing" text="Multi-region Pricing" archetype="encyclopedia" />
<RelatedReadItem path="/cloud/multi-region#routing" text="PrivateLink routing for Multi-region" archetype="encyclopedia" />
</RelatedReadContainer>
30 changes: 30 additions & 0 deletions docs/production-deployment/cloud/high-availability/operations.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
id: operations
title: Operations
sidebar_label: Operations
slug: /cloud/high-availability/operations
description: REPLACE THIS. Temporal Cloud's High-Availability Namespaces offer automated failover, synchronized data replication, and high availability for workloads requiring disaster-tolerant deployment and 99.99% uptime. Use Global Namespace for self-hosted.
tags:
- Temporal Cloud
- Production
- High availability
keywords:
- availability
- explanation
- failover
- high-availability
- multi-region
- multi-region namespace
- namespaces
- temporal-cloud
- term
---
import { RelatedReadContainer, RelatedReadItem } from '@site/src/components/related-read/RelatedRead';

:::tip Support, stability, and dependency info

High-availability Namespaces are in [Public Preview](/evaluate/development-production-features/release-stages#public-preview) for Temporal Cloud.

:::


29 changes: 29 additions & 0 deletions docs/production-deployment/cloud/high-availability/pricing.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
id: pricing
title: Pricing (and Support?)
sidebar_label: Pricing (and Support?)
slug: /cloud/high-availability/pricing
description: REPLACE THIS. Temporal Cloud's High-Availability Namespaces offer automated failover, synchronized data replication, and high availability for workloads requiring disaster-tolerant deployment and 99.99% uptime. Use Global Namespace for self-hosted.
tags:
- Temporal Cloud
- Production
- High availability
keywords:
- availability
- explanation
- failover
- high-availability
- multi-region
- multi-region namespace
- namespaces
- temporal-cloud
- term
---
import { RelatedReadContainer, RelatedReadItem } from '@site/src/components/related-read/RelatedRead';

:::tip Support, stability, and dependency info

High-availability Namespaces are in [Public Preview](/evaluate/development-production-features/release-stages#public-preview) for Temporal Cloud.

:::

Loading

0 comments on commit 2d49a01

Please sign in to comment.