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 →How it works
Same platform, any language
Pick a language
Choose Node.js 22, Python 3.12, or Go 1.22 when you create a function — and switch any time.
Write your code
Use any package manager and import any library — full language support with no sandboxing restrictions.
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.
Example
The same handler in 3 languages
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'}!` }), }; }
Features
Full runtime support
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.