Skip to content

Commit

Permalink
DO NOT MERGE: EDU-1180 Multi-region Namespace Epic (#2856)
Browse files Browse the repository at this point in the history
* EDU-1181: Add starting image assets for MRN pages

* EDU-1181: Load main multi-region page

* EDU-1181: Added in sidebar.js, updated link for admonition

* EDU-1181 - Style update

* Shortened H2 titles
* Added bolded qs under H2s
* Checked all links
* Fixed one broken link

* EDU-2387: MRN Glossary entries

* Multi-region Namespace
* Failover
* Updated Global Namespace

* EDU-2442: Update Audit Logging with Failover event

* EDU-2427: add multi-region operations to tcld coverage

* EDU-1180: Update `FailoverNamespaces` to `FailoverNamespace`

* EDU-2443: Add metrics for MRN

* EDU-2443: Re-order items alphabetically for new MRN metrics

* EDU-2443: Add metrics to main MRN coverage

* Fixing typo 'cloud' is now 'Cloud' in MRN page metrics

* EDU-2385: Initial commit with base content

* Add admonition for MRN to Evaluate > Prod > Temporal Cloud > High Availability

* EDU-2495: Add SLA updates for MRN

* EDU-1569 EDU-2450 Pricing Tickets

* EDU-1181 | EDU-2443: Update Metrics coverage in MRN landing page.

* Update docs/production-deployment/cloud/introduction/pricing.mdx

* Fixing unbalanced parens and making note stand out

* EDU-1181: Responds to feedback from Irina

* EDU-1181: Responds to feedback from Irina

* EDU-1181: Incorporates feedback from Jim about Action pricing

* Updates SLA wording (Nikitha)

* One more Activity pricing tweak for clarity

* Corrects "counts" to "count" in two places on pricing page

* Responds to Irina's concerns about "highest level of availability"

* Rewords "Should you choose" section with help from Irina

* Responding to Nikitha requests

* Update docs/evaluate/production-features/self-hosted/high-availability.mdx

* Removes oddball duplication

* Update docs/evaluate/production-features/temporal-cloud/high-availability.mdx

* Update docs/evaluate/production-features/temporal-cloud/high-availability.mdx

* Update docs/production-deployment/cloud/introduction/sla.mdx

* Update docs/evaluate/production-features/index.mdx

Co-authored-by: Patrick Rachford <64233065+rachfop@users.noreply.github.com>

* Update docs/evaluate/production-features/index.mdx

Co-authored-by: Patrick Rachford <64233065+rachfop@users.noreply.github.com>

* Update docs/evaluate/production-features/temporal-cloud/high-availability.mdx

Co-authored-by: Patrick Rachford <64233065+rachfop@users.noreply.github.com>

* Update docs/evaluate/production-features/temporal-cloud/index.mdx

* Update docs/evaluate/production-features/temporal-cloud/index.mdx

* Update docs/evaluate/production-features/temporal-cloud/index.mdx

Co-authored-by: Patrick Rachford <64233065+rachfop@users.noreply.github.com>

* Update docs/glossary.md

* Update docs/production-deployment/cloud/introduction/sla.mdx

Co-authored-by: Patrick Rachford <64233065+rachfop@users.noreply.github.com>

* Update docs/production-deployment/cloud/tcld/namespace.mdx

Co-authored-by: Patrick Rachford <64233065+rachfop@users.noreply.github.com>

* Update docs/production-deployment/cloud/tcld/namespace.mdx

* Update docs/production-deployment/cloud/tcld/namespace.mdx

* Update docs/production-deployment/cloud/tcld/namespace.mdx

* Update docs/production-deployment/cloud/introduction/sla.mdx

Co-authored-by: Patrick Rachford <64233065+rachfop@users.noreply.github.com>

---------

Co-authored-by: Patrick Rachford <64233065+rachfop@users.noreply.github.com>
  • Loading branch information
fairlydurable and rachfop authored May 30, 2024
1 parent 0ef50fb commit 0f1b9a1
Show file tree
Hide file tree
Showing 25 changed files with 1,103 additions and 98 deletions.
2 changes: 2 additions & 0 deletions docs/evaluate/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ Thousands of companies of all sizes are leveraging Temporal's capabilities for b
- [Why Temporal](/evaluate/why-temporal)
- [Security](/security)
- [Release stages](/evaluate/release-stages)
- [Development features](/evaluate/development-features)
- [Production deployment features](/evaluate/production-features)
36 changes: 36 additions & 0 deletions docs/evaluate/production-features/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
id: index
title: Temporal's production deployment features
description: Explore your deployment options for production traffic with Temporal, offering both Self-hosted and Temporal Cloud solutions.
sidebar_label: Production features
tags:
- production-features
keywords:
- temporal service deployment
- self-host temporal service
- temporal cloud benefits
- production traffic management
- high availability workflows
- multi-tenant temporal service
- workflow state retention
- temporal community support
- temporal cloud vs self-hosted
- workflow history export
---

Transform your Temporal applications into production-ready systems by deploying your application code, Workflows, Activities, and Workers for operational use.
When your application is ready to start serving production traffic, we offer two Temporal Service options:

- **[Choose Temporal Cloud for your Temporal Service](/cloud)**
Let us handle the Temporal Service operations so you can focus on your applications.
- **[Self-host a Temporal Service](/self-hosted-guide)**
Deploy your own production level Temporal Service to orchestrate your durable applications.

| Feature | Temporal Cloud | Self-hosted |
| ---------------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Multi-tenant** | ✅ Up to 100 Namespaces | ✅ Unlimited Namespaces |
| **High availability and failover** |[Multi-region Namespaces](/evaluate/production-features/temporal-cloud/high-availability) |[Global Namespaces & Multi-Cluster Replication](/evaluate/production-features/self-hosted/high-availability) |
| **Application state persistence** | ✅ 30-90 day Retention | ✅ Unlimited |
| **Long term state retention** | ✅ Workflow History Export | ✅ Archival |
| **Community support** | ✅ Slack, Forum | ✅ Slack, Forum |
| **Paid support** | ✅ Prioritized responses | ✖️ |
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
id: high-availability
title: High availability - Self-hosted Temporal production feature
description: Explore your deployment options for production traffic with Temporal, offering both Self-hosted and Temporal Cloud solutions.
sidebar_label: High availability
tags:
- production-deployment
- production-features
- self-hosted-temporal
---

Explore Temporal's self-hosted high-availability features.

* [Global Namespace](/namespaces#global-namespace):
A Namespace that exists across Temporal Services to enhance your Namespace availability to higher levels.
A global Namespace automatically replicates metadata and Workflow Execution state from an active Temporal Service to a standby Temporal Service.
In the case of operational issues, a [failover](/glossary#failover) allows responsibility to pass from the active to the standby Temporal Service.
28 changes: 28 additions & 0 deletions docs/evaluate/production-features/self-hosted/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
id: index
title: Self-hosted production features
description: Roll your own solutions with Temporal Server
sidebar_label: Self-host
tags:
- production-deployment
- production-features
- temporal-self-hosted
keywords:
- temporal service deployment
- self-host temporal service
- production traffic management
- high availability workflows
- multi-tenant temporal service
- workflow state retention
- temporal community support
- workflow history export
---

Explore self-hosting when you need a production-ready Temporal Service to coordinate the execution of your Workflows and Activities.
See the [Self-hosted guide](/self-hosted-guide) to get started.

Make the most of your self-hosted deployment with these features:

* [High Availability](/evaluate/production-features/self-hosted/high-availability): Maximize availability and provide disaster-tolerant deployment for your self-hosted workloads.


119 changes: 119 additions & 0 deletions docs/evaluate/production-features/temporal-cloud/high-availability.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
---
id: high-availability
title: High availability - Temporal Cloud production feature
description: Add push-button high availability for your Temporal Service to ensure continuous reliable operation.
sidebar_label: High availability
tags:
- production-deployment
- production-features
- temporal-cloud
- high-availability
keywords:
- availability
- explanation
- failover
- high-availability
- multi-region
- multi-region namespace
- namespaces
- temporal-cloud
- term
---

:::tip Support, stability, and dependency info
- Multi-region Namespaces are in [Public Preview](/evaluate/release-stages#public-preview) for Temporal Cloud.

:::

Temporal Cloud offers disaster-tolerant deployment for workloads with stringent availability requirements.
With the multi-region feature enabled, Temporal Cloud automates [failover](/glossary#failover] and synchronizes data between Namespace regions.

This page introduces Temporal Cloud patterns that support your workload's availability requirements.

## Multi-region Namespaces

Multi-region Namespaces provide failover capabilities to mitigate service outages due to regional failures.
They reduce risk and minimize operational disruption.
This feature seamlessly shif​​ts Workflow execution between regions to maintain service availability.

Your Clients use a single logical Namespace with a single endpoint that operates in two physical regions: one active and one standby.
As Workflows progress in the active region, history events asynchronously replicate to the standby region.
Data replication ensures both regions are in sync so the standby is ready to take over when needed.

Should an incident or outage occur in the active region, Temporal Cloud initiates a "failover" to the standby region.
During a failover, the roles of the active and standby regions reverse.
The standby takes over as the primary region.

### Advantages of multi-region Namespaces {#multi-region-advantages}

**Why choose a multi-region Namespace (MRN)?**

* **Reduce Risk**:
MRN's protects your operations from unexpected regional outages.
Its automated disaster recovery features ensure that workloads remain available and continue execution.
* **Minimize Operational Disruption**:
Seamless failovers shift Workflow Executions to a secondary region during outages.
MRNs maintain service availability without needing manual synchronization between Namespaces.
Real-time alerts during failover events keep you informed.
* **No manual deployment or configuration needed:**
Temporal Cloud simplifies deployment with push-button operation.
This eliminates the need for manual deployment or configuration.
* **Fault tolerance**.
Your open Workflows continue their progress in the standby region.
This minimizes interruption and data loss during regional failures.
* **No code changes**.
Your Workers and Workflow starter code don't need updates to take advantage of multi-region setup or to respond to failover conditions.
This allows for a smooth transition and continued operation.

### Service Level Objectives (SLO) and guarantees {#multi-region-SLO}

**What reliability promises does this feature offer?**

* Temporal provides a 99.99% Contractual SLA that provides redress in the event of downtime ([SLA](https://docs.temporal.io/cloud/sla)).
* [RTO](https://csrc.nist.gov/glossary/term/recovery_time_objective): 20 minutes or less.
* [RPO](https://csrc.nist.gov/glossary/term/recovery_point_objective): Near zero.

### Target workloads {#target-workloads}

**Who benefits from this feature?**

Multi-region Namespaces are a great solution for Workloads where a regional cloud outage would cause:

* Revenue loss
* Poor customer experience
* Problems stemming from policy/legal requirements that demand high availability

Some examples: financial services, e-commerce, gaming, global SaaS platforms, bookings & reservations, delivery & shipping, order management.

### Explore {#explore-multi-region}

**Read more about our multi-region features**

* [Multi-region Namespaces](/cloud/multi-region) offer High Availability service for Temporal Cloud customers who need the highest level of availability at all times.
* [Multi-region Pricing](/cloud/pricing) scales to use.
* Multi-region high availability supports [PrivateLink routing](/cloud/multi-region#routing).

## Single-region Namespaces

A typical Temporal Cloud Namespace is deployed into one [AWS region](https://docs.temporal.io/cloud/service-availability).
Temporal Cloud provides [99.99% availability](https://docs.temporal.io/cloud/sla) and a contractual [service level agreement](https://docs.temporal.io/cloud/sla) (SLA) of 99.9% guarantee against service errors.
It provides a great all-around solution that's suitable for most organizations.

### Advantages of single-region Namespaces {#single-region-advantages}

**Why choose single-region Namespaces?**

* This option offers sufficient availability for most use cases and workloads.
* Temporal Cloud provides 99.99% availability and a contractual service level agreement of 99.9% guarantee against service errors.
Read more on our [SLA page](https://docs.temporal.io/cloud/sla).

Some downsides of single-region Namespaces compared to multi-region Namespaces:

* Stalled work during failures: Open Workflow Executions pause until the region/Namespace recovers.
* Blocked work initiation: No new Workflow Executions will start until the region/Namespace recovers.

### Explore {#explore-temporal-namespaces}

**Read more about Namespaces**

* [Temporal Cloud Namespaces](/cloud/namespaces) offer outstanding reliable service for Temporal Cloud customers.
34 changes: 34 additions & 0 deletions docs/evaluate/production-features/temporal-cloud/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
id: index
title: Temporal Cloud production features
sidebar_label: Temporal Cloud
description: Learn about Temporal Cloud, Temporal's software-as-a-service infrastructure platform designed to manage the durability of your Temporal Applications.
sidebar_position: 1
tags:
- production-deployment
- production-features
- temporal-cloud
keywords:
- temporal service deployment
- temporal cloud benefits
- production traffic management
- high availability workflows
- multi-tenant temporal service
- workflow state retention
- temporal community support
- workflow history export
---


[Temporal Cloud](https://temporal.io/cloud) a software-as-a-service (SaaS) infrastructure platform designed to manage the durability of your Temporal Applications.
Temporal Cloud oversees and manages the execution process for your production evironments for your distributed applications and services.
It provides durable execution, allowing failable processes to be retried, and capturing progress so that your Workflows execute reliably, recoverably, and performantly.

Temporal Cloud features include:

- [High Availability](/evaluate/production-features/temporal-cloud/high-availability): Add push-button high availability to your Temporal Cloud Service with multi-region Namespaces (MRN).
MRNs provide seamless failover capabilities to your production work, ensuring continuous reliable operation.

We handle the operations of running the Temporal Service.
You focus on your application.
See the [Temporal Cloud guide](/cloud) to get started.
21 changes: 20 additions & 1 deletion docs/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,13 @@ An append-only log of Events that represents the full state a Workflow Execution

_Tags: [term](/tags/term), [explanation](/tags/explanation)_

#### [Failover](/cloud/multi-region)

A Failover shifts Workflow Execution processing from an active Temporal Namespace to a standby Temporal Namespace during outages or other incidents.
Standby Namespaces use replication to duplicate data and prevent data loss during Failover.

_Tags: [term](/tags/term), [explanation](/tags/explanation)_

#### [Failure](/temporal#failure)

Temporal Failures are representations of various types of errors that occur in the system.
Expand Down Expand Up @@ -215,7 +222,9 @@ _Tags: [product-release-stages](/tags/product-release-stages), [term](/tags/term

#### [Global Namespace](/namespaces#global-namespace)

A Global Namespace is a Namespace that exists across Clusters when Multi-Cluster Replication is set up.
A Global Namespace is a Namespace that duplicates data from an active [Temporal Service](#temporal-cluster) to a standby Service using the replication to keep both Namespaces in sync.
Global Namespaces are designed to respond to service issues like network congestion.
When service to the primary Cluster is compromised, a [Failover](#failover) transfers control from the active to the standby cluster.

_Tags: [term](/tags/term), [explanation](/tags/explanation)_

Expand Down Expand Up @@ -267,6 +276,16 @@ Multi-Cluster Replication is a feature which asynchronously replicates Workflow

_Tags: [term](/tags/term), [explanation](/tags/explanation)_

#### [Multi-region Namespace](/cloud/multi-region)

A multi-region Namespace (MRN) is a [Temporal Cloud](#temporal-cloud) Namespace that is configured to work across an active [region](/cloud/service-availability#regions) and a standby region.
Each region corresponds to a dedicated Temporal Cloud Service.
Temporal Cloud automatically replicates Workflow Executions and metadata from the active to the standby region.
MRNs are designed to respond to service issues as they arise.
In the event that the Namespace's performance is compromised, a [Failover](#failover) transfers control from the active to the standby region.

_Tags: [term](/tags/term), [explanation](/tags/explanation)_

#### [Namespace](/namespaces)

A Namespace is a unit of isolation within the Temporal Platform
Expand Down
2 changes: 2 additions & 0 deletions docs/production-deployment/cloud/audit-logging.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ The following list specifies both the supported events and the Temporal APIs tha
- Add custom Search Attributes: `UpdateNamespace`
- Rename custom Search Attribute: `RenameCustomSearchAttribute`
- Request increase in Retention Period: `UpdateNamespace`
- Multi-region Namespace
- Failover Namespace: `FailoverNamespace`

### API Key Operation events

Expand Down
Loading

0 comments on commit 0f1b9a1

Please sign in to comment.