Skip to main content

How Beam Works

Beam is a new kind of cloud provider that makes using the cloud feel almost the same as using your local machine. You write plain Python, add a decorator, and run your file. Beam packages your code into a container, launches it in the cloud in under a second, runs it, and scales out automatically when traffic increases. It’s powered by an open-source container orchestrator that launches containers in less than 1 second. There’s no infrastructure to provision and no YAML to write. You only pay for the compute you use, billed by the millisecond.
The examples below use the Python SDK, which provides Beam’s decorator programming model. The TypeScript SDK offers programmatic access for creating sandboxes and calling deployed endpoints.

Functions

You can run functions on the cloud, either once, or on a schedule. Learn more about Functions.

Functions

One-off Python functions, like training runs, scraping, or batch jobs.

Scheduled Jobs

Functions that run based on a schedule you specify.

Run Your Function

You’ll run your functions like a normal Python function: python app.py. Even though it feels like the code is running locally, it’s running on a container in the cloud.

Endpoints

You can also deploy synchronous and asynchronous web endpoints. Learn more about Endpoints and Task Queues.

Endpoints

Synchronous REST API endpoints, for tasks that run in 60s or less.

Task Queues

Asynchronous REST API endpoints, for heavier tasks that take a long time to run.

Testing Your Code (Optional)

Beam provides a temporary cloud environment to test your code.
These environments hot-reload with your code changes. You can test your workflow end-to-end before deploying to production.

Deploying to Production

When you’re ready to deploy a persistent endpoint, you’ll use beam deploy:

Web Services

You can also bring your own container and host web services, like Jupyter Notebooks, Node.js apps, and much more. Learn more about Pods.

Pods

Run any container behind an SSL-backed REST API.