branchway

FastAPI hosten

FastAPI braucht einen dauerhaft laufenden Prozess – hier läuft er in einem Container mit festem Speicher, ohne Kaltstart zwischen den Anfragen.

Procfile und Abhängigkeiten

Python-Projekte werden an requirements.txt oder pyproject.toml erkannt. Den Startbefehl legst du in einem Procfile fest:

web: uvicorn main:app --host 0.0.0.0 --port $PORT
# requirements.txt
fastapi
uvicorn[standard]

Die Abhängigkeiten landen in einer virtuellen Umgebung, die beim Start automatisch im Pfad liegt.

Hintergrundaufgaben

Neben web darf das Procfile weitere Prozesse enthalten – etwa einen Worker, der eine Warteschlange abarbeitet:

web: uvicorn main:app --host 0.0.0.0 --port $PORT
worker: python worker.py

Jeder Prozess läuft in derselben Instanz und teilt sich deren Speicher.

Größe wählen

AnwendungEmpfehlungKosten im Monat bei Dauerbetrieb
API ohne schwere BibliothekenSrund 7,82 €
Mit pandas, numpy oder ML-PaketenLrund 31,27 €

Häufige Fragen

Wie viele Arbeiter soll Uvicorn starten?

Einen. Mehr Instanzen stellst du in der Console ein – dann verteilt der Load Balancer die Anfragen, und jede Instanz bleibt überschaubar.

Läuft auch Flask oder Django?

Ja, beide. Der Startbefehl im Procfile lautet dann gunicorn statt uvicorn.

Weiterlesen