Skip to content

Commit

Permalink
Self Hosted Deployment Doc additions/clarifications (#751)
Browse files Browse the repository at this point in the history
  • Loading branch information
tomhasura authored Oct 30, 2024
1 parent c17ef4f commit b59a898
Show file tree
Hide file tree
Showing 5 changed files with 217 additions and 124 deletions.
2 changes: 1 addition & 1 deletion docs/deployment/private/data-plane-collaboration.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 4
sidebar_position: 3
sidebar_label: Data Plane Collaboration
description: "Learn how to use the data plane collaboration feature for Private DDN."
keywords:
Expand Down
4 changes: 2 additions & 2 deletions docs/deployment/private/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ Private Hasura DDN offers enhanced security and isolation by enabling private co
other connectors. Hasura communicates with your sources over a dedicated private network, bypassing the public internet.

- [Hasura-Hosted (VPC)](/deployment/private/hasura-hosted.mdx) private deployments
- [Self-Hosted (BYOC)](/deployment/private/self-hosted.mdx) private deployments
- [Data Plane Collaboration](/deployment/private/data-plane-collaboration.mdx)
- [Self-Hosted (Customer Managed) Data Plane Installation](/deployment/private/self-hosted-deployment.mdx)
- [Self-Hosted (BYOC)](/deployment/private/self-hosted) private deployments
- [Data Plane Installation](/deployment/private/self-hosted/self-hosted-deployment.mdx) self-hosted and customer managed
4 changes: 4 additions & 0 deletions docs/deployment/private/self-hosted/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "Self-Hosted (BYOC)",
"position": 7
}
Original file line number Diff line number Diff line change
@@ -1,74 +1,74 @@
---
sidebar_position: 3
sidebar_label: Self-Hosted (BYOC)
description: "Learn how to self-host your own instance of Hasura DDN."
keywords:
- hasura ddn
- enterprise ddn
- private ddn
---

import Thumbnail from "@site/src/components/Thumbnail";

# Self-Hosted (BYOC)

## Introduction

Hasura DDN is also available to self-host if you need to have complete control over the infrastructure.

There are two models of deployment with Self-Hosted DDN.

1. Hasura manages the data plane on the customer's cloud account.

The [data plane](/deployment/architecture.mdx#data-plane) will run on a Kubernetes cluster of your choice and Hasura
manages the uptime, upgrades, etc. The Hasura Control Plane will need to be given sufficient privileges to install,
configure and manage the workloads and associated infrastructure components. The experience is exactly like using
Hasura Hosted DDN, but running on your infrastructure. All API traffic stays within your network and does not leave
the boundaries of your system.

2. Customer manages the data plane on their cloud account themselves.

The [data plane](/deployment/architecture.mdx#data-plane) can be installed on a Kubernetes cluster of your choice and
you control the uptime, upgrades, etc. All API traffic stays within your network and does not leave the boundaries of
your system.

Installation docs related to deployment of a self hosted, customer managed data plane are located [here](/deployment/private/self-hosted-deployment.mdx)

In both cases, the [control plane](/deployment/architecture.mdx#control-plane) is always hosted by Hasura.

<Thumbnail src="/img/deployment/private_ddn_customer_hosted.png" alt="Private DDN Architecture Customer Hosted" />

## Data Flow and security

All critical data operations occur exclusively within the customer infrastructure. When an API user sends a GraphQL
query, it's received by Hasura in the Data Plane. Hasura then directly accesses the necessary data sources within the
customer infrastructure to fulfill the request. This direct access ensures that sensitive data never leaves the
customer's controlled environment, maintaining data residency and security.

While the Control Plane, situated in the Hasura infrastructure, does communicate with the Data Plane, this communication
is strictly limited to configuration and management purposes. Importantly, this communication does not involve customer
data or API responses, further enhancing data security.

The distinction between the Control and Planes creates well-defined security boundaries. By keeping the Data Plane and
all data sources within the customer's security perimeter, the architecture ensures that sensitive information remains
under the customer's control at all times.

## Interactions with the control plane

In Self-Hosted Hasura DDN, the Data Plane running on your infrastructure communicates with the control plane only in
very specific scenarios:

1. The Data Plane accesses a metadata storage bucket to retrieve build artifacts; these artifacts are required to
process API requests.
2. The data plane accesses the control plane APIs to retrieve information about (applied) builds for the purposes of
routing.
3. (Optional) The data plane sends observability data to the Control Plane so you can visualize it on the console; it
does not contain any API response data or variables.
4. The Control Plane interacts with the Kubernetes cluster to manage Data Plane workloads (only in a Hasura-Managed Data
Plane).

<Thumbnail src="/img/deployment/cp_dp_interactions.png" alt="Control Plane - Data Plane interactions" />

## Get started

To get started with Hasura DDN in your own cloud, [contact sales](https://hasura.io/contact-us).
---
sidebar_position: 1
sidebar_label: Overview
description: "Learn how to self-host your own instance of Hasura DDN."
keywords:
- hasura ddn
- enterprise ddn
- private ddn
---

import Thumbnail from "@site/src/components/Thumbnail";

# Self-Hosted (BYOC)

## Introduction

Hasura DDN is also available to self-host if you need to have complete control over the infrastructure.

There are two models of deployment with Self-Hosted DDN.

1. Hasura manages the data plane on the customer's cloud account.

The [data plane](/deployment/architecture.mdx#data-plane) will run on a Kubernetes cluster of your choice and Hasura
manages the uptime, upgrades, etc. The Hasura Control Plane will need to be given sufficient privileges to install,
configure and manage the workloads and associated infrastructure components. The experience is exactly like using
Hasura Hosted DDN, but running on your infrastructure. All API traffic stays within your network and does not leave
the boundaries of your system.

2. Customer manages the data plane on their cloud account themselves.

The [data plane](/deployment/architecture.mdx#data-plane) can be installed on a Kubernetes cluster of your choice and
you control the uptime, upgrades, etc. All API traffic stays within your network and does not leave the boundaries of
your system.

Installation docs related to deployment of a self hosted, customer managed data plane are located [here](/deployment/private/self-hosted/self-hosted-deployment.mdx)

In both cases, the [control plane](/deployment/architecture.mdx#control-plane) is always hosted by Hasura.

<Thumbnail src="/img/deployment/private_ddn_customer_hosted.png" alt="Private DDN Architecture Customer Hosted" />

## Data Flow and security

All critical data operations occur exclusively within the customer infrastructure. When an API user sends a GraphQL
query, it's received by Hasura in the Data Plane. Hasura then directly accesses the necessary data sources within the
customer infrastructure to fulfill the request. This direct access ensures that sensitive data never leaves the
customer's controlled environment, maintaining data residency and security.

While the Control Plane, situated in the Hasura infrastructure, does communicate with the Data Plane, this communication
is strictly limited to configuration and management purposes. Importantly, this communication does not involve customer
data or API responses, further enhancing data security.

The distinction between the Control and Planes creates well-defined security boundaries. By keeping the Data Plane and
all data sources within the customer's security perimeter, the architecture ensures that sensitive information remains
under the customer's control at all times.

## Interactions with the control plane

In Self-Hosted Hasura DDN, the Data Plane running on your infrastructure communicates with the control plane only in
very specific scenarios:

1. The Data Plane accesses a metadata storage bucket to retrieve build artifacts; these artifacts are required to
process API requests.
2. The data plane accesses the control plane APIs to retrieve information about (applied) builds for the purposes of
routing.
3. (Optional) The data plane sends observability data to the Control Plane so you can visualize it on the console; it
does not contain any API response data or variables.
4. The Control Plane interacts with the Kubernetes cluster to manage Data Plane workloads (only in a Hasura-Managed Data
Plane).

<Thumbnail src="/img/deployment/cp_dp_interactions.png" alt="Control Plane - Data Plane interactions" />

## Get started

To get started with Hasura DDN in your own cloud, [contact sales](https://hasura.io/contact-us).
Loading

0 comments on commit b59a898

Please sign in to comment.