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