Why BYOC?
BYOC is designed for organizations that need:- Data sovereignty — all data remains in your cloud account and chosen region
- Network isolation — Restate workloads run in your VPC, and application data never crosses the public internet
- Compliance — meet policies that require workloads to remain within customer-controlled infrastructure
- Cost at scale — priced by reserved capacity, up to 10x cheaper at high volume than per-action pricing
- Existing commitments — use your cloud provider savings plans, reserved instances, and negotiated pricing
How it works
A BYOC deployment has three layers:- Foundation — You deploy a cloud-native template (CloudFormation on AWS, ARM on Azure) into your account. This creates the networking, secrets store, and a deployment agent that manages the rest of the infrastructure on Restate’s behalf.
- Infrastructure — The deployment agent provisions a Kubernetes cluster, container registry, certificate management, and supporting infrastructure. This happens automatically after the foundation is deployed.
- Application — Restate data plane components are deployed into the cluster: the ingress proxy, tunnel, Restate operator, and monitoring stack. Environment creation, updates, and scaling are managed by Restate’s control plane.
For details on the security properties of each layer, see Security Model.
Supported cloud providers
Get started
BYOC deployments are set up in collaboration with the Restate team. To get started:Contact Restate
Reach out to discuss your requirements and begin onboarding.
Frequently asked questions
General
What cloud providers and regions are supported?
What cloud providers and regions are supported?
AWS and GCP are generally available. Azure is in preview. Regions are deployed on demand based on your requirements. The infrastructure can be deployed in any region supported by EKS on AWS, GKE on GCP, or AKS on Azure.
Can I bring my own Kubernetes cluster?
Can I bring my own Kubernetes cluster?
Not currently. Restate’s ability to offer SLAs for availability and patching relies on having complete control over the infrastructure configuration. An enterprise distribution for Kubernetes that you manage may become available in the future.
Operations
What availability can be achieved?
What availability can be achieved?
Availability depends on the deployment topology you choose:
- Single node: lower cost, but rolling updates require a brief restart
- Multiple availability zones: survives a single availability zone failure and supports updates without downtime
How are Kubernetes version upgrades handled?
How are Kubernetes version upgrades handled?
Restate coordinates Kubernetes upgrades with you:
- Restate notifies you 30 days before your cluster’s Kubernetes version reaches end of life.
- Upgrades are scheduled during your preferred maintenance window.
- The control plane is upgraded first, followed by rolling node upgrades.
- A rollback plan is documented before each upgrade.
What monitoring is included?
What monitoring is included?
Operational metrics that contain no customer data are sent to a metrics service managed by Restate. This enables proactive monitoring and alerting for cluster health.Logs from Restate environments and other cluster components remain inside the cluster. Authenticated customers can access environment logs through the Restate Cloud console.
How do I decommission a BYOC region?
How do I decommission a BYOC region?
Offboarding is a two step process coordinated with Restate:
- Restate deprovisions the application and infrastructure layers through the deployment agent.
- You delete the foundation stack, which removes the deployment agent, networking, and secrets store from your account.
Disaster recovery
How does recovery work across failure scenarios?
How does recovery work across failure scenarios?
Recovery depends on the topology:
- Pod failure with high availability: another replica takes over without data loss
- Availability zone failure with high availability: the environment continues from replicas in surviving zones without data loss
- Full cluster loss: the environment is restored from the most recent object storage snapshot, with the recovery point determined by the configured snapshot interval