Render: Services, Deploys & Blueprints
Render is a Platform-as-a-Service: connect a git repo and Render builds/deploys it as a web service, static site, background worker, cron job, or managed database -- no manual server, load balancer, or container orchestration setup.
Service Types
Web Service -- a long-lived process handling HTTP requests (Node, Python, Ruby, Go, Docker, etc.).
Static Site -- pre-built HTML/CSS/JS served directly from a CDN, no server process running.
Background Worker -- a long-lived process like a Web Service, but no public URL/port -- for a queue consumer or continuous background task.
Cron Job -- runs on a schedule, executes to completion, exits -- compute is only provisioned for the run's duration.
Managed Postgres / Redis -- automated backups, patching, and failover handled by Render instead of self-hosting the database process yourself.
Deploys
A push to the connected branch (commonly main) automatically triggers a build (via the service's build command) and deploy.
Native runtimes are auto-detected (package.json, requirements.txt, etc.) with inferable build/start commands -- override them explicitly for anything auto-detection gets wrong.
A Dockerfile gives full control over the build/runtime environment -- necessary for custom system dependencies or an unsupported language.
Rollback redeploys a previous known-good build from deploy history -- fast recovery from a bad deploy without an emergency git revert first.
Preview Environments spin up a full running instance of a PR's branch automatically for review, torn down when the PR closes.
render.yaml (Blueprint)
# render.yaml -- declares a whole multi-service app in one file,
# checked into the repo, reproducible from one definition
services:
- type: web
name: my-api
runtime: node
buildCommand: npm install && npm run build
startCommand: npm start
healthCheckPath: /healthz
envVars:
- key: NODE_ENV
value: production
- key: DATABASE_URL
fromDatabase:
name: my-db
property: connectionString
- type: worker
name: job-processor
runtime: node
startCommand: node worker.js
- type: cron
name: nightly-cleanup
runtime: node
schedule: "0 2 * * *"
startCommand: node cleanup.js
databases:
- name: my-db
plan: starterKeep your own version of these notes — editable, searchable, and organised by your stack.
Start free