# How Upstash Works

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

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](/redis/overall/getstarted) — a serverless Redis-compatible database
  you access over TCP or HTTPS from anywhere. Upstash operates the database;
  requests originate from your client code.
- [Vector](/vector/overall/getstarted) — a managed vector database accessed
  over REST with our SDKs.
- [Blob](/blob/overall/quickstart) — S3-compatible object storage accessed
  with the `@upstash/blob` client.
- [Search](/search/overall/getstarted) — a managed search service that combines
  full-text and semantic search. It is separate from the
  [Redis Search extension](/redis/search/introduction), which searches data
  stored in Redis.

## Realtime in your application

[Realtime](/realtime/overall/quickstart) 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](/realtime/features/serverless).

## Services that call your endpoints

- [QStash](/qstash/overall/getstarted) — 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](/workflow/getstarted) uses QStash to invoke your workflow endpoint
  and stores results between steps. Code in [`context.run`](/workflow/steps/run)
  runs in your deployment. Upstash manages waits and executes external requests
  made with [`context.call`](/workflow/steps/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](/box/overall/how-it-works) — durable execution environments managed by
  Upstash. A box is an isolated container that executes your prompts, shell
  commands, and coding agents. See [Box pricing](https://upstash.com/pricing/box)
  for compute and storage charges.

Related: [Serverless](/common/concepts/serverless),
[Scale to Zero](/common/concepts/scale-to-zero),
[Global Replication](/common/concepts/global-replication),
[Access Anywhere](/common/concepts/access-anywhere).
