Suchen

Definition: Cloud-Architektur konsequent genutzt Was ist Cloud Native?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Florian Karlstetter

Bei Cloud Native handelt es sich um einen Ansatz, der sicherstellen soll, dass Anwendungen für die Cloud-Computing-Architektur konzipiert und entwickelt werden. Die Cloud-native-Anwendungen nutzen die von der Cloud bereitgestellten Services konsequent und basieren auf Microservices.

Cloud Native ist ein moderner Ansatz für speziell auf das Cloud Computing zugeschnittene Anwendungen.
Cloud Native ist ein moderner Ansatz für speziell auf das Cloud Computing zugeschnittene Anwendungen.
(Bild: gemeinfrei (geralt / pixabay) / CC0 )

Der Begriff Cloud Native wird im Zusammenhang mit speziell für das Cloud Computing konzipierten und entwickelten Anwendungen verwendet. Oft findet sich die Abkürzung NCA (Native Cloud Application) für diese Art von Anwendungen.

Ziel von Cloud Native ist es, die Besonderheiten der Cloud-Computing-Architektur zum Vorteil der Anwendungen zu nutzen und die Möglichkeiten von verteilten Cloud-Plattformen voll auszuschöpfen. Das Cloud-Computing-Framework setzt sich aus einer Vielzahl von einzelnen Microservices zusammen, die die für die Anwendungen benötigten Funktionen und Dienste bereitstellen.

Die Microservices sind lose gekoppelt und können auf unterschiedlichen Servern und an verschiedenen Standorten betrieben werden. Oft arbeiten sie völlig unabhängig voneinander und stellen nur eine einzige spezifische Funktion bereit. Schon bei der Planung von Cloud-native Applikationen ist von den Entwicklern zu berücksichtigen, dass die Ausführung der Anwendung nicht lokal erfolgt und verteilte Redundanzmechanismen bereitzustellen sind.

NCAs sind weder an eine bestimmte Hardware noch an spezifische Betriebssysteme gebunden. Sie lassen sich leicht skalieren und sind direkt nach Fertigstellung der Programmierung den Anwendern über die Cloud bereitzustellen. Der grundlegende Ansatz von Cloud Native beinhaltet ein verteiltes System von Microservices, das in Containern paketiert ist. Die einzelnen Microservices sind dynamisch auf den verschiedenen Knoten und Servern der zugrunde liegenden Cloud-Umgebung ausführbar. Der Cloud-native Ansatz kümmert sich hauptsächlich darum, wie Anwendungen zu entwickeln und bereitzustellen sind und nicht wo sie betrieben werden. Auch der Einsatz in privaten oder hybriden Cloud-Umgebungen wird neben den öffentlichen Cloud-Plattformen von den Cloud-native Anwendungen unterstützt. Dank der NCAs lassen sich Ideen und Lösungen schneller an den Markt und zum Anwender bringen.

Die wichtigsten Vorteile des Cloud-native-Ansatzes

Der Cloud-native-Ansatz bietet für die Entwicklung, den Betrieb und die Bereitstellung von Anwendungen viele Vorteile. Er gestattet Unternehmen eine hohe Flexibilität und Agilität. Die Applikationen sind von spezifischer Hardware und von bestimmten Betriebssystemen entkoppelt und lassen sich auf beliebige Cloud-Plattformen portieren. Dank einer schnelleren Reaktion auf Markt- und Kundenanforderungen ergeben sich erhebliche Wettbewerbsvorteile. Auch die Verfügbarkeit der Anwendungen und Services steigt durch den Cloud-native-Ansatz. Unabhängig davon, ob eine spezifische Hardware oder eine lokale IT-Infrastruktur zur Verfügung stehen, ist die Cloud-native Applikation an beliebigen Orten bereitstellbar.

Dank dem Cloud native Ansatz laufen die Applikationen ohne größere Anpassungen auf unterschiedlichen Private oder Public Cloud-Umgebungen verschiedener Serviceanbieter. Dies versetzt die Organisationen in die Lage, Cloud-Umgebung und -Anbieter so auszuwählen, dass das beste Preis-Leistungsverhältnis erzielt wird. Gleichzeitig binden sich Unternehmen nicht an einen bestimmten Provider und bleiben bei der Wahl ihrer zukünftigen Partner und Dienstleister frei. Ein weiterer Vorteil ergibt sich durch den hohen Grad der Automatisierung in der Bereitstellung von Cloud-native Applikationen. Das Risiko von menschlichen Bedien- und Konfigurationsfehlern lässt sich senken und die Verfügbarkeit der Services oder Anwendungen steigt.

Die typischen Merkmale von Cloud-native-Anwendungen

Cloud-native Anwendungen besitzen eine Reihe von typischen Merkmalen. Die Applikationen verhalten sich vorhersehbar und sind hoch automatisiert. Gleichzeitig besteht ein hoher Abstraktionsgrad zur Hardware und zu Betriebssystemen. Applikationen sind von der zugrunde liegenden Infrastruktur unabhängig. Gegenüber Anwendungen, die auf On-Premises-Equipment oder in herkömmlichen Serverumgebungen betrieben werden, ist die bereitgestellte Leistungsfähigkeit exakt an den aktuellem Bedarf angepasst und nicht überdimensioniert. Ressourcen werden dynamisch und in Echtzeit entsprechend den Anforderungen der Anwendungen zugewiesen. Anpassungen oder Veränderungen der Applikationen stehen den Anwendern direkt nach Implementierung des Codes zur Verfügung.

Ein Ausrollen von individuellen Updates mit einer damit eventuell verbundenen Downtime des Services ist überflüssig. Ein weiteres typisches Merkmal ist die Microservice-Architektur mit ihren lose gekoppelten Services. Diese werden im Bedarfsfall von kleinen, unabhängigen Entwicklerteams flexibel und ohne Auswirkungen auf andere Services verantwortet. Cloud-native Anwendungen zeichnen sich unter anderem dadurch aus, dass ein hoher Grad an automatisierter Skalierung besteht. Nicht Server, Rechenleistung, Netzwerke oder Speicherkapazität, sondern die Anwendungen und ihre Microservices selbst skalieren. Im Fall eines Service- oder Infrastrukturfehlers greifen flexible, verteilt arbeitende Recovery-Mechanismen.

Microservices und Container: grundlegende Bestandteile des Cloud-native-Ansatzes

Der Cloud-native Ansatz verfolgt das Konzept, Anwendungen zu entwickeln und bereitzustellen, die auf einer Sammlung von einzelnen kleinen Services basieren. Diese Services nennen sich Microservices und sind eine der wesentlichen Komponente des Cloud-Native-Modells. Jeder Microservice arbeitet für sich auf einer beliebigen Umgebung an einem beliebigen Ort und stellt eine spezifische Funktion zur Verfügung. Die Kommunikation findet über eine API oder Messaging-Protokolle statt.

Die Bereitstellung, das Skalieren, das Upgraden oder das Anhalten und Starten eines Microservices ist unabhängig von anderen Microservices möglich. Oft findet eine automatisierte Verwaltung der einzelnen Services statt. Microservices lassen sich wiederum in so genannte Container zusammenfassen. Im Vergleich zu beispielsweise einer virtuellen Maschine bieten Container mehr Effizienz und Geschwindigkeit. Gleichzeitig vereinfachen sie die Bereitstellung von vielen verschiedenen Microservices.

Die Cloud Native Computing Foundation (CNCF)

Die Vereinigung Cloud Native Computing Foundation (CNCF) unterstützt Unternehmen bei der Entwicklung von Cloud-native Applikationen und kanalisiert viele Einzelprojekte zu einem Cloud-native Stack. Der Stack gibt die Grundrichtung für Unternehmen auf dem Weg zu Cloud native Applikationen vor. Der CNCF gehören zahlreichen große und kleine Unternehmen an.

Der Verwaltungsrat der Cloud Native Computing Foundation setzt sich unter anderem aus Vertretern der Unternehmen Google, Docker, Cisco, CoreOS und Fujitsu zusammen. Zu den Mitgliedern der CNCF zählen auch Microsoft und IBM. Die CNCF ist ein Zweig der Linux Foundation und verwaltet zahlreiche Open-Source- und Cloud-Projekte. Darunter befindet sich beispielsweise Kubernetes, das ursprünglich von Google entwickelt wurde. Es handelt sich bei Kubernetes um ein Open-Source-System, mit dem sich Container-Anwendungen automatisiert bereitstellen, verwalten und skalieren lassen.

(ID:45003332)

Über den Autor