Supported platforms
In practice, many environments that can host an HTTP API can also host a Restate service. They must run or forward requests to a Restate SDK endpoint, expose it to your Restate environment, and keep the registered deployment available while it has active or retrying invocations. Examples include Azure Functions, Google Cloud Functions, Netlify Functions, Render, Railway, Fly.io, and Heroku. For AI applications, you can also consider platforms such as Modal, Beam, and BentoCloud, or sandbox environments such as Daytona and E2B. For AWS Lambda, Vercel, Google Cloud Run, Cloudflare Workers, and Deno Deploy, use their dedicated guides in this section.If you use a public endpoint, communication between Restate and your service must use HTTPS. You can use a load balancer such as AWS Network Load Balancer for TLS termination. For optimum performance, the load balancer in front of your service must support HTTP/2.Check which HTTP versions and streaming modes your platform supports. If it does not support bidirectional communication, configure the SDK endpoint accordingly. When the public endpoint only supports HTTP/1.1, register it with
--use-http1.1. See the serving guide for TypeScript, Java and Kotlin, Python, or Go for the available endpoint types.Deploying to another serverless platform
Develop your service
Develop and test your Restate service locally by following the quickstart. Then expose the service through the HTTP or Fetch handler supported by your serverless platform.
Secure your service with request identity validation
Serverless functions are commonly exposed through public HTTP endpoints. Secure your service with request identity validation so that it only accepts requests from the Restate environment you trust.Configure the key in your Restate SDK endpoint before deploying the service.The public key is not secret, so it is safe to include it directly in your service source code or configuration files.
- Restate Cloud / BYOC
- Restate OSS
Restate Cloud and BYOC environments create and manage the request identity key for you.Copy the environment’s public key from Developers > Security > HTTP endpoints in the Restate Cloud UI.
Deploy to your serverless platform
Package and deploy the service by following your platform’s documentation. Configure the function or application route so that it forwards requests to the Restate SDK endpoint.The resulting endpoint must be reachable from your Restate environment.
Register the service with Restate
Register the deployed endpoint using the Restate CLI or UI:If the endpoint only supports HTTP/1.1, register it with: