Cloud-native Computing

Cloud-native Computing ist ein Ansatz in der Softwareentwicklung, der Cloud Computing nutzt, um skalierbare Anwendungen in Cloud-Infrastrukturen, -Plattformen und -Umgebungen zu erstellen und auszuführen. Gemäß der Cloud Native Computing Foundation (CNCF) prägen diesen Remote-Computing-Ansatz insbesondere Technologien wie Container, Microservices sowie serverlose Funktionen und unveränderliche Infrastrukturen (Immutable Infrastructures und Infrastructure as Code), die zumeist über deklarativen Code bereitgestellt werden.

Definition

Cloud-native Technologien ermöglichen lose gekoppelte Software-Systeme (Cloud-native Applikationen), die resilient, beobachtbar und dank Auto-Scaling und Self-Healing in automatisierten Umgebungen mit minimaler Interaktion durch Administratoren betreibbar sind.

„Eine Cloud-native Anwendung (CNA) ist ein verteiltes, beobachtbares, elastisches und auf horizontale Skalierbarkeit optimiertes Service-of-Services System, das seinen Zustand in (einem Minimum an) zustandsbehafteten Komponenten isoliert. Die Anwendung und jede in sich geschlossene Bereitstellungseinheit dieser Anwendung wird nach Cloud-fokussierten Designmustern entworfen und auf elastischen Self-Service-Plattformen betrieben.“

Eigenschaften

Cloud-native Anwendungen sind daher oft durch eine oder mehrere der folgenden Eigenschaften charakterisiert:

Häufig werden Cloud-native Anwendungen daher als eine Reihe von Microservices erstellt, die in Containern ausgeführt werden. Sie können mittels Container-Plattformen wie bspw. Kubernetes orchestriert und mit DevOps- und Git-basierten Continuous Integration und Deployment-Workflows verwaltet und bereitgestellt werden. Der Vorteil der Verwendung von Containern besteht darin, dass die gesamte Software inklusive aller Abhängigkeiten, die zur Ausführung benötigt wird, in Form in sich geschlossener Bereitstellungseinheiten vorgehalten werden kann. Container werden hierzu in virtualisierten Umgebungen (Betriebssystemvirtualisierung) ausgeführt, die die enthaltene Anwendung von ihrer Umgebung isoliert.

Einzelnachweise

  1. ↑ Cloud Native Computing Foundation Policy Repo. Cloud Native Computing Foundation (CNCF), 3. Januar 2022, abgerufen am 3. Januar 2022.
  2. ↑ Kapitel 1 bis 4 - Cloud-native Computing. Abgerufen am 4. Januar 2022.
  3. ↑ Nane Kratzke: Cloud-native Computing Software Engineering von Diensten und Applikationen für die Cloud. 1. Auflage. München 2021, ISBN 978-3-446-46228-1.
  4. ↑ Nikolas Roman Herbst, Samuel Kounev, Ralf Reussner: Elasticity in Cloud Computing: What It Is, and What It Is Not. 2013, ISBN 978-1-93197102-7, S. 23–27 (usenix.org [abgerufen am 4. Januar 2022]).
  5. ↑ Microservices. Abgerufen am 4. Januar 2022.
  6. ↑ Open Container Initiative Runtime Specification. Open Container Initiative, 4. Januar 2022, abgerufen am 4. Januar 2022.
  7. ↑ Cristoph Fehling: Cloud computing patterns : fundamentals to design, build, and manage cloud applications. Wien 2014, ISBN 978-3-7091-1568-8.
  8. ↑ Cristoph Fehling: Cloud computing patterns : fundamentals to design, build, and manage cloud applications. Wien 2014, ISBN 978-3-7091-1568-8.
  9. ↑ Sam Newman: Building Microservices, 2nd Edition. 2nd edition Auflage. 2021, ISBN 1-4920-3402-9.