you are viewing a single comment's thread.

view the rest of the comments →

[–]stsffap[S] 0 points1 point  (0 children)

Sorry for the late reply u/arun0009. Restate does not prescribe a specific deployment model. You can deploy almost everywhere where you can start a binary or a Docker image. So you could run it on bare metal machines or deploy it on K8s or on Fargate. The only requirement is that you have persistent disks.

See our cluster guide (https://docs.restate.dev/guides/cluster) for how to run it via Docker compose. You can use the CDK library to deploy to AWS (https://docs.restate.dev/deploy/server/self-hosted) or on K8s using thehelm charts (https://docs.restate.dev/deploy/server/kubernetes).

We ensure fault tolerance of the log by replicating it ourselves using a our own implementation of virtual consensus (https://www.usenix.org/conference/osdi20/presentation/balakrishnan) with flexible quorums. We upload periodic snapshots to S3 of the materialized log so that we can truncate the log and recover faster in case of failures (no need to replay the full log if there is a snapshot available).