FastAPI ist ein modernes, schnelles (High-Performance) Web-Framework für Python, das speziell für die Entwicklung von APIs entwickelt wurde. Es basiert auf Python 3.6+, Starlette (für Web-Handling) und Pydantic (für Datenvalidierung und -serialisierung).
✅ Schnell – FastAPI ist eine der schnellsten verfügbaren Python-Frameworks, vergleichbar mit NodeJS oder Go (dank uvicorn
und Starlette
).
✅ Automatische Dokumentation – Es generiert automatisch interaktive API-Dokumentationen über Swagger UI und ReDoc.
✅ Typsicherheit – Durch Typannotationen erkennt FastAPI automatisch Eingaben, prüft sie und erstellt automatisch Dokumentation.
✅ Asynchron / Async Support – Native Unterstützung für async
/await
für hohe Performance bei I/O-lastigen Anwendungen (z. B. Datenbankanfragen).
✅ Einfache Nutzung – FastAPI ist einfach zu lernen, besonders wenn man bereits Erfahrung mit Python und Typannotationen hat.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hallo Welt"}
Wenn du das startest (z. B. mit uvicorn main:app --reload
), läuft ein Webserver und unter http://localhost:8000/docs
findest du direkt eine interaktive API-Doku.
RESTful APIs
Backend für Web- oder Mobile-Apps
Microservices
Datenverarbeitung und Machine Learning APIs
OpenID Connect (OIDC) ist ein Authentifizierungsprotokoll, das auf OAuth 2.0 basiert. Es ermöglicht es Clients (z. B. Web-Apps, Mobile-Apps), die Identität eines Benutzers sicher zu verifizieren, der sich bei einem externen Identitätsanbieter (IdP) anmeldet — zum Beispiel Google, Microsoft, Apple, etc.
OAuth 2.0 → regelt die Autorisierung (Zugriff auf Ressourcen)
OpenID Connect → regelt die Authentifizierung (Wer ist der Benutzer?)
Benutzer klickt auf "Login mit Google"
Deine App leitet den Benutzer zum Google-Login weiter
Nach erfolgreichem Login leitet Google den Benutzer mit einem ID Token zurück
Deine App validiert dieses JWT-Token
Du weißt nun, wer der Benutzer ist – verifiziert von Google
Das ID Token ist ein JSON Web Token (JWT) mit Informationen über den Benutzer, z. B.:
{
"iss": "https://accounts.google.com",
"sub": "1234567890",
"name": "John Doe",
"email": "john@example.com",
"iat": 1650000000,
"exp": 1650003600
}
iss
= Issuer (z. B. Google)
sub
= Benutzer-ID
email
, name
= Benutzerinformationen
iat
, exp
= Zeitstempel
"Login mit Google/Microsoft/Apple"
Single Sign-On (SSO) in Unternehmen
Zentrale Identitätsverwaltung (Keycloak, Auth0, Azure AD)
OAuth-basierte APIs mit Identitätsprüfung
Komponente | Beschreibung |
---|---|
Relying Party | Deine App, die den Login anfordert |
Identity Provider | Der externe Login-Anbieter (z. B. Google) |
ID Token | Das JWT mit den Benutzerinformationen |
UserInfo Endpoint | (Optional) API für weitere Benutzerdaten |
Zero Trust ist ein Sicherheitskonzept, das auf dem Grundsatz basiert:
„Vertraue niemandem – weder innerhalb noch außerhalb des Netzwerks – ohne vorherige Prüfung.“
Im Gegensatz zu klassischen Sicherheitsmodellen, die internen Netzwerkzugriffen oft automatisch vertrauen, verlangt Zero Trust, dass jeder Zugriff authentifiziert, autorisiert und kontinuierlich überwacht wird – unabhängig vom Standort des Nutzers oder Geräts.
Verifikation statt Vertrauen
Jeder Nutzer, jedes Gerät, jeder Dienst muss sich authentifizieren – selbst wenn er „innerhalb“ des Netzwerks ist.
Least Privilege Access (Minimalrechte)
Benutzer und Dienste bekommen nur die Rechte, die sie wirklich brauchen – nicht mehr.
Kontinuierliche Überprüfung
Vertrauensentscheidungen werden laufend neu bewertet: z. B. durch Verhaltenserkennung, Standortänderungen, Geräte-Status etc.
Mikrosegmentierung
Netzwerke werden in kleine, isolierte Bereiche unterteilt, damit Angreifer sich nicht frei bewegen können.
Zentrale Sichtbarkeit und Logging
Jeder Zugriff wird protokolliert und überwachbar gemacht – für Audits, Compliance und Angriffsanalysen.
Multi-Faktor-Authentifizierung (MFA)
Identity & Access Management (IAM)
Gerätebewertung (Device Posture): z. B. Virenschutz, aktuelle Patches
VPN-Ersatz durch ZTNA (Zero Trust Network Access)
Cloud-native Firewalls, Mikrosegmentierung mit SDN
Monitoring & Anomalie-Erkennung (SIEM, UEBA)
Remote Work / Home Office: Mitarbeiter sind überall – nicht mehr „im sicheren Firmen-LAN“.
Cloud & SaaS-Dienste: Daten liegen nicht mehr nur im Rechenzentrum.
Höhere Bedrohungslage: Ransomware, Social Engineering, Insider-Angriffe.
Ohne Zero Trust:
Ein VPN-Nutzer erhält vollen Netzwerkzugriff, nur weil er eingeloggt ist.
Mit Zero Trust:
Der Nutzer muss sich regelmäßig authentifizieren, sein Gerät muss sicher sein, und er sieht nur die Dienste, die er wirklich braucht – kein „Blindvertrauen“.
Zero Trust ist kein einzelnes Produkt, sondern ein Strategieansatz für moderne IT-Sicherheit. Ziel ist es, durch ständige Verifikation und Minimierung von Zugriffsrechten Schäden durch Cyberangriffe, Fehlkonfigurationen oder menschliches Versagen drastisch zu reduzieren.
Laravel Octane ist eine offizielle Erweiterung für das Laravel-Framework, die die Performance deiner Anwendung dramatisch verbessert, indem sie Laravel auf Hochleistungsservern wie Swoole oder RoadRunner ausführt.
Statt bei jeder HTTP-Anfrage den Laravel-Framework-Code neu zu laden (wie bei PHP-FPM üblich), hält Octane deine Anwendung permanent im Speicher. Das spart Bootstrapping-Zeit und macht deine App viel schneller.
Laravel Octane nutzt Worker-basierte Server (z. B. Swoole oder RoadRunner), die:
Die Laravel-Anwendung einmalig booten,
Dann Anfragen wiederholt und schnell verarbeiten, ohne das Framework neu zu starten.
Vorteil | Beschreibung |
---|---|
⚡ Höhere Performance | Bis zu 10x schneller als klassische Laravel-Setups mit PHP-FPM |
🔁 Persistente Worker | Keine Neuinitalisierung bei jeder Anfrage |
🌐 WebSockets & Echtzeit | Direkte Unterstützung dank Swoole/RoadRunner |
🧵 Nebenläufigkeit | Möglichkeit zur parallelen Verarbeitung von Aufgaben |
🔧 Built-in Features | Task Worker, Route Watcher, Task Dispatching usw. |
RoadRunner ist ein High-Performance Application Server für PHP, der von Spiral Scout entwickelt wurde. Er ersetzt den klassischen PHP-FPM (FastCGI Process Manager) und bietet durch eine dauerhafte Ausführung deiner PHP-Anwendung einen massiven Performance-Schub – besonders bei Frameworks wie Laravel oder Symfony.
PHP-Skripte werden nicht bei jeder Anfrage neu geladen, sondern laufen dauerhaft in sogenannten Worker-Prozessen (ähnlich wie bei Node.js oder Swoole).
Dadurch sparst du dir das erneute Bootstrapping deiner App bei jedem Request – das ist wesentlich schneller als bei PHP-FPM.
RoadRunner selbst ist in der Programmiersprache Go geschrieben – das bedeutet hohe Stabilität, einfache Cross-Plattform-Deployments und parallele Verarbeitung von Anfragen.
HTTP-Server (inkl. HTTPS, Gzip, CORS, etc.)
PSR-7 & PSR-15 Middleware-Kompatibilität
Unterstützung für:
Hot Reload für Änderungen im Code (mit Watch-Modul)
RoadRunner startet PHP-Worker-Prozesse.
Die Worker laden einmal den gesamten Framework-Bootstrap.
RoadRunner verteilt HTTP- oder gRPC-Anfragen an die Worker.
Die Antwort wird über Go zurückgegeben – schnell und parallel.
Laravel + RoadRunner (statt Laravel + PHP-FPM)
Anwendungen mit hoher Request-Frequenz
APIs, Microservices, Echtzeit-Anwendungen (z. B. mit WebSockets)
Serverless-ähnliche Dienste, wo Latenz kritisch ist
Eigenschaft | PHP-FPM | RoadRunner |
---|---|---|
Bootstrapping pro Request | Ja | Nein (persistente Worker) |
Geschwindigkeit | Gut | Exzellent |
WebSockets | Nicht direkt | Ja |
gRPC | Nein | Ja |
Sprache | C | Go |
Die .htaccess
-Datei ist eine Konfigurationsdatei für Apache-Webserver, mit der du das Verhalten deiner Website direkt beeinflussen kannst – ohne Zugriff auf die zentrale Serverkonfiguration. Sie befindet sich typischerweise im Root-Verzeichnis deiner Website (z. B. /public_html
oder /www
).
Die .htaccess
wirkt nur auf Apache-Servern (nicht bei nginx).
Änderungen gelten sofort, du brauchst den Server nicht neu zu starten.
Viele Shared-Hosting-Anbieter erlauben .htaccess
, aber nicht alle Befehle sind immer erlaubt.
Fehlerhafte Einträge können deine Seite unbrauchbar machen – also Vorsicht beim Bearbeiten.
GitHub Actions ist ein Feature von GitHub, mit dem du automatisierte Workflows für deine Softwareprojekte erstellen kannst – direkt im GitHub-Repository.
Du kannst CI/CD-Pipelines (Continuous Integration / Continuous Deployment) aufbauen, z. B.:
🛠️ Code bei jedem Push oder Pull Request builden
🚀 Software automatisch deployen (z. B. auf einen Webserver, in die Cloud, zu DockerHub)
📦 Releases erstellen (z. B. ZIP-Dateien, Versionstags)
🔄 Cronjobs oder geplante Tasks laufen lassen
GitHub Actions basiert auf sogenannten Workflows, die du in einer Datei definierst:
Die Datei heißt z. B. .github/workflows/ci.yml
Sie ist im YAML-Format
Du definierst Events (z. B. push
, pull_request
) und Jobs (z. B. build
, test
)
Jobs bestehen aus Steps, die Befehle oder Aktionen ausführen
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '20'
- run: npm install
- run: npm test
Eine Action ist ein einzelner Schritt, den man in einem Workflow ausführt. Es gibt:
Vorgefertigte Actions (z. B. actions/checkout
, setup-node
, upload-artifact
)
Eigene Actions (z. B. Shell-Skripte oder Docker-Container)
Du kannst Actions im GitHub Marketplace finden und nutzen.
Spart manuelle Arbeit
Verbessert Codequalität (durch automatisierte Tests)
Macht Deployments reproduzierbar
Alles direkt in GitHub – kein externer CI-Dienst nötig (wie Jenkins oder Travis CI)
Docker Compose ist ein Werkzeug, mit dem du mehrere Docker-Container als einen einzigen Service definieren und starten kannst. Statt jeden Container einzeln über die Docker-CLI zu starten, kannst du mit Docker Compose eine docker-compose.yml
-Datei schreiben, in der du alle benötigten Dienste (z. B. Datenbank, Webserver, App-Container) deklarierst.
Docker Compose = Projektbeschreibung + Mehrere Container + Ein Befehl zum Starten
docker-compose.yml
version: '3.9'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: "redis:alpine"
In diesem Beispiel:
Ein Container baut die lokale Webanwendung.
Ein zweiter Container nutzt das offizielle Redis-Image.
Beide Container sind miteinander vernetzt.
docker-compose up # Startet alle Container im Vordergrund
docker-compose up -d # Startet im Hintergrund (detached)
docker-compose down # Stoppt und entfernt Container, Netzwerke etc.
✅ Einfaches Setup für Multi-Container-Anwendungen
✅ Alles wird in einer Datei versioniert (z. B. für Git)
✅ Reproduzierbare Entwicklungsumgebungen
✅ Leichtes Hoch- und Runterfahren ganzer Stacks
Lokale Entwicklung mit mehreren Services (z. B. App + DB)
Integrationstests mit vollständigem Stack
Simpler Deployment-Workflow (z. B. über CI/CD)
Ein Headless CMS (Content Management System) ist ein Content-Management-System, bei dem das Backend (die Inhalte und ihre Verwaltung) vom Frontend (der Darstellung für die Nutzer) vollständig getrennt ist.
Backend und Frontend sind gekoppelt.
Die Inhalte werden im System erstellt und direkt als HTML über ein fest integriertes Theme angezeigt.
Vorteil: Alles aus einer Hand.
Nachteil: Eingeschränkte Flexibilität, schwer für Multi-Plattform-Ausgabe (z. B. App + Webseite + Smartwatch).
Nur Backend.
Inhalte werden über eine API (z. B. REST oder GraphQL) bereitgestellt.
Das Frontend (z. B. eine React-Webseite, native App, Digital Signage) holt sich die Inhalte dynamisch.
Vorteil: Sehr flexibel, geeignet für Multi-Channel-Ausspielung.
Nachteil: Frontend muss separat entwickelt werden (mehr Aufwand).
Webseiten mit modernen JavaScript-Frameworks (z. B. React, Next.js, Vue)
Mobile Apps, die denselben Content wie die Website zeigen sollen
Omnichannel-Strategien: Website, App, IoT-Geräte, etc.
Contentful
Strapi
Sanity
Directus
Prismic
Storyblok (Hybrid-Ansatz mit Visual Editor)
Storyblok ist ein benutzerfreundliches, headless Content-Management-System (CMS), das Entwicklern und Marketing-Teams hilft, Inhalte schnell und effizient zu erstellen, zu verwalten und zu veröffentlichen. Es bietet eine visuelle Bearbeitungsoberfläche, die es ermöglicht, Inhalte in Echtzeit zu gestalten, und ist flexibel mit verschiedenen Frameworks und Plattformen kompatibel. Durch seine API-first-Architektur können Inhalte auf jeder digitalen Plattform ausgespielt werden, was es ideal für moderne Web- und App-Entwicklung macht.