,

Was ist Cloud-native? – Die Muttersprache der Cloud

Was ist Cloud-native? – Die Muttersprache der Cloud

Im Zeitalter der Digitalen Transformation umschwirren uns unzählige neue Buzzwords. Bei „Cloud-Native“ sprechen wir dabei keineswegs von einer weiteren Etage auf dem Turm zu Babel, sondern vielmehr von einem essentiellen Bestandteil der Digitalisierung, nämlich der Muttersprache der Cloud.

Während in Sachen Cloud Computing IaaS und Cloud-Hosting auf der Agenda der Unternehmen bereits fest etabliert sind, sprechen erst wenige die Muttersprache der Cloud. Das Lift-and-Shift von On Premises-Anwendungen in die Cloud ist zwar vielerorts bereits Realität geworden – die wahren Vorteile der Cloud finden sich allerdings eine Etage höher – im Design der Anwendungen nach Cloud Native-Prinzipien.   

Was ist eine Cloud-native Applikation?

"Eine Cloud-native Applikation ist ein verteiltes, elastisches und horizontal skalierbares Softwaresystem, welches aus serviceorientierten Komponenten (Diensten) besteht, die Zustände in einem Minimum an zustandsbehafteten Komponenten isolieren. Die Applikation und ihre Komponenten werden gemäß Cloud-spezifischer Entwurfsmuster entworfen und auf einer elastischen Plattform betrieben."

(N. Kratzke, P.-C. Quint, Understanding Cloud-native Applications after 10 Years of Cloud Computing, Journal of Software and Systems, 2017)

Ziel des Cloud nativen Softwaredesigns ist es, die Vorteile und Besonderheiten von Softwarearchitekturen in der Cloud bestmöglich auszunutzen sowie die Möglichkeiten von verteilten Cloud-Plattformen durch die Nutzung von Pattern und vorhandenen Diensten voll auszuschöpfen.

Warum Cloud-native und was steckt dahinter?

Die Vorteile liegen auf der Hand:

  • Ideen und Lösungen lassen sich deutlich schneller in den Markt und zum Anwender bringen.
  • Der Aufwand bei der Entwicklung reduziert sich drastisch durch die Nutzung von SaaS und PaaS.
  • Serverless-Technologien sparen (bei richtiger Anwendung) Kosten gegenüber einer klassischen Anwendungsarchitektur.

Cloud-native Applikationen oder auch Native Cloud Applications (NCA) sind „in der Cloud geboren“. Das bedeutet, dass sie ausschließlich für die Cloud-Architektur konzipiert und entwickelt werden. Bereits existierende Services (in Form von PaaS-oder SaaS-Diensten), sowie neu entwickelte (Micro-)Services werden konsequent eingesetzt.

Anforderungen aus den Fachabteilungen lassen sich mit weniger Programmieraufwand umsetzen, was teilweise dazu führt, dass Lösungen – getrieben von den Geschäftsanforderungen – an den IT-Abteilungen „vorbeientwickelt“ werden.

Microservices

Cloud-native Applikationen sind weder an eine bestimmte Hardware noch an spezifische Betriebssysteme gebunden. Ihre Basis bilden eine Vielzahl von Microservices, welche die für die Anwendungen benötigten Funktionen und Dienste bereitstellen. Hierbei können sowohl selbst entwickelte Microservices sowie bestehende SaaS- und PaaS-Dienste der Public Cloud Provider genutzt werden. Der Werkzeugkasten, aus dem Entwickler schöpfen können, ist bereits sehr mächtig und wächst stetig weiter. In der ersten Aprilhälfte sind allein in Azure fünf Dienste hinzugekommen.

Die einzelnen Komponenten werden durch eine lose Kopplung verbunden. Es wird damit möglich, sie auf unterschiedlichen Servern und an verschiedenen Standorten zu betreiben. (Eine Distribution von Services über mehrere Regionen oder Cloud Anbieter hinweg will jedoch gründlich überlegt sein, da z.B. die Latenzen deutlich steigen können.) Jeder Microservice stellt nur eine einzige spezifische Funktion bereit und arbeitet dabei völlig unabhängig. Er kann autonom von anderen Komponenten jederzeit aktualisiert oder erweitert werden.

Auch der Einsatz in privaten oder hybriden Cloud-Umgebungen wird neben den öffentlichen Cloud-Plattformen von den Cloud native-Anwendungen unterstützt.

Skalierbarkeit und Kostenvorteile

Wer nach Cloud Native-Prinzipien arbeitet, profitiert davon, dass sich die Applikationen leicht skalieren lassen.

Und wenn niemand die Anwendung nutzt? Dank des Abrechnungsmodells von Serverless-Diensten fallen keine Kosten an.

Laut einer crisp-Studie zu den Wettbewerbsvorteilen von Cloud Native-Architekturen  ergeben sich die prägnanten Vorteile bei Kosten- und Geschwindigkeit vor allem durch den Einsatz von Serverless- und PaaS-Technologien. Es entfallen z.B. Webserver mit ihren durchlaufenden Kosten; Neue Features in genutzten XaaS-Diensten werden direkt in die eigene Anwendung integriert.

Übung macht den Meister

Der Cloud-native Gedanke ist eine Transformation, die in jedem Unternehmen andere Herausforderungen mit sich bringt. Für die Muttersprache der Cloud bedarf es – wie bei anderen Sprachen auch – einiger Übung.

Kulturelle Änderungen im Unternehmen sind von essentieller Bedeutung für den Erfolg bei der Entwicklung von Cloud-nativen Applikationen. Kurze Wege, Agilität und eine gemeinsame Sprache tragen dann zum Erfolg bei.

Spürbare Vorteile lassen sich bereits bei der Nutzung nur eines der aufgeführten Punkte erkennen. Schafft man sogar die Kombination mehrerer – technischer und kultureller – Aspekte wird die moderne Applikationsentwicklung im Cloud-native Stil ihr volles Potential entfalten.


Über den Autor des Beitrags:

René Hézser

 

 

 

Leave a reply

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