Web-App-Architektur
Eine moderne Web-App-Architektur in der Cloud basiert heute meist auf dem Prinzip der Schichten-Trennung, um Skalierbarkeit und Ausfallsicherheit zu gewährleisten. Man kann sich das wie ein gut organisiertes Restaurant vorstellen: Der Gast (Nutzer) sieht nur den Tresen, während im Hintergrund Logistik und Küche arbeiten.
Hier ist ein Überblick über die Standard-Komponenten einer Cloud-Architektur:
1. Die Client-Schicht (Frontend)
Der Nutzer greift über einen Browser oder eine mobile App auf die Anwendung zu. Die statischen Dateien (HTML, CSS, JS) liegen oft in einem Cloud Storage (z. B. AWS S3) und werden über ein Content Delivery Network (CDN) weltweit verteilt, um Ladezeiten zu minimieren.
2. Die Netzwerk-Schicht (Eingangstor)
Bevor eine Anfrage den Server erreicht, passiert sie zwei wichtige Stationen:
- DNS (Domain Name System): Leitet die URL (z. B. www.meineapp.de) an die richtige IP-Adresse weiter.
- Load Balancer: Verteilt den eingehenden Datenverkehr auf mehrere Server, damit kein einzelner Server überlastet wird.
3. Die Anwendungs-Schicht (Backend)
Hier schlägt das Herz der App. In der Cloud nutzt man hierfür oft:
- Virtuelle Maschinen oder Container (Docker/Kubernetes): Hier läuft der eigentliche Programmcode (Node.js, Python, Java).
- Auto-Scaling: Die Cloud fügt automatisch mehr Server hinzu, wenn viele Nutzer gleichzeitig online sind, und schaltet sie ab, wenn es ruhig wird.
4. Die Daten-Schicht (Persistence)
Daten müssen sicher gespeichert werden. Hier unterscheidet man meist:
- Relationale Datenbanken (SQL): Für strukturierte Daten (z. B. Benutzerprofile, Bestellungen).
- Caching (z. B. Redis): Ein extrem schneller Zwischenspeicher für Daten, die ständig abgefragt werden, um die Hauptdatenbank zu entlasten.
| Komponente | Aufgabe | Beispiel-Dienst (AWS/Azure) |
|---|---|---|
| CDN | Schnelle Auslieferung von Bildern/Skripten | Cloud Front / Azure Front Door |
| Load Balancer | Verkehrsregelung | ALB / Azure Load Balancer |
| App Server | Logik & Berechnung | EC2/ECS / App Service |
| Datenbank | Dauerhafte Speicherung | RDS / Azure SQL |