diff --git a/docs/docs/cloud/deployment/cloud.md b/docs/docs/cloud/deployment/cloud.md
index 0ffb4f7fb..c53d516a6 100644
--- a/docs/docs/cloud/deployment/cloud.md
+++ b/docs/docs/cloud/deployment/cloud.md
@@ -1,6 +1,6 @@
-# How to Deploy to LangGraph Cloud
+# How to Deploy to Cloud SaaS
-LangGraph Cloud is available within LangSmith. To deploy a LangGraph Cloud API, navigate to the LangSmith UI.
+Before deploying, review the [conceptual guide for the Cloud SaaS](../../concepts/langgraph_cloud.md) deployment option.
## Prerequisites
diff --git a/docs/docs/cloud/deployment/self_hosted_control_plane.md b/docs/docs/cloud/deployment/self_hosted_control_plane.md
new file mode 100644
index 000000000..f72de8bd2
--- /dev/null
+++ b/docs/docs/cloud/deployment/self_hosted_control_plane.md
@@ -0,0 +1,56 @@
+# How to Deploy Self-Hosted Control Plane
+
+Before deploying, review the [conceptual guide for the Self-Hosted Control Plane](../../concepts/langgraph_self_hosted_control_plane.md) deployment option.
+
+## Prerequisites
+
+1. You are using Kubernetes.
+1. You have self-hosted LangSmith deployed.
+1. Use the [LangGraph CLI](../../concepts/langgraph_cli.md) to [test your application locally](./test_locally.md).
+1. Use the [LangGraph CLI](../../concepts/langgraph_cli.md) to build a Docker image (i.e. `langgraph build`) and push it to a registry your Kubernetes cluster has access to.
+1. `KEDA` is installed on your cluster.
+
+ helm repo add kedacore https://kedacore.github.io/charts
+ helm install keda kedacore/keda --namespace keda --create-namespace
+
+1. Ingress Configuration (recommended)
+ 1. Install `Ingress Nginx` to serve as a reverse proxy for your deployment.
+
+ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
+ helm repo update
+ helm install ingress-nginx ingress-nginx/ingress-nginx
+
+ 1. Provision a root domain that will suffix all domains for your workloads (e.g. `us.langgraph.app`).
+ 1. Provision wildcard certificates to terminate TLS for your deployments.
+ 1. Note: If this step is skipped, you will need to provision domains/certs for each of your deployments.
+
+1. You have slack space in your cluster for multiple deployments. `Cluster-Autoscaler` is recommended to automatically provision new nodes.
+
+## Setup
+
+1. As part of configuring your Self-Hosted LangSmith instance, you enable the `langgraphPlatform` option. This will provision a few key resources.
+ 1. `listener`: This is a service that listens to the [control plane](../../concepts/langgraph_control_plane.md) for changes to your deployments and creates/updates downstream CRDs.
+ 1. `LangGraphPlatform CRD`: A CRD for LangGraph Platform deployments. This contains the spec for managing an instance of a LangGraph platform deployment.
+ 1. `operator`: This operator handles changes to your LangGraph Platform CRDs.
+ 1. `host-backend`: This is the [control plane](../../concepts/langgraph_control_plane.md).
+1. Two additional images will be used by the chart.
+
+ hostBackendImage:
+ repository: "docker.io/langchain/hosted-langserve-backend"
+ pullPolicy: IfNotPresent
+ tag: "0.9.80"
+ operatorImage:
+ repository: "docker.io/langchain/langgraph-operator"
+ pullPolicy: IfNotPresent
+ tag: "aa9dff4"
+
+1. In your `values.yaml` file, enable the `langgraphPlatform` option.
+
+ config:
+ langgraphPlatform:
+ enabled: true
+ langgraphPlatformLicenseKey: "YOUR_LANGGRAPH_PLATFORM_LICENSE_KEY"
+ rootDomain: "YOUR_ROOT_DOMAIN"
+
+1. You can also configure base templates for your agents by overriding the base templates [here](https://github.com/langchain-ai/helm/blob/main/charts/langsmith/values.yaml#L898).
+1. You create a deployment from the [Control Plane UI](../../concepts/langgraph_control_plane.md#control-plane-ui).
diff --git a/docs/docs/cloud/deployment/self_hosted_data_plane.md b/docs/docs/cloud/deployment/self_hosted_data_plane.md
new file mode 100644
index 000000000..652842e49
--- /dev/null
+++ b/docs/docs/cloud/deployment/self_hosted_data_plane.md
@@ -0,0 +1,53 @@
+# How to Deploy Self-Hosted Data Plane
+
+Before deploying, review the [conceptual guide for the Self-Hosted Data Plane](../../concepts/langgraph_self_hosted_data_plane.md) deployment option.
+
+## Prerequisites
+
+1. Use the [LangGraph CLI](../../concepts/langgraph_cli.md) to [test your application locally](./test_locally.md).
+1. Use the [LangGraph CLI](../../concepts/langgraph_cli.md) to build a Docker image (i.e. `langgraph build`) and push it to a registry your Kubernetes cluster or Amazon ECS cluster has access to.
+
+## Kubernetes
+
+### Prerequisites
+1. `KEDA` is installed on your cluster.
+
+ helm repo add kedacore https://kedacore.github.io/charts
+ helm install keda kedacore/keda --namespace keda --create-namespace
+
+1. A valid `Ingress` controller is install on your cluster.
+1. You have slack space in your cluster for multiple deployments. `Cluster-Autoscaler` is recommended to automatically provision new nodes.
+
+### Setup
+
+1. You give us your LangSmith organization ID. We will enable the Self-Hosted Data Plane for your organization.
+1. We provide you a [Helm chart](https://github.com/langchain-ai/helm/tree/main/charts/langgraph-dataplane) which you run to setup your Kubernetes cluster. This chart contains a few important components.
+ 1. `langgraph-listener`: This is a service that listens to LangChain's [control plane](../../concepts/langgraph_control_plane.md) for changes to your deployments and creates/updates downstream CRDs.
+ 1. `LangGraphPlatform CRD`: A CRD for LangGraph Platform deployments. This contains the spec for managing an instance of a LangGraph Platform deployment.
+ 1. `langgraph-platform-operator`: This operator handles changes to your LangGraph Platform CRDs.
+1. Configure your `langgraph-dataplane-values.yaml` file.
+
+ config:
+ langgraphPlatformLicenseKey: "" # Your LangGraph Platform license key
+ langsmithApiKey: "" # API Key of your Workspace
+ langsmithWorkspaceId: "" # Workspace ID
+ hostBackendUrl: "https://api.host.langchain.com" # Only override this if on EU
+ smithBackendUrl: "https://api.smith.langchain.com" # Only override this if on EU
+
+1. Deploy `langgraph-dataplane` Helm chart.
+
+ helm repo add langchain https://langchain-ai.github.io/helm/
+ helm repo update
+ helm upgrade -i langgraph-dataplane langchain/langgraph-dataplane --values langgraph-dataplane-values.yaml
+
+1. If successful, you will see two services start up in your namespace.
+
+ NAME READY STATUS RESTARTS AGE
+ langgraph-dataplane-listener-7fccd788-wn2dx 0/1 Running 0 9s
+ langgraph-dataplane-redis-0 0/1 ContainerCreating 0 9s
+
+1. You create a deployment from the [Control Plane UI](../../concepts/langgraph_control_plane.md#control-plane-ui).
+
+## Amazon ECS
+
+Coming soon!
diff --git a/docs/docs/cloud/deployment/standalone_container.md b/docs/docs/cloud/deployment/standalone_container.md
new file mode 100644
index 000000000..de1315522
--- /dev/null
+++ b/docs/docs/cloud/deployment/standalone_container.md
@@ -0,0 +1,110 @@
+# How to Deploy a Standalone Container
+
+Before deploying, review the [conceptual guide for the Standalone Container](../../concepts/langgraph_standalone_container.md) deployment option.
+
+## Prerequisites
+
+1. Use the [LangGraph CLI](../../concepts/langgraph_cli.md) to [test your application locally](./test_locally.md).
+1. Use the [LangGraph CLI](../../concepts/langgraph_cli.md) to build a Docker image (i.e. `langgraph build`).
+1. The following environment variables are needed for a standalone container deployment.
+ 1. `REDIS_URI`: Connection details to a Redis instance. Redis will be used as a pub-sub broker to enable streaming real time output from background runs. The value of `REDIS_URI` must be a valid [Redis connection URI](https://redis-py.readthedocs.io/en/stable/connections.html#redis.Redis.from_url).
+
+ !!! Note "Shared Redis Instance"
+ Multiple self-hosted deployments can share the same Redis instance. For example, for `Deployment A`, `REDIS_URI` can be set to `redis://:/1` and for `Deployment B`, `REDIS_URI` can be set to `redis://:/2`.
+
+ `1` and `2` are different database numbers within the same instance, but `` is shared. **The same database number cannot be used for separate deployments**.
+
+ 1. `DATABASE_URI`: Postgres connection details. Postgres will be used to store assistants, threads, runs, persist thread state and long term memory, and to manage the state of the background task queue with 'exactly once' semantics. The value of `DATABASE_URI` must be a valid [Postgres connection URI](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS).
+
+ !!! Note "Shared Postgres Instance"
+ Multiple self-hosted deployments can share the same Postgres instance. For example, for `Deployment A`, `DATABASE_URI` can be set to `postgres://:@/?host=` and for `Deployment B`, `DATABASE_URI` can be set to `postgres://:@/?host=`.
+
+ `` and `database_name_2` are different databases within the same instance, but `` is shared. **The same database cannot be used for separate deployments**.
+
+ 1. `LANGSMITH_API_KEY`: (if using [Lite](../../concepts/langgraph_data_plane.md#lite-vs-enterprise)) LangSmith API key. This will be used to authenticate ONCE at server start up.
+ 1. `LANGGRAPH_CLOUD_LICENSE_KEY`: (if using [Enterprise](../../concepts/langgraph_data_plane.md#lite-vs-enterprise)) LangGraph Platform license key. This will be used to authenticate ONCE at server start up.
+ 1. `LANGSMITH_ENDPOINT`: To send traces to a [self-hosted LangSmith](https://docs.smith.langchain.com/self_hosting) instance, set `LANGSMITH_ENDPOINT` to the hostname of the self-hosted LangSmith instance.
+
+## Kubernetes (Helm)
+
+Use this [Helm chart](https://github.com/langchain-ai/helm/blob/main/charts/langgraph-cloud/README.md) to deploy a LangGraph Server to a Kubernetes cluster.
+
+## Docker
+
+Run the following `docker` command:
+```shell
+docker run \
+ --env-file .env \
+ -p 8123:8000 \
+ -e REDIS_URI="foo" \
+ -e DATABASE_URI="bar" \
+ -e LANGSMITH_API_KEY="baz" \
+ my-image
+```
+
+!!! note
+
+ * You need to replace `my-image` with the name of the image you built in the prerequisite steps (from `langgraph build`)
+ and you should provide appropriate values for `REDIS_URI`, `DATABASE_URI`, and `LANGSMITH_API_KEY`.
+ * If your application requires additional environment variables, you can pass them in a similar way.
+
+## Docker Compose
+
+Docker Compose YAML file:
+```yml
+volumes:
+ langgraph-data:
+ driver: local
+services:
+ langgraph-redis:
+ image: redis:6
+ healthcheck:
+ test: redis-cli ping
+ interval: 5s
+ timeout: 1s
+ retries: 5
+ langgraph-postgres:
+ image: postgres:16
+ ports:
+ - "5433:5432"
+ environment:
+ POSTGRES_DB: postgres
+ POSTGRES_USER: postgres
+ POSTGRES_PASSWORD: postgres
+ volumes:
+ - langgraph-data:/var/lib/postgresql/data
+ healthcheck:
+ test: pg_isready -U postgres
+ start_period: 10s
+ timeout: 1s
+ retries: 5
+ interval: 5s
+ langgraph-api:
+ image: ${IMAGE_NAME}
+ ports:
+ - "8123:8000"
+ depends_on:
+ langgraph-redis:
+ condition: service_healthy
+ langgraph-postgres:
+ condition: service_healthy
+ env_file:
+ - .env
+ environment:
+ REDIS_URI: redis://langgraph-redis:6379
+ LANGSMITH_API_KEY: ${LANGSMITH_API_KEY}
+ POSTGRES_URI: postgres://postgres:postgres@langgraph-postgres:5432/postgres?sslmode=disable
+```
+
+You can run the command `docker compose up` with this Docker Compose file in the same folder.
+
+This will launch a LangGraph Server on port `8123` (if you want to change this, you can change this by changing the ports in the `langgraph-api` volume). You can test if the application is healthy by running:
+
+```shell
+curl --request GET --url 0.0.0.0:8123/ok
+```
+Assuming everything is running correctly, you should see a response like:
+
+```shell
+{"ok":true}
+```
diff --git a/docs/docs/concepts/deployment_options.md b/docs/docs/concepts/deployment_options.md
index c229d6122..f5af7f3ff 100644
--- a/docs/docs/concepts/deployment_options.md
+++ b/docs/docs/concepts/deployment_options.md
@@ -10,90 +10,65 @@
There are 4 main options for deploying with the LangGraph Platform:
-1. **[Self-Hosted Lite](#self-hosted-lite)**: Available for all plans.
+1. **[Cloud SaaS](#cloud-saas)**: Available for **Plus** and **Enterprise** plans.
-2. **[Self-Hosted Enterprise](#self-hosted-enterprise)**: Available for the **Enterprise** plan.
+1. **[Self-Hosted Data Plane](#self-hosted-data-plane)**: Available for the **Enterprise** plan.
-3. **[Cloud SaaS](#cloud-saas)**: Available for **Plus** and **Enterprise** plans.
+1. **[Self-Hosted Control Plane](#self-hosted-control-plane)**: Available for the **Enterprise** plan.
-4. **[Bring Your Own Cloud](#bring-your-own-cloud)**: Available only for **Enterprise** plans and **only on AWS**.
+1. **[Standalone Container](#standalone-container)**: Available for all plans.
Please see the [LangGraph Platform Plans](./plans.md) for more information on the different plans.
The guide below will explain the differences between the deployment options.
-## Self-Hosted Enterprise
-
-!!! important
-
- The Self-Hosted Enterprise version is only available for the **Enterprise** plan.
-
-!!! warning "Note"
-
- The LangGraph Platform Deployments view is optionally available for Self-Hosted Enterprise LangGraph deployments. With one click, self-hosted LangGraph deployments can be deployed in the same Kubernetes cluster where a self-hosted LangSmith instance is deployed.
-
-With a Self-Hosted Enterprise deployment, you are responsible for managing the infrastructure, including setting up and maintaining required databases and Redis instances.
-
-You’ll build a Docker image using the [LangGraph CLI](./langgraph_cli.md), which can then be deployed on your own infrastructure.
-
-For more information, please see:
-
-* [Self-Hosted conceptual guide](./self_hosted.md)
-* [Self-Hosted Deployment how-to guide](../how-tos/deploy-self-hosted.md)
-
-## Self-Hosted Lite
-
-!!! important
-
- The Self-Hosted Lite version is available for all plans.
-
-!!! warning "Note"
-
- The LangGraph Platform Deployments view is optionally available for Self-Hosted Lite LangGraph deployments. With one click, self-hosted LangGraph deployments can be deployed in the same Kubernetes cluster where a self-hosted LangSmith instance is deployed.
-
-The Self-Hosted Lite deployment option is a free (up to 1 million nodes executed per year), limited version of LangGraph Platform that you can run locally or in a self-hosted manner.
-
-With a Self-Hosted Lite deployment, you are responsible for managing the infrastructure, including setting up and maintaining required databases and Redis instances.
-
-You’ll build a Docker image using the [LangGraph CLI](./langgraph_cli.md), which can then be deployed on your own infrastructure.
-
-[Cron jobs](../cloud/how-tos/cron_jobs.md) are not available for Self-Hosted Lite deployments.
-
-For more information, please see:
-
-* [Self-Hosted conceptual guide](./self_hosted.md)
-* [Self-Hosted deployment how-to guide](../how-tos/deploy-self-hosted.md)
-
## Cloud SaaS
-!!! important
+The [Cloud SaaS](./langgraph_cloud.md) deployment option is a fully managed model for deployment where we manage the [control plane](./langgraph_control_plane.md) and [data plane](./langgraph_data_plane.md) in our cloud. This option provides a simple way to deploy and manage your LangGraph Servers.
- The Cloud SaaS version of LangGraph Platform is only available for **Plus** and **Enterprise** plans.
-
-The [Cloud SaaS](./langgraph_cloud.md) version of LangGraph Platform is hosted as part of [LangSmith](https://smith.langchain.com/).
-
-The Cloud SaaS version of LangGraph Platform provides a simple way to deploy and manage your LangGraph applications.
-
-This deployment option provides access to the LangGraph Platform UI (within LangSmith) and an integration with GitHub, allowing you to deploy code from any of your repositories on GitHub.
+Connect your GitHub repositories to the platform and deploy your LangGraph Servers from the [Control Plane UI](./langgraph_control_plane.md#control-plane-ui). The build process (i.e. CI/CD) is managed internally by the platform.
For more information, please see:
* [Cloud SaaS Conceptual Guide](./langgraph_cloud.md)
* [How to deploy to Cloud SaaS](../cloud/deployment/cloud.md)
+## Self-Hosted Data Plane
-## Bring Your Own Cloud
+The [Self-Hosted Data Plane](./langgraph_self_hosted_data_plane.md) deployment option is a "hybrid" model for deployemnt where we manage the [control plane](./langgraph_control_plane.md) in our cloud and you manage the [data plane](./langgraph_data_plane.md) in your cloud. This option provides a way to securely manage your data plane infrastructure, while offloading control plane management to us.
-!!! important
+Build a Docker image using the [LangGraph CLI](./langgraph_cli.md) and deploy your LangGraph Server from the [Control Plane UI](./langgraph_control_plane.md#control-plane-ui).
- The Bring Your Own Cloud version of LangGraph Platform is only available for **Enterprise** plans.
+Supported Compute Platforms: [Kubernetes](https://kubernetes.io/), [Amazon ECS](https://aws.amazon.com/ecs/) (coming soon!)
+For more information, please see:
-This combines the best of both worlds for Cloud and Self-Hosted. Create your deployments through the LangGraph Platform UI (within LangSmith) and we manage the infrastructure so you don't have to. The infrastructure all runs within your cloud. This is currently only available on AWS.
+* [Self-Hosted Data Plane Conceptual Guide](./langgraph_self_hosted_data_plane.md)
+* [How to deploy the Self-Hosted Data Plane](../cloud/deployment/self_hosted_data_plane.md)
-For more information please see:
+## Self-Hosted Control Plane
-* [Bring Your Own Cloud Conceptual Guide](./bring_your_own_cloud.md)
+The [Self-Hosted Control Plane](./langgraph_self_hosted_control_plane.md) deployment option is a fully self-hosted model for deployment where you manage the [control plane](./langgraph_control_plane.md) and [data plane](./langgraph_data_plane.md) in your cloud. This option give you full control and responsibility of the control plane and data plane infrastructure.
+
+Build a Docker image using the [LangGraph CLI](./langgraph_cli.md) and deploy your LangGraph Server from the [Control Plane UI](./langgraph_control_plane.md#control-plane-ui).
+
+Supported Compute Platforms: [Kubernetes](https://kubernetes.io/)
+
+For more information, please see:
+
+* [Self-Hosted Control Plane Conceptual Guide](./langgraph_self_hosted_control_plane.md)
+* [How to deploy the Self-Hosted Control Plane](../cloud/deployment/self_hosted_control_plane.md)
+
+## Standalone Container
+
+The [Standalone Container](./langgraph_standalone_container.md) deployment option is the least restrictive model for deployment. Deploy standalone instances of a LangGraph Server in your cloud.
+
+Build a Docker image using the [LangGraph CLI](./langgraph_cli.md) and deploy your LangGraph Server using the container deployment tooling of your choice. Images can be deployed to any compute platform.
+
+For more information, please see:
+
+* [Sandalone Container Conceptual Guide](./langgraph_standalone_container.md)
+* [How to deploy a Standalone Container](../cloud/deployment/standalone_container.md)
## Related
diff --git a/docs/docs/concepts/img/self_hosted_control_plane_architecture.png b/docs/docs/concepts/img/self_hosted_control_plane_architecture.png
new file mode 100644
index 000000000..e13e2cb0c
Binary files /dev/null and b/docs/docs/concepts/img/self_hosted_control_plane_architecture.png differ
diff --git a/docs/docs/concepts/img/self_hosted_data_plane_architecture.png b/docs/docs/concepts/img/self_hosted_data_plane_architecture.png
new file mode 100644
index 000000000..07358f735
Binary files /dev/null and b/docs/docs/concepts/img/self_hosted_data_plane_architecture.png differ
diff --git a/docs/docs/concepts/index.md b/docs/docs/concepts/index.md
index 54de3bce3..9fd2f2ad2 100644
--- a/docs/docs/concepts/index.md
+++ b/docs/docs/concepts/index.md
@@ -49,7 +49,7 @@ The LangGraph Platform offers a few different deployment options described in th
- [Why LangGraph Platform?](./langgraph_platform.md): The LangGraph platform is an opinionated way to deploy and manage LangGraph applications. This guide provides an overview of the key features and concepts behind LangGraph Platform.
- [Platform Architecture](./platform_architecture.md): A high-level overview of the architecture of the LangGraph Platform.
- [Scalability and Resilience](./scalability_and_resilience.md): LangGraph Platform is designed to be scalable and resilient. This document explains how the platform achieves this.
-- [Deployment Options](./deployment_options.md): LangGraph Platform offers four deployment options: [Self-Hosted Lite](./self_hosted.md#self-hosted-lite), [Self-Hosted Enterprise](./self_hosted.md#self-hosted-enterprise), [bring your own cloud (BYOC)](./bring_your_own_cloud.md), and [Cloud SaaS](./langgraph_cloud.md). This guide explains the differences between these options, and which Plans they are available on.
+- [Deployment Options](./deployment_options.md): LangGraph Platform offers four deployment options: [Cloud SaaS](./langgraph_cloud.md), [Self-Hosted Data Plane](./langgraph_self_hosted_data_plane.md), [Self-Hosted Control Plane](./langgraph_self_hosted_control_plane.md), and [Standalone Container](./langgraph_standalone_container.md). This guide explains the differences between these options, and which Plans they are available on.
- [Plans](./plans.md): LangGraph Platforms offer three different plans: Developer, Plus, Enterprise. This guide explains the differences between these options, what deployment options are available for each, and how to sign up for each one.
- [Template Applications](./template_applications.md): Reference applications designed to help you get started quickly when building with LangGraph.
@@ -62,6 +62,8 @@ The LangGraph Platform comprises several components that work together to suppor
- [LangGraph CLI](./langgraph_cli.md): LangGraph CLI is a command-line interface that helps to interact with a local LangGraph
- [Python/JS SDK](./sdk.md): The Python/JS SDK provides a programmatic way to interact with deployed LangGraph Applications.
- [Remote Graph](../how-tos/use-remote-graph.md): A RemoteGraph allows you to interact with any deployed LangGraph application as though it were running locally.
+- [LangGraph Control Plane](./langgraph_control_plane.md): The LangGraph Control Plane refers to the Control Plane UI where users create and update LangGraph Servers and the Control Plane APIs that support the UI experience.
+- [LangGraph Data Plane](./langgraph_data_plane.md): The LangGraph Data Plane refers to LangGraph Servers, the corresponding infrastructure for each server, and the "listener" application that continuously polls for updates from the LangGraph Control Plane.
### LangGraph Server
@@ -74,7 +76,7 @@ The LangGraph Platform comprises several components that work together to suppor
### Deployment Options
-- [Self-Hosted Lite](./self_hosted.md): A free (up to 1 million nodes executed per year), limited version of LangGraph Platform that you can run locally or in a self-hosted manner
-- [Cloud SaaS](./langgraph_cloud.md): Hosted as part of LangSmith.
-- [Bring Your Own Cloud](./bring_your_own_cloud.md): We manage the infrastructure, so you don't have to, but the infrastructure all runs within your cloud.
-- [Self-Hosted Enterprise](./self_hosted.md): Completely managed by you.
+- [Cloud SaaS](../concepts/langgraph_cloud.md): Connect to your GitHub repositories and deploy LangGraph Servers to LangChain's cloud. We manage everything.
+- [Self-Hosted Data Plane](../concepts/langgraph_self_hosted_data_plane.md): Create deployments from the [Control Plane UI](../concepts/langgraph_control_plane.md#control-plane-ui) and deploy LangGraph Servers to your cloud. We manage the [control plane](../concepts/langgraph_control_plane.md), you manage the deployments.
+- [Self-Hosted Control Plane](../concepts/langgraph_self_hosted_control_plane.md#control-plane-ui): Create deployments from a self-hosted [Control Plane UI](../concepts/langgraph_control_plane.md) and deploy LangGraph Servers to your cloud. You manage everything.
+- [Standalone Container](../concepts/langgraph_standalone_container.md): Deploy LangGraph Server Docker images however you like.
diff --git a/docs/docs/concepts/langgraph_cloud.md b/docs/docs/concepts/langgraph_cloud.md
index 4ca3df20a..557b39e60 100644
--- a/docs/docs/concepts/langgraph_cloud.md
+++ b/docs/docs/concepts/langgraph_cloud.md
@@ -1,107 +1,17 @@
# Cloud SaaS
-!!! info "Prerequisites"
- - [LangGraph Platform](./langgraph_platform.md)
- - [LangGraph Server](./langgraph_server.md)
+To deploy a [LangGraph Server](../concepts/langgraph_server.md), follow the how-to guide for [how to deploy to Cloud SaaS](../cloud/deployment/cloud.md).
## Overview
-LangGraph's Cloud SaaS is a managed service for deploying LangGraph Servers, regardless of its definition or dependencies. The service offers managed implementations of checkpointers and stores, allowing you to focus on building the right cognitive architecture for your use case. By handling scalable & secure infrastructure, LangGraph Cloud SaaS offers the fastest path to getting your LangGraph Server deployed to production.
+The Cloud SaaS deployment option is a fully managed model for deployment where we manage the [control plane](./langgraph_control_plane.md) and [data plane](./langgraph_data_plane.md) in our cloud.
-## Deployment
-
-A **deployment** is an instance of a LangGraph Server. A single deployment can have many [revisions](#revision). When a deployment is created, all the necessary infrastructure (e.g. database, containers, secrets store) are automatically provisioned. See the [architecture diagram](#architecture) below for more details.
-
-Resource Allocation:
-
-| **Deployment Type** | **CPU** | **Memory** | **Scaling** |
-|---------------------|---------|------------|---------------------|
-| Development | 1 CPU | 1 GB | Up to 1 container |
-| Production | 2 CPU | 2 GB | Up to 10 containers |
-
-CPU and memory resources are per container.
-
-For **Production type** deployments, resources can be manually increased on a case-by-case basis depending on use case and capacity constraints. Contact support@langchain.dev to request an increase in resources.
-
-See the [how-to guide](../cloud/deployment/cloud.md#create-new-deployment) for creating a new deployment.
-
-## Revision
-
-A revision is an iteration of a [deployment](#deployment). When a new deployment is created, an initial revision is automatically created. To deploy new code changes or update environment variable configurations for a deployment, a new revision must be created. When a revision is created, a new container image is built automatically.
-
-See the [how-to guide](../cloud/deployment/cloud.md#create-new-revision) for creating a new revision.
-
-## Persistence
-
-A dedicated database is automatically created for each deployment. The database serves as the [persistence layer](../concepts/persistence.md) for the deployment.
-
-When defining a graph to be deployed to LangGraph Cloud SaaS, a [checkpointer](../concepts/persistence.md#checkpointer-libraries) should not be configured by the user. Instead, a checkpointer is automatically configured for the graph.
-
-There is no direct access to the database. All access to the database occurs through the LangGraph Server APIs.
-
-The database is never deleted until the deployment itself is deleted. See [Automatic Deletion](#automatic-deletion) for additional details.
-
-## Autoscaling
-`Production` type deployments automatically scale up to 10 containers. Scaling is based on the current request load for a single container. Specifically, the autoscaling implementation scales the deployment so that each container is processing about 10 concurrent requests. For example...
-
-- If the deployment is processing 20 concurrent requests, the deployment will scale up from 1 container to 2 containers (20 requests / 2 containers = 10 requests per container).
-- If a deployment of 2 containers is processing 10 requests, the deployment will scale down from 2 containers to 1 container (10 requests / 1 container = 10 requests per container).
-
-10 concurrent requests per container is the target threshold. However, 10 concurrent requests per container is not a hard limit. The number of concurrent requests can exceed 10 if there is a sudden burst of requests.
-
-Scale down actions are delayed for 30 minutes before any action is taken. In other words, if the autoscaling implementation decides to scale down a deployment, it will first wait for 30 minutes before scaling down. After 30 minutes, the concurrency metric is recomputed and the deployment will scale down if the concurrency metric has met the target threshold. Otherwise, the deployment remains scaled up. This "cool down" period ensures that deployments do not scale up and down too frequently.
-
-In the future, the autoscaling implementation may evolve to accommodate other metrics such as background run queue size.
-
-## Asynchronous Deployment
-
-Infrastructure for [deployments](#deployment) and [revisions](#revision) are provisioned and deployed asynchronously. They are not deployed immediately after submission. Currently, deployment can take up to several minutes.
-
-- When a new deployment is created, a new database is created for the deployment. Database creation is a one-time step. This step contributes to a longer deployment time for the initial revision of the deployment.
-- When a subsequent revision is created for a deployment, there is no database creation step. The deployment time for a subsequent revision is significantly faster compared to the deployment time of the initial revision.
-- The deployment process for each revision contains a build step, which can take up to a few minutes.
-
-## LangSmith Integration
-
-A [LangSmith](https://docs.smith.langchain.com/) tracing project is automatically created for each deployemnt. The tracing project has the same name as the deployment. When creating a deployment, the `LANGCHAIN_TRACING` and `LANGSMITH_API_KEY`/`LANGCHAIN_API_KEY` environment variables do not need to be specified; they are set internally, automatically. Traces are created for each run and are emitted to the tracing project automatically.
-
-When a deployment is deleted, the traces and the tracing project are not deleted.
-
-## Automatic Deletion
-
-Deployments are automatically deleted after 28 consecutive days of non-use (it is in an unused state). A deployment is in an unused state if there are no traces emitted to LangSmith from the deployment after 28 consecutive days. On any given day, if a deployment emits a trace to LangSmith, the counter for consecutive days of non-use is reset.
-
-- An email notification is sent after 7 consecutive days of non-use.
-- A deployment is deleted after 28 consecutive days of non-use.
-
-!!! danger "Data Cannot Be Recovered"
- After a deployment is deleted, the data (i.e. [persistence](#persistence)) from the deployment cannot be recovered.
+| | [Control Plane](../concepts/langgraph_control_plane.md) | [Data Plane](../concepts/langgraph_data_plane.md) |
+|-------------------|-------------------|------------|
+| **What is it?** | - Control Plane UI for creating deployments and revisions
- Control Plane APIs for creating deployments and revisions
| - Data plane "listener" for reconciling deployments with control plane state
- LangGraph Servers
- Postgres, Redis, etc
|
+| **Where is it hosted?** | LangChain's cloud | LangChain's cloud |
+| **Who provisions and manages it?** | LangChain | LangChain |
## Architecture
-!!! warning "Subject to Change"
- The Cloud SaaS deployment architecture may change in the future.
-
-A high-level diagram of a Cloud SaaS deployment.
-
-
-
-## Whitelisting IP Addresses
-
-All traffic from `LangGraph Platform` deployments created after January 6th 2025 will come through a NAT gateway.
-This NAT gateway will have several static ip addresses depending on the region you are deploying in. Refer to the table below for the list of IP addresses to whitelist:
-
-| US | EU |
-|----------------|----------------|
-| 35.197.29.146 | 34.13.192.67 |
-| 34.145.102.123 | 34.147.105.64 |
-| 34.169.45.153 | 34.90.22.166 |
-| 34.82.222.17 | 34.147.36.213 |
-| 35.227.171.135 | 34.32.137.113 |
-| 34.169.88.30 | 34.91.238.184 |
-| 34.19.93.202 | 35.204.101.241 |
-| 34.19.34.50 | 35.204.48.32 |
-
-## Related
-
-- [Deployment Options](./deployment_options.md)
+
diff --git a/docs/docs/concepts/langgraph_control_plane.md b/docs/docs/concepts/langgraph_control_plane.md
new file mode 100644
index 000000000..ee5b36601
--- /dev/null
+++ b/docs/docs/concepts/langgraph_control_plane.md
@@ -0,0 +1,98 @@
+# LangGraph Control Plane
+
+The term "control plane" is used broadly to refer to the Control Plane UI where users create and update [LangGraph Servers](./langgraph_server.md) (deployments) and the Control Plane APIs that support the UI experience.
+
+When a user makes an update through the Control Plane UI, the update is stored in the control plane state. The [LangGraph Data Plane](./langgraph_data_plane.md) "listener" application polls for these updates by calling the Control Plane APIs.
+
+## Control Plane UI
+
+From the Control Plane UI, you can:
+
+- View a list of outstanding deployments.
+- View details of an individual deployment.
+- Create a new deployment.
+- Update a deployment.
+- Update environment variables for a deployment.
+- View build and server logs of a deployment.
+- Delete a deployment.
+
+The Control Plane UI is embedded in [LangSmith](https://docs.smith.langchain.com/langgraph_cloud).
+
+## Control Plane API
+
+This section describes data model of the LangGraph Control Plane API. Control Plane API is used to create, update, and delete deployments. However, they are not publicly accessible.
+
+### Deployment
+
+A deployment is an instance of a LangGraph Server. A single deployment can have many revisions.
+
+### Revision
+
+A revision is an iteration of a deployment. When a new deployment is created, an initial revision is automatically created. To deploy code changes or update environment variables for a deployment, a new revision must be created.
+
+### Environment Variable
+
+Environment variables are set for a deployment. All environment variables are stored as secrets (i.e. saved in a secrets store).
+
+## Control Plane Features
+
+This section describes various features of the control plane.
+
+### Deployment Types
+
+For simplicity, the control plane offers two deployment types with different resource allocations: `Development` and `Production`.
+
+| **Deployment Type** | **CPU** | **Memory** | **Scaling** |
+|---------------------|---------|------------|---------------------|
+| Development | 1 CPU | 1 GB | Up to 1 container |
+| Production | 2 CPU | 2 GB | Up to 10 containers |
+
+CPU and memory resources are per container.
+
+!!! info "For [Cloud SaaS](../concepts/langgraph_cloud.md)"
+ For `Production` type deployments, resources can be manually increased on a case-by-case basis depending on use case and capacity constraints. Contact support@langchain.dev to request an increase in resources.
+
+!!! info "For [Self-Hosted Data Plane](../concepts/langgraph_self_hosted_data_plane.md) and [Self-Hosted Control Plane](../concepts/langgraph_self_hosted_control_plane.md)"
+ Resources for [Self-Hosted Data Plane](../concepts/langgraph_data_plane.md) and [Self-Hosted Control Plane](../concepts/langgraph_control_plane.md) deployments can be fully customized.
+
+### Database Provisioning
+
+The control plane and [LangGraph Data Plane](./langgraph_data_plane.md) "listener" application coordinate to automatically create a Postgres database for each deployment. The database serves as the [persistence layer](../concepts/persistence.md) for the deployment.
+
+When implementing a LangGraph application, a [checkpointer](../concepts/persistence.md#checkpointer-libraries) does not need to be configured by the developer. Instead, a checkpointer is automatically configured for the graph. Any checkpointer configured for a graph will be replaced by the one that is automatically configured.
+
+There is no direct access to the database. All access to the database occurs through the [LangGraph Server](../concepts/langgraph_server.md).
+
+The database is never deleted until the deployment itself is deleted. See [Automatic Deletion](#automatic-deletion) for additional details.
+
+!!! info "For [Self-Hosted Data Plane](../concepts/langgraph_self_hosted_data_plane.md) and [Self-Hosted Control Plane](../concepts/langgraph_self_hosted_control_plane.md)"
+ A custom Postgres instance can be configured for [Self-Hosted Data Plane](../concepts/langgraph_data_plane.md) and [Self-Hosted Control Plane](../concepts/langgraph_control_plane.md) deployments.
+
+### Asynchronous Deployment
+
+Infrastructure for deployments and revisions are provisioned and deployed asynchronously. They are not deployed immediately after submission. Currently, deployment can take up to several minutes.
+
+- When a new deployment is created, a new database is created for the deployment. Database creation is a one-time step. This step contributes to a longer deployment time for the initial revision of the deployment.
+- When a subsequent revision is created for a deployment, there is no database creation step. The deployment time for a subsequent revision is significantly faster compared to the deployment time of the initial revision.
+- The deployment process for each revision contains a build step, which can take up to a few minutes.
+
+The control plane and [LangGraph Data Plane](./langgraph_data_plane.md) "listener" application coordinate to achieve asynchronous deployments.
+
+### Automatic Deletion
+
+!!! info "Only for [Cloud SaaS](../concepts/langgraph_cloud.md)"
+ Automatic deletion of deployments is only available for [Cloud SaaS](../concepts/langgraph_cloud.md).
+
+The control plane automatically deletes deployments after 28 consecutive days of non-use (it is in an unused state). A deployment is in an unused state if there are no traces emitted to LangSmith from the deployment after 28 consecutive days. On any given day, if a deployment emits a trace to LangSmith, the counter for consecutive days of non-use is reset.
+
+- An email notification is sent after 7 consecutive days of non-use.
+- A deployment is deleted after 28 consecutive days of non-use.
+
+!!! danger "Data Cannot Be Recovered"
+ After a deployment is deleted, the data (e.g. Postgres) from the deployment cannot be recovered.
+
+### LangSmith Integration
+
+A [LangSmith](https://docs.smith.langchain.com/) tracing project is automatically created for each deployment. The tracing project has the same name as the deployment. When creating a deployment, the `LANGCHAIN_TRACING` and `LANGSMITH_API_KEY`/`LANGCHAIN_API_KEY` environment variables do not need to be specified; they are set automatically by the control plane.
+
+When a deployment is deleted, the traces and the tracing project are not deleted.
diff --git a/docs/docs/concepts/langgraph_data_plane.md b/docs/docs/concepts/langgraph_data_plane.md
new file mode 100644
index 000000000..ecb154a10
--- /dev/null
+++ b/docs/docs/concepts/langgraph_data_plane.md
@@ -0,0 +1,74 @@
+# LangGraph Data Plane
+
+The term "data plane" is used broadly to refer to [LangGraph Servers](./langgraph_server.md) (deployments), the corresponding infrastructure for each server, and the "listener" application that continuously polls for updates from the [LangGraph Control Plane](./langgraph_control_plane.md).
+
+## Server Infrastructure
+
+In addition to the [LangGraph Server](./langgraph_server.md) itself, the following infrastructure for each server are also included in the broad definition of "data plane":
+
+- [Postgres](../concepts/platform_architecture.md#how-we-use-postgres)
+- [Redis](../concepts/platform_architecture.md#how-we-use-redis)
+- Secrets store
+- Autoscalers
+
+See [LangGraph Platform Architecture](../concepts/platform_architecture.md) for more details.
+
+## "Listener" Application
+
+The data plane "listener" application periodically calls [Control Plane APIs](../concepts/langgraph_control_plane.md#control-plane-api) to:
+
+- Determine if new deployments should be created.
+- Determine if existing deployments should be updated (i.e. new revisions).
+- Determine if existing deployments should be deleted.
+
+In other words, the data plane "listener" reads the latest state of the control plane (desired state) and takes action to reconcile outstanding deployments (current state) to match the latest state.
+
+## Data Plane Features
+
+This section describes various features of the data plane.
+
+### Lite vs Enterprise
+
+There are two versions of the LangGraph Server: `Lite` and `Enterprise`.
+
+The `Lite` version is a limited version of the LangGraph Server that you can run locally or in a self-hosted manner (up to 1 million nodes executed per year). `Lite` is only available for the [Standalone Container](../concepts/langgraph_standalone_container.md) deployment option.
+
+The `Enterprise` version is the full version of the LangGraph Server. To use the `Enterprise` version, you must acquire a license key that you will need to specify when running the Docker image. To acquire a license key, please email sales@langchain.dev. `Enterprise` is available for [Cloud SaaS](../concepts/langgraph_cloud.md), [Self-Hosted Data Plane](../concepts/langgraph_self_hosted_data_plane.md), and [Self-Hosted Control Plane](../concepts/langgraph_self_hosted_control_plane.md) deployment options.
+
+Feature Differences:
+
+| | Lite | Enterprise |
+|-------|------------|------------|
+| [Cron Jobs](../concepts/langgraph_server.md#cron-jobs) |❌|✅|
+| [Custom Authentication](../concepts/auth.md) |❌|✅|
+
+### Autoscaling
+
+[`Production` type](../concepts/langgraph_control_plane.md#deployment-types) deployments automatically scale up to 10 containers. Scaling is based on the current request load for a single container. Specifically, the autoscaling implementation scales the deployment so that each container is processing about 10 concurrent requests. For example...
+
+- If the deployment is processing 20 concurrent requests, the deployment will scale up from 1 container to 2 containers (20 requests / 2 containers = 10 requests per container).
+- If a deployment of 2 containers is processing 10 requests, the deployment will scale down from 2 containers to 1 container (10 requests / 1 container = 10 requests per container).
+
+10 concurrent requests per container is the target threshold. However, 10 concurrent requests per container is not a hard limit. The number of concurrent requests can exceed 10 if there is a sudden burst of requests.
+
+Scale down actions are delayed for 30 minutes before any action is taken. In other words, if the autoscaling implementation decides to scale down a deployment, it will first wait for 30 minutes before scaling down. After 30 minutes, the concurrency metric is recomputed and the deployment will scale down if the concurrency metric has met the target threshold. Otherwise, the deployment remains scaled up. This "cool down" period ensures that deployments do not scale up and down too frequently.
+
+In the future, the autoscaling implementation may evolve to accommodate other metrics such as background run queue size.
+
+### Static IP Addresses
+
+!!! info "Only for Cloud SaaS"
+ Static IP addresses are only available for [Cloud SaaS](../concepts/langgraph_cloud.md).
+
+All traffic from deployments created after January 6th 2025 will come through a NAT gateway. This NAT gateway will have several static IP addresses depending on the data region. Refer to the table below for the list of static IP addresses:
+
+| US | EU |
+|----------------|----------------|
+| 35.197.29.146 | 34.13.192.67 |
+| 34.145.102.123 | 34.147.105.64 |
+| 34.169.45.153 | 34.90.22.166 |
+| 34.82.222.17 | 34.147.36.213 |
+| 35.227.171.135 | 34.32.137.113 |
+| 34.169.88.30 | 34.91.238.184 |
+| 34.19.93.202 | 35.204.101.241 |
+| 34.19.34.50 | 35.204.48.32 |
diff --git a/docs/docs/concepts/langgraph_platform.md b/docs/docs/concepts/langgraph_platform.md
index 46dcab247..bde8917d7 100644
--- a/docs/docs/concepts/langgraph_platform.md
+++ b/docs/docs/concepts/langgraph_platform.md
@@ -16,6 +16,8 @@ The LangGraph Platform consists of several components that work together to supp
- [LangGraph CLI](./langgraph_cli.md): LangGraph CLI is a command-line interface that helps to interact with a local LangGraph
- [Python/JS SDK](./sdk.md): The Python/JS SDK provides a programmatic way to interact with deployed LangGraph Applications.
- [Remote Graph](../how-tos/use-remote-graph.md): A RemoteGraph allows you to interact with any deployed LangGraph application as though it were running locally.
+- [LangGraph Control Plane](./langgraph_control_plane.md): The LangGraph Control Plane refers to the Control Plane UI where users create and update LangGraph Servers and the Control Plane APIs that support the UI experience.
+- [LangGraph Data Plane](./langgraph_data_plane.md): The LangGraph Data Plane refers to LangGraph Servers, the corresponding infrastructure for each server, and the "listener" application that continuously polls for updates from the LangGraph Control Plane.

diff --git a/docs/docs/concepts/langgraph_self_hosted_control_plane.md b/docs/docs/concepts/langgraph_self_hosted_control_plane.md
new file mode 100644
index 000000000..9ab2c2549
--- /dev/null
+++ b/docs/docs/concepts/langgraph_self_hosted_control_plane.md
@@ -0,0 +1,23 @@
+# Self-Hosted Control Plane
+
+To deploy a [LangGraph Server](../concepts/langgraph_server.md), follow the how-to guide for [how to deploy the Self-Hosted Control Plane](../cloud/deployment/self_hosted_control_plane.md).
+
+## Overview
+
+The Self-Hosted Control Plane deployment option is a fully self-hosted model for deployment where you manage the [control plane](./langgraph_control_plane.md) and [data plane](./langgraph_data_plane.md) in your cloud (this option implies that the data plane is self-hosted).
+
+| | [Control Plane](../concepts/langgraph_control_plane.md) | [Data Plane](../concepts/langgraph_data_plane.md) |
+|-------------------|-------------------|------------|
+| **What is it?** | - Control Plane UI for creating deployments and revisions
- Control Plane APIs for creating deployments and revisions
| - Data plane "listener" for reconciling deployments with control plane state
- LangGraph Servers
- Postgres, Redis, etc
|
+| **Where is it hosted?** | Your cloud | Your cloud |
+| **Who provisions and manages it?** | You | You |
+
+## Architecture
+
+
+
+## Compute Platforms
+
+### Kubernetes
+
+The Self-Hosted Control Plane deployment option supports deploying control plane and data plane infrastructure to any Kubernetes cluster.
diff --git a/docs/docs/concepts/langgraph_self_hosted_data_plane.md b/docs/docs/concepts/langgraph_self_hosted_data_plane.md
new file mode 100644
index 000000000..bc4c65c0c
--- /dev/null
+++ b/docs/docs/concepts/langgraph_self_hosted_data_plane.md
@@ -0,0 +1,27 @@
+# Self-Hosted Data Plane
+
+To deploy a [LangGraph Server](../concepts/langgraph_server.md), follow the how-to guide for [how to deploy the Self-Hosted Data Plane](../cloud/deployment/self_hosted_data_plane.md).
+
+## Overview
+
+LangGraph Platform's Self-Hosted Data Plane deployment option is a "hybrid" model for deployemnt where we manage the [control plane](./langgraph_control_plane.md) in our cloud and you manage the [data plane](./langgraph_data_plane.md) in your cloud.
+
+| | [Control Plane](../concepts/langgraph_control_plane.md) | [Data Plane](../concepts/langgraph_data_plane.md) |
+|-------------------|-------------------|------------|
+| **What is it?** | - Control Plane UI for creating deployments and revisions
- Control Plane APIs for creating deployments and revisions
| - Data plane "listener" for reconciling deployments with control plane state
- LangGraph Servers
- Postgres, Redis, etc
|
+| **Where is it hosted?** | LangChain's cloud | Your cloud |
+| **Who provisions and manages it?** | LangChain | You |
+
+## Architecture
+
+
+
+## Compute Platforms
+
+### Kubernetes
+
+The Self-Hosted Data Plane deployment option supports deploying data plane infrastructure to any Kubernetes cluster.
+
+### Amazon ECS
+
+Coming soon...
diff --git a/docs/docs/concepts/langgraph_standalone_container.md b/docs/docs/concepts/langgraph_standalone_container.md
new file mode 100644
index 000000000..aacd78b69
--- /dev/null
+++ b/docs/docs/concepts/langgraph_standalone_container.md
@@ -0,0 +1,27 @@
+# Standalone Container
+
+To deploy a [LangGraph Server](../concepts/langgraph_server.md), follow the how-to guide for [how to deploy a Standalone Container](../cloud/deployment/standalone_container.md).
+
+## Overview
+
+The Standalone Container deployment option is the least restrictive model for deployment. There is no [control plane](./langgraph_control_plane.md). [Data plane](./langgraph_data_plane.md) infrastructure is managed by you.
+
+| | [Control Plane](../concepts/langgraph_control_plane.md) | [Data Plane](../concepts/langgraph_data_plane.md) |
+|-------------------|-------------------|------------|
+| **What is it?** | n/a | - LangGraph Servers
- Postgres, Redis, etc
|
+| **Where is it hosted?** | n/a | Your cloud |
+| **Who provisions and manages it?** | n/a | You |
+
+## Architecture
+
+
+
+## Compute Platforms
+
+### Kubernetes
+
+The Standalone Container deployment option supports deploying data plane infrastructure to a Kubernetes cluster.
+
+### Docker
+
+The Standalone Container deployment option supports deploying data plane infrastructure to any Docker-supported compute platform.
diff --git a/docs/docs/how-tos/index.md b/docs/docs/how-tos/index.md
index b5e840be7..3eeb0d72d 100644
--- a/docs/docs/how-tos/index.md
+++ b/docs/docs/how-tos/index.md
@@ -201,10 +201,12 @@ Learn how to set up your app for deployment to LangGraph Platform:
### Deployment
-LangGraph applications can be deployed using LangGraph Cloud, which provides a range of services to help you deploy, manage, and scale your applications.
+LangGraph applications can be deployed using LangGraph Platform, which provides a range of services to help you deploy, manage, and scale your applications.
-- [How to deploy to LangGraph cloud](../cloud/deployment/cloud.md)
-- [How to deploy to a self-hosted environment](./deploy-self-hosted.md)
+- [How to deploy to Cloud SaaS](../cloud/deployment/cloud.md)
+- [How to deploy the Self-Hosted Data Plane](../cloud/deployment/self_hosted_data_plane.md)
+- [How to deploy the Self-Hosted Control Plane](../cloud/deployment/self_hosted_control_plane.md)
+- [How to deploy a Standalone Container](../cloud/deployment/standalone_container.md)
- [How to interact with the deployment using RemoteGraph](./use-remote-graph.md)
- [How to add TTLs to your LangGraph application](./ttl/configure_ttl.md)
diff --git a/docs/docs/tutorials/deployment.md b/docs/docs/tutorials/deployment.md
index f4d9dc44a..021d52aad 100644
--- a/docs/docs/tutorials/deployment.md
+++ b/docs/docs/tutorials/deployment.md
@@ -17,7 +17,18 @@ Get started deploying your LangGraph applications locally or on the cloud with
## Deployment Options
-- [Self-Hosted Lite](../concepts/self_hosted.md): A free (up to 1 million nodes executed per year), limited version of LangGraph Platform that you can run locally or in a self-hosted manner
-- [Cloud SaaS](../concepts/langgraph_cloud.md): Hosted as part of LangSmith.
-- [Bring Your Own Cloud](../concepts/bring_your_own_cloud.md): We manage the infrastructure, so you don't have to, but the infrastructure all runs within your cloud.
-- [Self-Hosted Enterprise](../concepts/self_hosted.md): Completely managed by you.
+- [Cloud SaaS](../concepts/langgraph_cloud.md): Connect to your GitHub repositories and deploy LangGraph Servers to LangChain's cloud. We manage everything.
+- [Self-Hosted Data Plane](../concepts/langgraph_self_hosted_data_plane.md): Create deployments from the [Control Plane UI](../concepts/langgraph_control_plane.md#control-plane-ui) and deploy LangGraph Servers to your cloud. We manage the [control plane](../concepts/langgraph_control_plane.md), you manage the deployments.
+- [Self-Hosted Control Plane](../concepts/langgraph_self_hosted_control_plane.md#control-plane-ui): Create deployments from a self-hosted [Control Plane UI](../concepts/langgraph_control_plane.md) and deploy LangGraph Servers to your cloud. You manage everything.
+- [Standalone Container](../concepts/langgraph_standalone_container.md): Deploy LangGraph Server Docker images however you like.
+
+A quick comparison...
+
+| | **Cloud SaaS** | **Self-Hosted [Data Plane](../concepts/langgraph_data_plane.md)** | **Self-Hosted [Control Plane](../concepts/langgraph_control_plane.md)** | **Standalone Container** |
+|----------------------|----------------|----------------------------|-------------------------------|--------------------------|
+| **[Control Plane UI/API](../concepts/langgraph_control_plane.md)** | Yes | Yes | Yes | No |
+| **CI/CD** | Managed internally by platform | Managed externally by you | Managed externally by you | Managed externally by you |
+| **Data/Compute Residency** | LangChain’s cloud | Your cloud | Your cloud | Your cloud |
+| **Required Permissions** | None | See details [here](). | See details [here](). | None |
+| **LangSmith Compatibility** | Trace to LangSmith SaaS | Trace to LangSmith SaaS | Trace to Self-Hosted LangSmith | Optional tracing |
+| **[Pricing](https://www.langchain.com/pricing-langgraph-platform)** | Plus | Enterprise | Enterprise | Developer |
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
index 893a3e669..e85a6133b 100644
--- a/docs/mkdocs.yml
+++ b/docs/mkdocs.yml
@@ -202,6 +202,9 @@ nav:
- Deployment:
- Deployment: how-tos#deployment
- cloud/deployment/cloud.md
+ - cloud/deployment/self_hosted_data_plane.md
+ - cloud/deployment/self_hosted_control_plane.md
+ - cloud/deployment/standalone_container.md
- how-tos/deploy-self-hosted.md
- how-tos/use-remote-graph.md
- how-tos/ttl/configure_ttl.md
@@ -288,6 +291,8 @@ nav:
- concepts/template_applications.md
- Components:
- Components: concepts#components
+ - concepts/langgraph_control_plane.md
+ - concepts/langgraph_data_plane.md
- concepts/langgraph_server.md
- concepts/langgraph_studio.md
- concepts/langgraph_cli.md
@@ -301,9 +306,10 @@ nav:
- concepts/auth.md
- Deployment Options:
- Deployment Options: concepts#deployment-options
- - concepts/self_hosted.md
- concepts/langgraph_cloud.md
- - concepts/bring_your_own_cloud.md
+ - concepts/langgraph_self_hosted_data_plane.md
+ - concepts/langgraph_self_hosted_control_plane.md
+ - concepts/langgraph_standalone_container.md
- Tutorials:
- tutorials/index.md
- Quick Start: