USU Software AG

01/26/2022 | News release | Distributed by Public on 01/26/2022 06:10

Cloud Native Computing

26.01.2022 |

Für den Begriff "Cloud Native" besteht aktuell keine standardisierte Definition. Generell wird damit ein Software-Entwicklungs-Ansatz für Cloud-Applikationen beschrieben. Im Folgenden werden daher einige wichtige Aspekte näher herausgestellt und interpretiert.

Themen und Eigenschaften von Cloud Native

Die Grundidee von "Cloud Native" ist, Anwendungen so zu designen, dass diese sich sehr gut ("natürlich") und erfolgreich in der Cloud betreiben lassen. Die Zertifizierungsstelle iSAQB / CPSA definiert den Begriff wie folgt: "Applications adopting the principles of Microservices, packaged and delivered as Containers, orchestrated by Platforms, running on top of Cloud infrastructure."
Eine Cloud Native App wird auch kaum ohne die Themen Devops, CI/CD, Microservices und Container auskommen.

Abb.1: Die 4 Säulen von Cloud Native (Quelle: Pivotal)

Einige weitere Eigenschaften beschreiben die folgenden Punkte:

Abb. 2: Die wichtigsten Attribute von Cloud Native (Quelle: CLOUDINFRA)

Die 12-Faktor App

Einige hilfreiche Anhaltspunkte zur Implementierung einer Anwendung, die gemäß den oben genannten Beschreibungen als "Cloud Native" gelten soll, findet man unter https://12factor.net/de/. Die dort genannten Faktoren und deren Erläuterungen beschreiben die wesentlichen Eckpfeiler einer Cloud Native/SaaS Anwendung. Im Sinne der individuellen Cloud Native Journey besteht natürlich keine Pflicht, jeden einzelnen Faktor strikt umsetzen zu müssen. Aus praktischer Sicht gilt es zunächst, die Bausteine herauszusuchen, die den Anforderungen und Qualitätszielen der eigenen Anwendung am ehesten entsprechen. Eine 12-Faktor App ist nicht unbedingt Cloud Native, bietet aber beste Voraussetzungen, um es zu werden.
▪ I. Codebase: Eine im Versionsmanagementsystem verwaltete Codebase, viele Deployments
▪ II. Abhängigkeiten: Abhängigkeiten explizit deklarieren und isolieren
▪ III. Konfiguration: Die Konfiguration in Umgebungsvariablen ablegen
▪ IV. Unterstützende Dienste: Unterstützende Dienste als angehängte Ressourcen behandeln
▪ V. Build, release, run: Build- und Run-Phase strikt trennen
▪ VI. Prozesse: Die App als einen oder mehrere Prozesse ausführen
▪ VII. Bindung an Ports: Dienste durch das Binden von Ports exportieren
▪ VIII. Nebenläufigkeit: Mit dem Prozess-Modell skalieren
▪ IX. Einweggebrauch: Robuster mit schnellem Start und problemlosen Stopp
▪ X. Dev-Prod-Vergleichbarkeit: Entwicklung, Staging und Produktion so ähnlich wie möglich halten
▪ XI. Logs: Logs als Strom von Ereignissen behandeln
▪ XII. Admin-Prozesse: Admin/Management-Aufgaben als einmalige Vorgänge behandeln

Was ist die Cloud Native Journey?

Die Cloud Native Journey beschreibt den Prozess hin zur Entwicklung und Bereitstellung von Cloud Native Apps. Je nach Ausgangslage und bisher gesammelten Erfahrungen wird dieser Prozess stark individuell sein und sich an den entsprechenden Rahmenbedingungen und Anforderungen orientieren. Das folgende Bild zeigt, wie unterschiedlich eine solche Cloud Native Journey verlaufen kann.

Abb. 3: Beispielhafte Schritte für die Cloud Native Journey (Quelle: CLOUDINFRA)

Cloud Native Maturity Model

Um den Weg der Cloud Native Journey etwas zu veranschaulichen, kann man sich auch an diesem Reifegradmodell orientieren.

Abb. 4: Reifegradmodell (Quelle: Pivotal)

Cloud Native Trail und Landscape

Die Ressourcen der CNCF (Cloud Native Computing Foundation) sind ebenfalls ein sehr guter Startpunkt und finden sich hier:

Share article:

André Biegel

André gehört seit 2011 zum Bereich USU Digital Solutions. Als Consultant, Architekt oder Projektleiter begleitet André mit seiner langjährigen IT-Expertise anspruchsvolle Digitalisierungsprojekte für Kunden des Öffentlichen Sektors und der Industrie.