Technologien

← Startseite
Backend & API

Backend mit Python & FastAPI — moderne, skalierbare APIs

FastAPI ist das Python-Referenzframework für asynchrone REST-APIs. Es verbindet native Python-Type-Hints mit automatischer Pydantic-Validierung, selbst erzeugter OpenAPI-Dokumentation und einer ASGI-Performance auf dem Niveau von Node.js — ohne die Lesbarkeit des Codes zu opfern.

FastAPI — das schnellste Python-Framework

FastAPI läuft auf Uvicorn (ASGI-Server), in der Produktion mit Gunicorn für den Multi-Process-Betrieb. Ein einfacher Endpunkt, der aus dem Redis-Cache liest, antwortet auf Standardhardware in unter 5 ms. Die native Dependency Injection erlaubt es, jede Schicht isoliert zu testen, ohne aufwendige Mocks: Authentifizierung, Datenbank-Session, Rate Limiting — jede davon ist eine injizierbare Abhängigkeit.

Die OpenAPI-3.1-Dokumentation entsteht automatisch aus den Type-Hints — Swagger UI und ReDoc stehen in der Entwicklung unter `/docs` und `/redoc` bereit. Das Pydantic-v2-Schema (Validator in Rust) prüft Requests und Responses 10- bis 20-mal schneller als Pydantic v1. Jedes ungültige Feld führt zu einem 422 mit klaren, lokalisierten Fehlermeldungen.

  • Natives async/await — nicht blockierende I/O bei allen Datenbank- und HTTP-Operationen
  • BackgroundTasks für Arbeiten nach der Response (E-Mail, Webhook, Log)
  • Native WebSocket-Unterstützung für Echtzeitfunktionen (Chat, Benachrichtigungen)
  • Rate Limiting mit slowapi (auf Basis von limits) — pro IP und pro Nutzer
  • Middleware für CORS, Komprimierung (gzip/brotli), Request-ID und Timing

PostgreSQL, SQLAlchemy und Alembic

Für alle Datenbankoperationen nutzen wir SQLAlchemy 2.0 async (asyncpg-Treiber). Die Modelle werden mit Mapped Types definiert — typsicher, ohne Strings. Komplexe Abfragen schreiben wir in SQLAlchemy Core (zur Übersetzungszeit geprüft) oder als reines SQL über `text()` mit gebundenen Parametern — niemals per String-Interpolation, womit SQL-Injection vollständig ausgeschlossen ist.

Alembic-Migrationen werden aus den Modelländerungen automatisch erzeugt und vor der Anwendung manuell geprüft. Jede Migration hat ein getestetes `upgrade()` und `downgrade()`. In der Produktion laufen die Migrationen in der CI vor dem Deployment — die Datenbank ist damit stets mit dem Code synchron. Connection Pooling über asyncpg, mit je Service konfigurierbarer Poolgröße.

  • Row-Level-Locking mit `SELECT ... FOR UPDATE` für kritische parallele Operationen
  • Volltextsuche mit pg_trgm und tsvector — für einfache Fälle ohne Elasticsearch
  • JSONB für halbstrukturierte Daten mit GIN-Index
  • Partitionierte Tabellen für Millionen von Zeilen (Logs, Events)

Redis-Caching und horizontale Skalierung

Redis 7 dient als Anwendungscache (TTL je Endpunkt), Session Store (JWT-Refresh-Tokens mit selektivem Widerruf), Pub/Sub für Echtzeit-Events und Queue für Hintergrundjobs (Celery oder ARQ). Die Caching-Strategie ist Cache-aside mit expliziter Invalidierung — kein blindes TTL, das veraltete Daten ausliefern könnte.

  • JWT-Authentifizierung mit Access Token (15 Min.) + Refresh Token in Redis (7 Tage)
  • Celery mit Redis als Broker für asynchrone Aufgaben (PDF-Erzeugung, E-Mail, Importe)
  • Health-Check-Endpunkt `/health` mit Status von Datenbank, Redis und Deployment-Version
  • Strukturiertes JSON-Logging (structlog) — kompatibel mit Loki, Datadog und ELK

Vorteile und Grenzen

Vorteile

  • ASGI-Performance auf dem Niveau von Node.js und Go bei I/O-Last.
  • OpenAPI-Dokumentation, automatisch aus den Type-Hints erzeugt.
  • Schnelle Pydantic-v2-Validierung mit klaren 422-Fehlern.
  • Lesbarer Code; Python ist den meisten Teams vertraut.

Grenzen

  • Python bleibt bei CPU-intensiven Aufgaben langsamer als Go oder Rust.
  • async/await erfordert Disziplin — ein blockierender Aufruf legt die gesamte Event Loop lahm.
  • Jüngeres Ökosystem als Django, wenn es um Batteries-included-Funktionen geht.
  • Bringt weder ORM noch Admin-Oberfläche mit — beides wählt man separat.

Kurzes Fazit

Wählen Sie FastAPI für asynchrone REST-APIs, Microservices und Backends für SPA- oder Mobile-Anwendungen. Für extrem CPU-lastige Anwendungen bzw. Monolithen mit fertigem Admin-Bereich können Go beziehungsweise Django besser passen.

Technische Daten

FähigkeitGrenze / SchwelleTypischer Einsatz
Nebenläufigkeitasync/await, nicht blockierende I/OCPU-lastige Arbeit braucht separate WorkerAPIs mit vielen Datenbank- und HTTP-Aufrufen
Latenz< 5 ms je Endpunkt mit Redis-CacheSteigt mit der Serialisierung großer PayloadsSaaS-, Mobile- und Echtzeit-Backends
Validierung & DokuPydantic v2 + automatisches OpenAPI 3.1Komplexe Schemata verlängern den StartÖffentliche APIs mit Swagger/ReDoc
Typische KostenOpen Source, läuft auf 1 vCPUHorizontale Skalierung erfordert mehrere ProzesseVom MVP bis zur Produktion

FastAPI im Vergleich zu Alternativen

KriteriumFastAPIDjango / Express
Async-PerformanceAusgezeichnet (nativ ASGI)Django teilweise, Express gut
Automatische OpenAPI-DokuJa, aus den Type-HintsErfordert zusätzliche Pakete
Admin / ORM inklusiveNein (wird separat gewählt)Django: ja; Express: nein

Häufige Fragen

Ist FastAPI schneller als Django?

Bei I/O ja. FastAPI läuft asynchron auf ASGI und verarbeitet daher deutlich mehr parallele Anfragen mit Datenbank- oder HTTP-Aufrufen als das klassische synchrone Django. Django bringt dafür mehr Funktionen von Haus aus mit.

Wofür eignet sich FastAPI nicht?

Für stark CPU-lastige Aufgaben (Bildverarbeitung, aufwendige Berechnungen) ist Python langsamer als Go oder Rust; solche Arbeit verlagert man auf separate Worker. Außerdem bringt FastAPI keine fertige Admin-Oberfläche wie Django mit.

Braucht FastAPI ein ORM?

Nicht zwingend. Wir setzen SQLAlchemy 2.0 async mit Alembic für die Migrationen ein, aber reines SQL ist ebenso möglich. Ein ORM ist nicht enthalten, Sie wählen es also passend zum Projekt.

Wie skaliere ich ein FastAPI-Backend?

Horizontal: Man betreibt mehrere Uvicorn-Prozesse unter Gunicorn hinter einem Load Balancer, mit Redis-Cache und schweren Aufgaben ausgelagert an Celery. Das zustandslose Design erlaubt es, bei Bedarf einfach Instanzen hinzuzufügen.

4b2b.net
Business-Ökosystem
4conta.ro
Buchhaltung
4invoices.net
Rechnungs-App
4expenses.net
Spesenmanagement
4notify.net
Benachrichtigungen
4hosting.net
Hosting
4database.net
Datenbanken
4buildsite.net
Website-Baukasten
4myapp.net
App-Baukasten
4avatars.net
KI-Avatare
4chaty.net
KI-Chatbot
4webagency.net
Web-Agentur-Software
4softedu.net
Bildungs-Websites
4softcrm.net
CRM-Plattform
4softerp.net
ERP-System
4softhr.net
Personalverwaltung
4mystaff.net
Mitarbeiter-Portal
4myprojects.net
Projektmanager
4mycontracts.net
Verträge
4docs.net
Dokumentenmanagement
4appointments.net
Termine
4marketingonline.net
Marketing
4insurance.net
Versicherung
4property.net
Immobilien
4lawyers.net
Anwaltssoftware
4mygarage.net
Autowerkstatt
4driving.net
Fahrschulen
4fleet.net
Fuhrparkverwaltung
4myevents.net
Veranstaltungen
4therapy.net
Therapie
4clinics.net
Kliniken
4dental.net
Zahnarztpraxen
4restaurants.net
Restaurants
4beautify.net
Beautysalon
4gym.net
Fitnessstudios
4guards.net
Sicherheitsfirmen
4softvet.net
Tierarztpraxen
4softauto.net
Autohaus-Software
4construct.net
Bauunternehmen
4marketplace.net
Marktplatz
4shopy.net
Online-Shop
4pricing.net
Preisvergleich
4salefood.net
Essenslieferung
4rentify.net
Vermietung
4transports.net
Transport
4agencytravel.net
Reisebüro
4hotel.net
Hotelmanagement
4ong.net
NGO-Verwaltung