Streamdal Deployment Guide

We're updating our documentation, so the presented info might not be the most recent.


Below are the key components utilized across different deployment methods (Docker, Helm, AWS CloudFormation) and their respective purposes:

ServiceFeature Description
Streamdal ServersCore servers for managing and processing tasks
RedisMaintains state and coordinates tasks between Streamdal servers
EnvoyManages gRPC-web traffic between the Streamdal console and the server
Streamdal Console UIAdministrative interface for managing and monitoring Streamdal servers
Persistent StorageRedis provides a persistent store to maintain state across deploys and server restarts

Deployment Strategies

Below are a few common deployment strategies and how Streamdal works with these at a high level:

DeploymentUtilization
Docker
  • Ideal for development and testing
  • Simple setup suitable for local testing
Helm
  • Geared towards production on Kubernetes
  • Three Streamdal Servers in HA, Envoy Sidecar, and Redis in failover mode
AWS CloudFormation (ECS)
  • Deploys on AWS Elastic Container Service (ECS) for scalable infrastructure
  • Configures ECS Cluster, Task Definitions, Services, networking, and EFS filesystem
  • Three Streamdal server instances in FARGATE launch type

Deployments

Deploy Streamdal using one of the following methods. Each tab provides a brief description of the deployment method and steps to deploy. For detailed instructions and configurations, refer to the README in the respective repositories.