Was bedeutet Cloud native?

11.09.2023

Cloud Native bezeichnet das Konzept Anwendungen so zu konzipieren und erstellen, dass sie alle Vorteile der Cloud vollumfänglich nutzen können.

 

Dabei setzt man nicht auf die klassische Architektur, sondern nutzt gezielt die Cloud Infrastruktur, um höhere Performance und Flexibilität zu erreichen. Dazu zählen neben den Cloud Services wie PaaS (Platform-as-a-Service) ebenfalls Microservices und Container, welche bereits Cloud optimiert sind, sowie ein hoher Grad an Automation.

 

 

cloud-native
https://learn.microsoft.com/de-de/dotnet/architecture/cloud-native/definition

 

Oft sind Native-Cloud Anwendungen (NCAs) in Containern verpackt, um eine einfache Portabilität zu gewährleisten und Konsistenz in verschiedenen Umgebungen zu garantieren. Die Container Technologie bietet viele Vorteile im Vergleich zu VMs oder physischen Servern. Zum Verwalten von Containern kann das zum Beispiel das Orchestrations-Tool Kubernetes benutzt werden.

Eine große Cloud-native Anwendung sollte in Microservices aufgeteilt werden, um die Verfügbarkeit zu steigern und die Anwendung bei Bedarf schnell nach oben oder unten zu skalieren. Dabei wird die Anwendung in mehrere Teile zerlegt, welche alle als ein Service fungieren und miteinander über Standartkommunikationsprotokolle wie HTTP/HTTPS kommunizieren. Dadurch können einzelne Komponenten in der Gesamtarchitektur bedarfsgerecht in der Cloud betrieben werden.

Zur Automatisierung der Erstellung, des Testens und der Bereitstellung von NCAs wird in der Regel eine Pipeline mit Continuous Integration & Delivery (CI/CD) eingerichtet.

Warum Cloud Native?

Skalierbarkeit

Da NCAs in viele Microservices aufgeteilt sind, welche in Containern laufen, sind sie nicht nur portabel sondern können bei Bedarf schnell nach oben oder unten skaliert werden. Dadurch können sie kostenoptimiert betrieben werden, da sich die Anwendung je nach Work-Load anpassen lässt. So können saisonale oder zyklische Schwankungen wie beispielsweise Lastspitzen besser bewältigt werden. Dank der Microservice Architektur ist es sogar möglich nur einzelne Sektionen zu skalieren. So kann die Anwendung so kostengünstig und effizient wie möglich laufen, da nur die tatsächlich benötigten Ressourcen genutzt und bezahlt werden und jeder Microservice individuell auf seinen Work-Load angepasst werden kann.

Flexibilität

Cloud Native Anwendungen sind durch den Einsatz von Containern unabhängig von Hardware und bieten daher eine gute Flexibilität. Durch diesen Ansatz können Änderungen einfacher und schneller vollzogen werden. Außerdem müssen Entwickler keine Rücksicht auf Eigenarten oder Inkompatibilität mit Hardware nehmen und können mehr Fokus auf die Anwendung selber legen. Die Integration von Microservices bringt ebenfalls viel Flexibilität mit, da jeder Service isoliert gewartet oder geändert und neue Features und Erweiterungen jederzeit als neuer Microservice in die Architektur eingebunden werden kann.

Verfügbarkeit

Die Infrastruktur einer Cloud Native Anwendung bietet weiterhin eine hohe Verfügbarkeit. Bei Updates oder Fehlern, die nur einen Teil der Anwendung oder einzelne Features betreffen, muss diese nicht komplett offline gehen, da die Microservices isoliert gewartet werden können. Die Anwendung ist zudem ausfallsicher, weil fehlerhafte Container-Instanzen automatisch neu bereitgestellt werden und aufgrund der Skalierbarkeit in jeder Marktlage verfügbar sind.

Effizienz

Durch alle bereits aufgeführten Vorteile und Features von Cloud Native Anwendungen kann sowohl der zeitliche Aufwand als auch die Kosten deutlich effizienter gestaltet werden. Eine gute Skalierbarkeit minimiert die Kosten im laufenden Betrieb, denn die Anwendung kann dynamisch verändert werden, wodurch zeitliche Einsparungen entstehen. Durch die zusätzliche Automatisierung mithilfe von CI/CD-Pipelines können auch Updates effizient bereitgestellt werden.

Best Practice

Grundsatz Beschreibung
Kostenmanagement Anwendung frühzeitig in Microservices aufteilen und für jeden Service die optimale Infrastruktur verwenden. Skalierungskonzepte mit entsprechendem Budget planen.
Effiziente Leistung Anforderungen an die Work-Loads der Anwendung effizient erfüllen. Dazu sollten immer wieder Leistungs- und Auslastungstests durchgeführt werden, um Schwachstellen frühzeitig zu erkennen. Um diese zu beheben, sollte primär auf horizontale Skalierung gesetzt werden, welche durch die zugrundeliegende Cloud realisiert werden kann.
Zuverlässigkeit Die Anwendung sollte so konzipiert sein, dass sie resilient gegen Ausfälle ist und sich schnell von diesen erholen kann. Um dies zu erreichen, sollten man auf potentielle Fehlerfälle vorbereitet sind und unter anderem durch Recovery Pläne definierte Aktionen haben.

Durch den Betrieb mittels Containern kann dies gut realisiert werden, wodurch eine hohe Verfügbarkeit erreicht werden kann.

Sicherheit Bei all den Aspekten, welche für einen Cloudbetrieb umgesetzt werden, sollte von Beginn an auch die Sicherheit der Anwendung gewährleistet und überwacht werden.

Referenzen

Auch bei doubleSlash wird das Cloud Native Konzept vielseitig eingesetzt und alle Vorteile umfangreich ausgeschöpft:

  • ZEISS Predictive Service | Referenzen | doubleSlash Net-Business GmbH
    • doubleSlash hat für die Carl Zeiss Microscopy GmbH ein Service Portal erstellt, mit dem Servicetechniker über eine Weboberfläche per Remote Desktop auf Maschinen weltweit zugreifen und direkt Auffälligkeiten analysieren, bewerten und beheben können
    • Dabei wurden viele Technologien und Aspekte von Cloud Native eingesetzt wie beispielsweise Docker Container und Continous Integration mit Azure DevOps Pipeline
  • ZF Cloudbasierte Simulation | ZF | Referenzen | doubleSlash Net-Business GmbH
    • In Kooperation mit der ZF Friedrichshafen AG hat doubleSlash eine Software zur cloudbasierten Simulation von autonomen Fahrzeugen entwickelt
    • Diese kann hochautomatisierte Simulationstests effizient ausführen und nutzt dazu Microservices, Docker und die Cloud-Plattform OpenShift, welche elastisch skaliert und sehr ressourceneffizient arbeitet.
  • Predictive Maintenance für Schienenfahrzeuge | ZF | Referenzen | doubleSlash Net-Business GmbH
    • Um den Verschleiß von Rad und Schienen im Schienenverkehr zu überwachen, hat doubleSlash für die ZF Friedrichshafen AG eine Cloud-Plattform konzeptioniert, welche die gesammelten Fahrzeugdaten autark importieren, analysieren und auswerten kann
    • Dazu wurde Microsoft Azure verwendet, um diverse Unterstützungsdienste dynamisch zu integrieren.

 

Co-Autor: Noah Pilchowski


Was ist cloudnativ? – Cloudnative Architektur erläutert – AWS (amazon.com)

Was ist cloudnativ? – .NET | Microsoft Learn

Was sind Cloud-native Anwendungen? | Oracle Deutschland

Die fünf Vorteile cloud-nativer Plattformen (optimal-systems.de)

Kunden | Referenzen | doubleSlash Net-Business GmbH

 

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*