Render
01 / 02

Services, Deploys & Blueprints

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: starter

Keep your own version of these notes — editable, searchable, and organised by your stack.

Start free