Skip to main content

Choose a Delivery Model

If you want to run the full Serval application inside your own infrastructure, you have two delivery models. They differ in what you bring: an AWS account, or a Kubernetes cluster.
  1. Managed in Your AWS — you provide an AWS account you own; Serval provides a standard Terraform + Helm bundle that stands up the full stack on AWS services (EKS, Aurora, ElastiCache, OpenSearch, S3). You separately choose who operates it — your team (self-managed) or Serval (Serval-managed); see Managed in Your AWS for that choice. Lower operational burden than Kubernetes either way.
  2. Self-Managed on Your Kubernetes — you provide a Kubernetes cluster (any cloud or on-prem) and your team installs the public Serval Helm chart directly, owning installs, upgrades, and day-2 operations. Always self-managed — there is no Serval-operated option on this path. Highest operational burden — intended for non-AWS, on-prem, or platform-team-mandated environments.
Self-Managed on Your Kubernetes is more work than Managed in Your AWS, not less — regardless of which operator you’d choose on AWS. In addition to running Serval, your team is responsible for the cluster itself, ingress, PostgreSQL/Redis/Temporal, monitoring, backups, upgrades, and on-call. Pick this model only when a hard constraint (non-AWS, on-prem, or an existing platform mandate) rules out Managed in Your AWS.
This page compares the two fully self-hosted delivery models. If you are still deciding between Hybrid and fully self-hosted, start at Self-Hosting Options.
Regardless of which delivery model you choose, fully self-hosted deployments must provision their own OAuth apps (Slack, Microsoft, GitHub, Google Workspace, etc.) with each integration provider. See Integrations Overview for the full list and per-app setup guides.

Managed in Your AWS

Recommended for most organizations that want the full application in their own cloud, standardized on AWS. You choose whether your team or Serval operates it — same deployment either way.

Self-Managed on Your Kubernetes

For non-AWS, on-prem, or platform-team-mandated environments. Highest operational burden — your team owns the cluster, datastores, ingress, monitoring, backups, upgrades, and on-call in addition to running Serval.

Side-by-side comparison

Most organizations evaluating full self-hosting should choose Managed in Your AWS, self-managed or Serval-managed. Self-Managed on Your Kubernetes is more total work, not less — only pick it when a hard requirement (non-AWS, on-prem, or an existing platform-team mandate) rules it out.

Next steps

Managed in Your AWS — overview

Review the operating modes and what runs in your account.

Self-Managed on Your Kubernetes — prerequisites

Prepare your Kubernetes platform before installing the Helm chart.

Private network access

Options for letting Serval reach resources on your internal network.