Disclosure: this page contains affiliate links. If you buy through them we may earn a commission at no extra cost to you.

Python apps are heavier than Go or Rust but still modest if you size the worker processes correctly. Here’s how to plan.

What a Python app needs

  • WSGI/ASGI workers — each Gunicorn worker uses 100–200 MB.
  • A database — Postgres or MySQL plus, often, Redis.
  • A reverse proxy — Nginx in front for TLS and static files.

The pick: RackNerd 2GB

For a typical Django or FastAPI app with Postgres and Redis, RackNerd’s 2 GB plan at $35.99/yr is the value sweet spot, with full root and a dedicated IPv4. Heavier workloads move up to the 4 GB plan at $59.99/yr.

Run it with Gunicorn

pip install gunicorn
gunicorn -w 3 -b 127.0.0.1:8000 myapp.wsgi
  • Size workers to your RAM — 2 GB fits about 3 workers plus Postgres.
  • Use a virtualenv and pin dependencies in requirements.txt.
  • Run Celery or RQ under systemd for background jobs.

Bottom line: 2 GB covers most Python web apps; 4 GB when you add queues, search, or many workers. Nginx plus Gunicorn is the standard stack.

See RackNerd's current deals