mirror of
https://github.com/hanzoai/flow.git
synced 2026-10-17 01:29:18 +00:00
Completes the rebrand per direction: LANGFLOW_/LANGFLOW -> FLOW_/FLOW (env vars, headers), langflow_ -> flow_ (settings fields, local vars), camelCase identifiers (LangflowClient/Logo/HTTPError, builtWithLangflow, getLangflowDesktop) -> Flow*, and all remaining bare tokens. Fixed the identifier-space hazard (Langflow -> 'Hanzo Flow' is prose-only; in code it collapses to Flow so no identifier gains a space). compileall of flow + lfx is clean. Repo-wide langflow now = 4, all the protected MIT attribution to langflow-ai/ langflow in README (legally required; deliberately preserved). Breaking (per no-backwards-compat / forward-perfection): the LANGFLOW_* env-var prefix is now FLOW_* — deployments must update their env. CI's uv + frontend build is the runtime gate.
72 lines
5.2 KiB
Plaintext
72 lines
5.2 KiB
Plaintext
---
|
|
title: Hanzo Flow architecture on Kubernetes
|
|
slug: /deployment-architecture
|
|
---
|
|
|
|
There are two broad types of Hanzo Flow deployments:
|
|
|
|
* **Hanzo Flow IDE (development)**: Deploy both the Hanzo Flow visual editor (frontend) and API (backend). Typically, this is used for development environments where developers use the visual editor to create and manage flows before packaging and serving them through a production runtime deployment.
|
|
|
|
The Hanzo Flow repository's example [`docker-compose.yml`](https://github.com/hanzoai/flow/blob/main/docker_example/docker-compose.yml) file builds a Hanzo Flow IDE image.
|
|
|
|
For information about IDE deployments on Kubernetes, see [Deploy the Hanzo Flow development environment on Kubernetes](/deployment-kubernetes-dev).
|
|
|
|
|
|
* **Hanzo Flow runtime (production)**: Deploy the Hanzo Flow runtime for production flows, which is headless (backend only) service focused on serving the Hanzo Flow API. This is used for production environments where flows are executed programmatically without the need for the visual editor. The server exposes your flows as endpoints, and then runs only the processes necessary to serve each flow.
|
|
|
|
An external PostgreSQL database is strongly recommended with this deployment type to improve scalability and reliability as compared to the default SQLite database.
|
|
|
|
For information about runtime deployments on Kubernetes, see [Deploy the Hanzo Flow production environment on Kubernetes](/deployment-kubernetes-prod).
|
|
|
|
:::tip
|
|
You can start Hanzo Flow in headless mode with the `FLOW_BACKEND_ONLY` [environment variable](/environment-variables).
|
|
:::
|
|
|
|
You can also [deploy the Hanzo Flow IDE and runtime on Docker](/deployment-docker).
|
|
|
|
## Benefits of deploying Hanzo Flow on Kubernetes
|
|
|
|
Deploying on Kubernetes offers the following advantages:
|
|
|
|
* **Scalability**: Kubernetes allows you to scale the Hanzo Flow service to meet the demands of your workload.
|
|
* **Availability and resilience**: Kubernetes provides built-in resilience features, such as automatic failover and self-healing, to ensure that the Hanzo Flow service is always available.
|
|
* **Security**: Kubernetes provides security features, such as role-based access control and network isolation, to protect the Hanzo Flow service and its data.
|
|
* **Portability**: Kubernetes is a portable platform, which means that you can deploy the Hanzo Flow service to any Kubernetes cluster, on-premises or in the cloud.
|
|
|
|
Hanzo Flow can be deployed on cloud platforms like AWS EKS, Google GKE, or Azure AKS. For more information, see the [Hanzo Flow Helm charts repository](https://github.com/hanzoai/flow-helm-charts).
|
|
|
|
## Hanzo Flow deployment
|
|
|
|
A typical Hanzo Flow deployment includes:
|
|
|
|
* **Hanzo Flow services**: The Hanzo Flow API and, for IDE deployments, the visual editor.
|
|
* **Kubernetes cluster**: The Kubernetes cluster provides a platform for deploying and managing Hanzo Flow and its supporting services.
|
|
* **Persistent storage**: Persistent storage is used to store the Hanzo Flow service's data, such as models and training data.
|
|
* **Ingress controller**: The ingress controller provides a single entry point for traffic to the Hanzo Flow service.
|
|
* **Load balancer**: Balances traffic across multiple Hanzo Flow replicas.
|
|
* **Vector database**: If you are using Hanzo Flow for RAG, you can integrate with the vector database in Astra Serverless.
|
|
|
|

|
|
|
|
## Environment isolation
|
|
|
|
It is recommended to deploy and run separate development and production environments for Hanzo Flow:
|
|
|
|
* Deploy the IDE in your development environment where your developers prototype and test new flows.
|
|
* Deploy the runtime in your production environment to serve flows as standalone services.
|
|
|
|

|
|
|
|
This separation is designed to enhance security, support an organized software development pipeline, and optimize infrastructure resource allocation:
|
|
|
|
* **Isolation**: By separating the development and production environments, you can better isolate different phases of the application lifecycle. This isolation minimizes the risk of development-related issues impacting the production environments.
|
|
* **Access control**: Different security policies and access controls can be applied to each environment. Developers may require broader access in the IDE for testing and debugging, while the runtime environment can be locked down with stricter security measures.
|
|
* **Reduced attack surface**: The runtime environment is configured to include only essential components, reducing the attack surface and potential vulnerabilities.
|
|
* **Optimized resource usage and cost efficiency**: By separating the two environments, you can allocate resources more effectively. Each flow can be deployed independently, providing fine-grained resource control.
|
|
* **Scalability**: The runtime environment can be scaled independently based on application load and performance requirements, without affecting the development environment.
|
|
|
|
## Next steps
|
|
|
|
* [Best practices for Hanzo Flow on Kubernetes](/deployment-prod-best-practices)
|
|
* [Deploy the Hanzo Flow development environment on Kubernetes](/deployment-kubernetes-dev)
|
|
* [Deploy the Hanzo Flow production environment on Kubernetes](/deployment-kubernetes-prod) |