Skip to main content

How Upstash Works

Where your code runs and what Upstash manages across Redis, Vector, QStash, Workflow, Search, Blob, Realtime, and Box.
2 min read

Upstash operates the services described below. Your application can run in serverless functions, edge runtimes, or your own servers. Box provides isolated compute hosted by Upstash.

Managed services your code calls#

  • Redis — a serverless Redis-compatible database you access over TCP or HTTPS from anywhere. Upstash operates the database; requests originate from your client code.
  • Vector — a managed vector database accessed over REST with our SDKs.
  • Blob — S3-compatible object storage accessed with the @upstash/blob client.
  • Search — a managed search service that combines full-text and semantic search. It is separate from the Redis Search extension, which searches data stored in Redis.

Realtime in your application#

Realtime is an SDK that uses managed Upstash Redis for messages and history. Your application hosts the SSE route that clients connect to. You deploy that route and pay for its compute through your hosting provider. See Realtime deployment.

Services that call your endpoints#

  • QStash — serverless messaging and scheduling. QStash acts as a guaranteed-delivery middleman: it sends HTTP requests to your API endpoints and retries them on failure.
  • Workflow uses QStash to invoke your workflow endpoint and stores results between steps. Code in context.run runs in your deployment. Upstash manages waits and executes external requests made with context.call. Your application does not stay active while a context.call request runs.

Deploy QStash handlers and Workflow endpoints on Vercel, Cloudflare Workers, AWS Lambda, or another HTTP server.

Upstash-hosted compute#

  • Box — durable execution environments managed by Upstash. A box is an isolated container that executes your prompts, shell commands, and coding agents. See Box pricing for compute and storage charges.

Related: Serverless, Scale to Zero, Global Replication, Access Anywhere.

Was this page helpful?