Deploy the Restate Server on Amazon Web Services using EKS, Fargate, and S3.
We recommend deploying Restate on AWS using Amazon EKS (Elastic Kubernetes Service) with the Restate Operator. This approach provides the best balance of operational simplicity, scalability, and reliability.
We recommend an EKS cluster using a Fargate profile for compute nodes for the simplest operational experience.Install the Restate Operator on your EKS cluster.
And create a Restate cluster with EBS storage and snapshots to S3 (see instructions).The Restate operator has support for EKS Pod Identities and EKS security groups.
Running Restate on EKS with managed EC2 nodegroups is another good alternative, though in that case you will need to manage node patching yourself. ECS is not a suitable platform for deploying Restate Clusters as ECS lacks support for persistent volume attachments. ECS is a great target for hosting Restate services, however.For the highest performance on AWS, expert operators can also consider long-lived EC2 instances with local SSD storage, however this is also going to be the most difficult configuration to manage. You will need to carefully plan your cluster size, node placement, and replication settings to ensure that you can tolerate the loss of a number of nodes without leading to permanent data loss at the Restate cluster level.
We recommend using Amazon S3 for storing Restate snapshots, and optionally also as metadata store.Consult snapshot configuration documentation for more information on how to configure this.If you are using EKS with the Restate Operator, then also check the Restate Operator documentation.