Platform
Platform
Runtimes, databases, networking, and deploys in one place. Push your code and every service goes live together.
main
deploy 912
All services live
production
- web
- api
- database
- worker
Features
Built for every part of your stack
Each capability works on its own and does more alongside the others. Pick a feature to see how it works.
Autoscaling
Add and remove instances automatically as traffic, CPU, and memory change.
Learn morePrivate networking
Connect services, databases, and workers over an isolated network with no public exposure.
Learn morePreview environments
Get a full copy of your stack for every pull request, then tear it down on merge.
Learn moreZero-downtime deploys
Roll out new versions behind health checks and roll back in one click.
Learn moreInfrastructure as code
Describe services, databases, and environments in one versioned config file.
Learn moreCLI and API
Script deploys, logs, and scaling from your terminal or any CI pipeline.
Learn moreWebhooks
Send deploy, scaling, and incident events to your own endpoints, signed and retried.
Learn moreSecrets and environment variables
Keep keys, tokens, and settings out of your code, encrypted and scoped to each environment.
Learn moreMetrics and logs
See latency, errors, and every log line for every service in one dashboard, with alerts that reach the right person.
Learn more
Your whole stack, one git push away
Retire the duct tape. Run web services, Postgres databases, cron jobs, durable workflows, static sites, background workers, key-value caches, private services, WebSockets, and AI agents on one bill.
Every pull request gets its own production
Web, API, database, and workers boot from a snapshot in under a minute. Reviewers open a link instead of pulling a branch, and it all disappears on merge.
Preview environmentsPR #214
feature/checkout
4 checks passed
pr-214.preview
- webLive
- apiLive
- databaseLive
- workerLive
pr-214-checkout.example.com
Launch day is just another Tuesday
Instances follow CPU, memory, and queue depth from one to forty and back again, so a spike never pages you and a quiet night never bills you.
How autoscaling worksCompute plan
- 4 CPU · 8 GB RAM
- 16 CPU · 64 GB RAM
- 64 CPU · 512 GB RAM
- 4 CPU · 8 GB RAM
Instances
Jobs that survive crashes, deploys, and flaky APIs
Every step checkpoints its result. When one fails, only that step runs again, even if the worker restarted halfway through.
Explore workflows- 1@task(retries=3)
- 2async def summarize(doc_id):
- 3 doc = await fetch_doc(doc_id)
- 4 summary = await llm.run(doc)
- 5 await store(doc_id, summary)
- 6 return summary
Run 4812 · completed
- fetch_doc120 ms
- llm.runtimeout · retry 1/3
- llm.run2.4 s
- store38 ms
Rewind your database to any second
Continuous backups restore the moment before a bad migration into a fresh copy, while production keeps serving traffic.
Managed Postgresapp-db
Primary + 2 replicasRestore point
Oct 9 · 14:32:07
- Mon
- Tue
- Wed
- Thu
- Fri
- Sat
- Sun
Restored to app-db-copy in 38 s
Find the bad request before your users do
Logs, metrics, and traces land in one searchable stream from the first deploy, and forward to the tools you already use.
Observability- 10:12:00GET /api/orders 200 41ms
- 10:13:01POST /api/checkout 201 88ms
- 10:14:02worker: job 4812 completed
- 10:15:03POST /api/payments 502 1204ms
- 10:16:04GET /health 200 3ms
- 10:17:05GET /api/users/91 404 9ms
- 10:18:06deploy: build 912 is live
- 10:19:07POST /api/events 202 12ms
- 10:12:08GET /api/orders 200 41ms
- 10:13:09POST /api/checkout 201 88ms
- 10:14:00worker: job 4812 completed
- 10:15:01POST /api/payments 502 1204ms
- 10:16:02GET /health 200 3ms
- 10:17:03GET /api/users/91 404 9ms
- 10:18:04deploy: build 912 is live
- 10:19:05POST /api/events 202 12ms
Memory
From repository to live in three steps
Connect your code, choose what to run, and let the platform take care of servers, clusters, and patches.
- Web service
- Static site
- Worker
- Cron job
- Postgres
- Cache
- 01Cloning repository from main
- 02Detected Node.js runtime
- 03Installing dependencies
- 04Build completed in 42s
- 05Health check passed
- 06Deploy is live
- Automatic TLS certificates
- Private networking
- Load-based autoscaling
- Daily database backups
- Zero-downtime deploys
- Preview environments
Infrastructure as code
Infrastructure that lives in your repository
Keep services, databases, and shared variables in one versioned file that goes through code review like everything else.
- Spin up identical staging and preview stacks
- Roll back infrastructure with a git revert
- Share variables and secrets across services
1
services:
2
- type: web
3
name: storefront
4
runtime: node
5
buildCommand: npm ci && npm run build
6
startCommand: npm start
7
autoscaling:
8
minInstances: 2
9
maxInstances: 20
10
- type: worker
11
name: email-queue
12
runtime: python
13
startCommand: python worker.py
14
15
databases:
16
- name: storefront-db
17
plan: pro
18
highAvailability: true
1
# Install the CLI and log in
2
$ npm install -g @cloud/cli
3
$ cloud login
4
5
# Deploy the current branch
6
$ cloud deploy --service storefront
7
→ Building storefront from main
8
→ Build finished in 38s
9
✓ storefront is live
1
# Bring any container; the platform runs it
2
"tok-key">FROM node:22-alpine
3
"tok-key">WORKDIR /app
4
"tok-key">COPY package*.json ./
5
"tok-key">RUN npm ci --omit=dev
6
"tok-key">COPY . .
7
"tok-key">EXPOSE 3000
8
"tok-key">CMD ["npm", "start"]
Security that ships with every service
Encryption, isolation, and access controls are on from the start, so security reviews begin from a strong baseline.
Private networking
Services talk over a private network, with no VPC to configure.
DDoS protection
Network-level protection on every service, with nothing to set up.
Compliance controls
Data residency, retention settings, and access reviews that support your audits.
Audit logs
A searchable record of every change to services, members, and keys.
Encryption at rest
Databases, backups, and secrets are encrypted by default.
Role-based access
Control who can view and change each service and resource.