Kurzfassung
Cloud-Native ist eine Designphilosophie und eine Reihe von Praktiken für den Aufbau von Anwendungen, die durch den Einsatz von Containern, Microservices, deklarativen APIs und Continuous Delivery in modernen Cloud-Umgebungen resilient, skalierbar und wartbar sind.
Was ist Cloud-Native?
Die Cloud Native Computing Foundation (CNCF) definiert Cloud-Native-Technologien als solche, die Organisationen befähigen, skalierbare Anwendungen in öffentlichen, privaten und hybriden Clouds zu erstellen und zu betreiben. Die Schlüsselpfeiler sind Container (Paketierung und Isolation), Microservices (unabhängiges Deployment abgegrenzter Komponenten), dynamische Orchestrierung (Kubernetes-Scheduling) und deklarative APIs.
Cloud-Native-Anwendungen sind für den Fehlerfall konzipiert: Sie gehen davon aus, dass jede Komponente ausfallen kann, und verwenden Muster wie Circuit Breaker, Retries und Health Checks, um verfügbar zu bleiben. Sie sind auch für Observability ausgelegt und emittieren Logs, Metriken und Traces.
Die Twelve-Factor-App-Methodik ist eng mit Cloud-Native-Prinzipien verbunden.
Warum ist Cloud-Native relevant?
- Skalierbarkeit: Anwendungen können automatisch horizontal skaliert werden
- Resilienz: Der Ausfall einzelner Komponenten kaskadiert nicht zu systemweiten Ausfällen
- Geschwindigkeit: Unabhängige Microservices ermöglichen es Teams, Änderungen unabhängig zu deployen
- Portabilität: Container-basierte Paketierung läuft konsistent über Umgebungen hinweg