Cloud Native
Ein konzeptioneller Ansatz für das Entwerfen, Bereitstellen und Betreiben von Anwendungen, optimiert für elastische Cloud-Umgebungen.
Klassifikation
- KomplexitätHoch
- AuswirkungOrganisatorisch
- EntscheidungstypArchitektur
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Fehlende Plattformverantwortung führt zu Wildwuchs und Ineffizienz.
- Falsche Erwartungen an 'Cloud' können Kosten unkontrolliert steigen lassen.
- Sicherheitslücken durch unkoordinierte Konfigurationen und Rechte.
- Konsequente Nutzung deklarativer Infrastruktur und GitOps-Workflows.
- Sichere Default-Konfigurationen und automatisierte Sicherheitsprüfungen.
- Plattform-APIs für Entwickler bereitstellen und dokumentieren.
I/O & Ressourcen
- Cloud-Infrastruktur oder Cluster-Provider
- Container-Image-Repository und CI/CD-Pipeline
- Observability-Tooling und SLO-Definitionen
- Plattformgestützte Deployments und Self-Service-Funktionen
- Metriken zu Verfügbarkeit, Latenz und Kosten
- Automatisierte Skalierung und Resilienzmechanismen
Beschreibung
Cloud Native beschreibt Prinzipien für das Entwerfen, Entwickeln und Betreiben von Anwendungen, die in elastischen Cloud-Umgebungen laufen. Es betont Containerisierung, Microservices, dynamische Orchestrierung und deklarative Infrastrukturen. Ziel ist hohe Skalierbarkeit, Resilienz und schnelle Delivery durch Plattformen und automatisierte Betriebsabläufe. Es fördert cloud-native Toolchains.
✔Vorteile
- Bessere Skalierbarkeit durch elastische Infrastruktur und automatisches Scaling.
- Schnellere Time-to-Market dank Containerisierung und CI/CD-Pipelines.
- Höhere Ausfallsicherheit durch Isolation und orchestrierte Wiederherstellung.
✖Limitationen
- Erhöhter betriebstechnischer Aufwand und notwendige Plattformkompetenz.
- Komplexität bei verteilten Systemen (Netzwerk, Konsistenz, Debugging).
- Nicht alle Legacy-Anwendungen eignen sich wirtschaftlich für eine Umstellung.
Trade-offs
Metriken
- Mean Time To Recovery (MTTR)
Zeit bis zur Wiederherstellung nach einem Ausfall.
- Release-Frequenz
Anzahl der Deployments pro Zeiteinheit.
- Kosten pro Nutzer-Session
Betriebskosten bezogen auf Nutzeraktivität.
Beispiele & Implementierungen
Kubernetes-basierte Plattform bei einem Zahlungsanbieter
Einsatz von Kubernetes und service-orientierter Architektur zur Erhöhung der Skalierbarkeit und Ausfallsicherheit.
Microservice-Architektur in einem Medienunternehmen
Zerlegung eines Monolithen in kleine Dienste mit eigenständiger Deploybarkeit und Observability.
Platform-as-a-Service für Entwicklerteams
Interne Plattform bietet Self-Service für Deployments, CI/CD und Monitoring.
Implementierungsschritte
Vision und Ziele definieren; kritische Anwendungsfälle priorisieren.
Plattform-Backlog erstellen und Verantwortlichkeiten festlegen.
Basisinfrastruktur (Cluster, Registry, CI) bereitstellen.
Schrittweise Migration, Observability und SLOs einführen.
⚠️ Technische Schulden & Engpässe
Tech Debt
- Unzureichend automatisierte Deployments in frühen Phasen.
- Nicht standardisierte Konfigurationen über Cluster hinweg.
- Fehlende Tests für Plattform-Operatoren-Aktionen.
Bekannte Engpässe
Beispiele für Missbrauch
- Containerisierung als reines Packaging, ohne CI/CD-Integration oder Observability.
- Einsatz von Cloud-Features ohne Kostenüberwachung, was zu Budgetüberschreitungen führt.
- Migration aller Systeme gleichzeitig statt inkrementell, mit großem Risiko.
Typische Fallen
- Unklare Ownership für Plattformkomponenten führt zu Verantwortungsdiffusion.
- Fehlende SLOs und Beobachtbarkeit verhindern gezielte Verbesserungen.
- Ignorieren von Daten- und Integrationsanforderungen beim Design.
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Regulatorische Anforderungen können Cloud-Nutzung einschränken.
- • Budgetlimits und Kostencontrolling erfordern Governance.
- • Legacy-Integrationen können Migration verkomplizieren.