Was ist Cloud Native?
Cloud-native Technologien ermöglichen es Unternehmen, skalierbare Anwendungen in modernen, dynamischen Umgebungen wie öffentlichen, privaten und hybriden Clouds zu erstellen und auszuführen.
"Cloud-native Technologien ermöglichen es Unternehmen, skalierbare Anwendungen in modernen, dynamischen Umgebungen wie öffentlichen, privaten und hybriden Clouds zu erstellen und auszuführen. Container, Service Meshes, Microservices, Immutable Infrastruktur und deklarative APIs sind Beispiele für diesen Ansatz. Diese Techniken ermöglichen lose gekoppelte Systeme, die widerstandsfähig, gut verwaltbar und überwachbar sind. In Kombination mit robuster Automatisierung ermöglichen sie es Ingenieuren, mit minimalem Aufwand häufig und vorhersehbar Änderungen vorzunehmen."
CNCF, Stiftung für Cloud Native Computing
Cloud-native Anwendungen stützen sich auf 5 Säulen.
- 3 "Kernsäulen" bieten die wichtigsten Cloud-nativen Vorteile
- Die Säule der Hardware-Abstraktion
- Die Säule der verteilten Architektur
- Die zusätzliche Säule der verwalteten Dienste
- 2 "unterstützende Säulen"sind eher dazu da, die Auswirkungen der durch die Kernsäulen verursachten Komplexität abzumildern.
- Die Säule der Automatisierung
- Die Säule der Beobachtbarkeit
Cloud-native Grundpfeiler
Hardware abstraction
Containerisierung und serverloses Computing begünstigen die Abstraktion von Hardware. Dies gibt Entwicklern die Möglichkeit, Workloads zu erstellen, ohne sich mit Betriebs- und Hardwareüberlegungen auseinandersetzen zu müssen, wie z. B. Harware-Dimensionierung, Installationen und Betriebssystemaspekte, Lokalisierung, Low-Level-Patching, Skalierungsmanagement, oder die Einrichtung physischer Netzwerke.
Säule der verteilten Architektur
Diese Säule ist eher architektonischer als technologischer Natur und ist wahrscheinlich die wichtigste. Sie besteht im Wesentlichen aus 2 Dingen:
- Aufteilung der globalen Komplexität in unabhängige Komponenten (typischerweise Microservices), wobei jede einzelne weniger komplex ist.
- Sicherstellen einer losen Kopplung: Die Aufteilung der Komplexität ist nutzlos, wenn alles mit allem gekoppelt ist. Es muss auch sichergestellt werden, dass die Kopplung auf ein Minimum reduziert wird, indem API-gesteuerte Ansätze, ereignisgesteuertes Design oder DDD-Prinzipien eingesetzt werden.
Standardisierte verwaltete Dienste
Um schnell zu sein, müssen sich Entwickler auf das Wesentliche konzentrieren: ihren Geschäftscode. Alles, was standardisiert werden kann, muss das auch. Diese Säule bietet gebrauchsfertige Infrastrukturdienste wie Datenbanken, Nachrichtendienste, IDP, virtuelle Netzwerke usw. an.
Die Säule ist ein außerordentlicher Beschleuniger für die Entwicklung von Cloud-nativen Anwendungen.
Säule der Automatisierung
In Cloud-nativen Architekturen wird die Automatisierung zu einem Muss, um den Anstieg der Komplexität zu bewältigen. Sie bringt sehr wichtige Vorteile mit sich, wie zum Beispiel :
- Fähigkeit, mehrere Umgebungen zu verwalten
- Geringere Build- und Deployment-Zeiten
- Erhöhung der Qualität und Vorhersagbarkeit
Säule der Beobachtbarkeit
Viele bewegliche Teile bedeuten, dass die Fehlersuche komplexer wird. Eine effiziente Beobachtungsinfrastruktur ist der Schlüssel, um die Ursache von Problemen schnell zu erkennen und zu beheben.
Neben den technischen Säulen ist eine erfolgreiche Cloud-Native-Initiative auch auf nicht-IT-Dimensionen angewiesen, wie z. B. ;
- Agile Methoden
- Nicht-hierarchische Teamorganisation;
- Feature- und datengesteuertes Produktdesign
- Iterative und kollaborative Kultur