Serverless runtimes

Serverless functions and runtimes

Run isolated serverless functions in real containers with the same event model, layers, and hot container pools across Node.js, Python, and Go — no need to split services across runtimes.

Related guides and docs

Get started free

Same platform, any language

1

Pick a language

Choose Node.js 22, Python 3.12, or Go 1.22 when you create a function — and switch any time.

2

Write your code

Use any package manager and import any library — full language support with no sandboxing restrictions.

3

Deploy

All runtimes share the same hot container model — benchmark warm-path latency on your own bundles, since language choice alone doesn't guarantee a fixed millisecond budget.

The same handler in 3 languages

index.js
export async function handler(event, context) {
  const payload = typeof event.body === 'string' ? JSON.parse(event.body || '{}') : (event || {});
  const { name } = payload;

  // Any npm package works — fetch, axios, openai...
  const res = await fetch("https://api.example.com/greet", {
    method: "POST",
    body: JSON.stringify({ name }),
  });

  return {
    statusCode: 200,
    body: JSON.stringify({ message: `Hello, ${name || 'world'}!` }),
  };
}

Full runtime support

JS

Node.js 22

Full ESM support, the latest V8 engine, and any npm package — the fastest way to ship a JavaScript API.

Python 3.12

Native async/await, aiohttp, and pip packages via layers make it a great fit for AI and data workloads.

Go 1.22

Compiled binaries run at full speed inside containers — a perfect match for CPU-bound or latency-sensitive tasks.

Unified event contract

Every runtime shares the same event, context, and response schema, so you can migrate a function between languages without changing a single caller.

Get started free

Deploy your first function in minutes. No credit card required.

Get started free