Heroku killed its free tier in 2022. Four years later, developers still miss the simplicity of git push heroku main. Render brings it back — with a free tier for static sites and web services, automatic HTTPS, built-in Postgres, and deploys from GitHub with zero configuration.
What Render Actually Does
Render is a unified cloud platform for hosting web applications, APIs, background workers, cron jobs, static sites, and databases. Like Heroku, it auto-detects your runtime and builds from source. Unlike Heroku, it offers a free tier, native Docker support, and infrastructure-as-code via render.yaml.
Render deploys from GitHub or GitLab — push to main and your app rebuilds automatically. It supports Node.js, Python, Go, Rust, Ruby, Elixir, PHP, and Docker. Built-in services include Postgres (free tier: 256MB, 90 days), Redis, and cron jobs.
Free tier: static sites (unlimited), web services (750 hours/month with spin-down after 15 min inactivity). Paid starts at $7/mo for always-on.
Quick Start
Connect your GitHub repo at render.com → New → Web Service.
Or use the CLI:
# render.yaml in your repo root
services:
- type: web
name: my-api
runtime: node
buildCommand: npm install && npm run build
startCommand: npm start
envVars:
- key: NODE_ENV
value: production
- key: DATABASE_URL
fromDatabase:
name: my-db
property: connectionString
databases:
- name: my-db
plan: free
Push to GitHub — Render creates everything: web service, database, environment variables, and wires them together.
Render API:
# List services
curl https://api.render.com/v1/services \
-H "Authorization: Bearer rnd_your_api_key"
# Trigger deploy
curl -X POST https://api.render.com/v1/services/srv-abc123/deploys \
-H "Authorization: Bearer rnd_your_api_key"
# Get deploy status
curl https://api.render.com/v1/services/srv-abc123/deploys \
-H "Authorization: Bearer rnd_your_api_key" | jq '.[0].status'
3 Practical Use Cases
1. Full-Stack App with Database
# render.yaml
services:
- type: web
name: frontend
runtime: static
buildCommand: npm run build
staticPublishPath: ./dist
routes:
- type: rewrite
source: /api/*
destination: https://my-api.onrender.com/*
- type: web
name: my-api
runtime: python
buildCommand: pip install -r requirements.txt
startCommand: gunicorn app:app
databases:
- name: my-db
plan: free
Frontend + API + Database — all from one render.yaml.
2. Background Worker + Cron
services:
- type: worker
name: email-sender
runtime: node
buildCommand: npm install
startCommand: node worker.js
- type: cron
name: daily-report
runtime: python
buildCommand: pip install -r requirements.txt
startCommand: python report.py
schedule: "0 9 * * *" # 9am daily
3. Docker Deployment
services:
- type: web
name: custom-app
runtime: docker
dockerfilePath: ./Dockerfile
envVars:
- key: PORT
value: "8080"
Any Docker container deploys with zero modification.
Why This Matters
Render is the spiritual successor to Heroku's developer experience. Push code, get a running app. The render.yaml adds infrastructure-as-code that Heroku never had. For developers who want deployment simplicity without the AWS complexity tax, Render is the natural choice.
Need custom data extraction or web scraping solutions? I build production-grade scrapers and data pipelines. Check out my Apify actors or email me at spinov001@gmail.com for custom projects.
Follow me for more free API discoveries every week!
Top comments (0)