Was ist Cloud-native?

Jetzt Artikel teilen:

Unter Cloud-native versteht man eine agile, konzeptionelle Methode, um Anwendungen vollständig in der Cloud zu entwickeln und zu betreiben.

Bei Cloud-native geht es darum, in welcher Form Anwendungen erstellt und bereitgestellt werden, nicht an welchem Ort. Entsprechend konzipierte Applikationen laufen nicht mehr in der On-premises-Welt, sondern von Anfang an in einer Cloud-Umgebung. Zum Einsatz kommen Container-Technologien und Microservices (technischer Part). Hinzu kommen agile Methoden und DevOps-Konzepte (Prozessstrategie).

Cloud-native - DevOps, Microservices, Container und Continuous Delivery

Quelle: Pivotal, https://pivotal.io/cloud-native

Das besondere an Cloud-native ist also das Zusammenspiel aller Beteiligten sowie die Applikationsentwicklung allein für die Cloud. Dabei arbeiten Entwickler (Developers=Dev) und Betrieb (Operations=Ops) von Beginn an eng zusammen (DevOps-Kultur), um gemeinsam optimale Lösungen für den Kunden zu liefern. Im ständigen Austausch und auf Basis einer gemeinsamen Ziel- und Wertvorstellung werden Produkte oder funktionsfähige Produkt-Feature über automatisierte Prozesse kontinuierlich ausgeliefert (Continuous Delivery). Entwickler können somit deutlich schneller als zuvor auf produktive Umgebungen deployen. Ermöglicht wird dieses Vorgehen durch eine komplett neue Architektur.

Skalierbare Anwendungen unabhängig betreiben

Die Definition der Cloud Native Computing Foundation (CNCF) lautet wie folgt: „Cloud native Technologien ermöglichen es Unternehmen, skalierbare Anwendungen in modernen, dynamischen Umgebungen zu implementieren und zu betreiben. Dies können öffentliche, private und Hybrid-Clouds sein. Best-Practises, wie Container, Service-Meshs, Microservices, immutable Infrastruktur und deklarative APIs unterstützen diesen Ansatz.“

Die zugrunde liegenden Techniken ermöglichen die Umsetzung von entkoppelten Systemen, die belastbar, handhabbar und beobachtbar sind. In Kombination mit einer stabilen Automatisierung können Software-Entwickler mit geringem Aufwand flexibel und schnell auf Änderungen reagieren. Die Ausführung dieser Anwendungen findet dabei auf einer containerisierten, dynamisch orchestrierten Plattform statt. Somit können Unternehmen die Vorteile des Cloud Computings voll ausschöpfen.

Cloud-native setzt auf Microservices

Der Cloud-native-Ansatz konzentriert sich auf das Erstellen von Anwendungen in Form von so genannten Microservices. Diese Microservices werden von Grund auf als unabhängig voneinander konzipiert und für die Cloud-Skalierung optimiert. Dadurch kann eine kontinuierliche Bereitstellung gewährleistet werden, die für bessere Performance, Zuverlässigkeit und schnellere Time-to-Market sorgt. Das übergeordnete und langfristige Ziel besteht darin, Geschwindigkeit, Skalierbarkeit und schließlich die Gewinnspanne zu verbessern. Im Fokus trägt der agile DevOps-Ansatz dazu bei, Risiken zu reduzieren. Denn es wird in kurzen Abständen entwickelt, getestet, verifiziert oder bei Bedarf korrigiert. Aus den einzelnen Microservices wiederum werden Bündel erstellt, die in (Docker-)Containern organisiert, in Kubernetes orchestriert und mit DevOps- und GitOps-Workflows gemanagt werden.

Bei traditionellen Applikationen sind Funktionen häufig in einer einzigen Applikation (Monolith) gebündelt. Wird ein Feature angepasst, ist die gesamte Applikation betroffen. Performance und Flexibilität leiden. Microservices hingegen erlauben es aufgrund ihrer leichtgewichtigen Architektur, flexibel und autark auf Änderungen einzugehen. Eine Anwendung besteht somit aus vielen kleinen Einzelkomponenten. Jede dieser Komponenten führt jeweils nur eine Funktion aus, z. B. Authentifizierung, Benachrichtigung oder Zahlungsverarbeitung. Somit lassen sich Updates und Änderungen an einer Funktion jederzeit ganz gezielt umsetzen, ohne dass die Entwickler das ganze System anfassen müssen.

Ein Microservice stellt immer genau einen Funktionsblock zur Verfügung, der in jeder Cloud-Umgebung funktioniert. Container wiederum ermöglichen es, diese Anwendungen in kleinen, kompakten Umgebungen isoliert darzustellen und dennoch auf einen gemeinsamen „Betriebssystemkern“ zuzugreifen. Der Vorteil von Containern: Sie verbrauchen deutlich weniger Ressourcen als virtuelle Maschinen und werden nahezu umgehend gestartet. Als sehr portabler Standard hat sich Docker in der Container-Technik etabliert.

Kultureller Wandel im Unternehmen: agil, schrittweise, reversibel

Die Art und Weise, wie Software-Entwicklung und -Deployment inzwischen erfolgen bzw. erfolgen kann, hat sich fundamental gewandelt. Was nicht mehr funktioniert, ist die jahre- oder jahrzehntelange Gewohnheit, in großen (Wasserfall-)Projekten zu denken und zu agieren. Das gelernte, tendenziell bedächtige und vorsichtige Vorgehen zur Risikovermeidung bedient der Cloud-native-Ansatz nicht. Es geht darum, durch kleine und reversible Schritte in kurzen Zeitabständen schneller in der Entwicklung voranzukommen. Der Umgang mit technischen Risiken erhält somit eine flexiblere Basis, um auf Markt- oder Kundenanforderungen zeitnah antworten zu können.

Cloud-native und traditionelle Applikationen im Vergleich

Der Hauptunterschied zwischen traditionellen und Cloud-native-Applikationen liegt in ihrer Architektur.

Cloud-native ApplikationenTraditionelle Applikationen
Vorhersagbar Unberechenbar
Stateless/shared stateSticky
unabhängig vom Betriebssystemabhängig vom Betriebssystem
Kapazität in der richtigen GrößeÜberkapazität
Kollaborativ Silo-Denken
Continuous DeliveryWasserfall
Automatisiertes SkalierenManuelle Skalierung
Schnelle Wiederherstellung/NeustartVMs werden nur langsam gestartet/wiederhergestellt

Schnell, ausfallsicher, autark

Die Vorteile von Cloud-nativen Applikationen ermöglichen es, skalierbare Anwendungen schneller zu entwickeln und zu aktualisieren. Fehlertolerant und responsiv können sie in jedem Cloud-Modell abgebildet werden, ob Private, Hybrid oder Public Cloud.

Die Top-3-Gründe für Cloud-native

  • Schneller als der Wettbewerb
    Applikationen werden speziell für die Cloud entwickelt: Kleine, unabhängige Feature/Funktionsblöcke lassen sich problemlos anpassen und verschieben. Kundenanforderungen können umgehend umgesetzt, auf Marktveränderungen kann direkt geantwortet werden.
  • Ausfallsichere Systeme und Microservices
    Ein Cloud-nativer Fokus hilft Entwicklern und Architekten, ausfallsichere Systeme zu entwerfen, die funktionsfähig und somit online bleiben, auch wenn es in der Umgebung zu Problemen kommt.
  • Anbieterunabhängig und flexibel
    Anwendungen laufen anbieterunabhängig auf jeder Cloud-Plattform. So kann ein Team Apps und Dienste genau dort auszuführen, wo es für das Unternehmen am sinnvollsten ist.

Ist ein Unternehmen von den langfristigen Vorteilen Cloud-nativer Applikationen überzeugt und möchte das entsprechende Know-how aufbauen, findet es Unterstützung in der unabhängigen Beratung durch einen Managed Cloud Service Provider wie PlusServer. Auf Basis einer intensiven, detaillierten Bestandsaufnahme werden Konzept und Strategie entwickelt, um alle Vorteile des Cloud-native-Ansatzes erfolgreich nutzen zu können.

Wettbewerbsvorteile sichern durch Container-Technologien

Wie wirken sich Cloud-native Applikationen, die in Containern entwickelt werden, tatsächlich auf die Wettbewerbsfähigkeit von Unternehmen aus? Lesen Sie mehr im Whitepaper

Jetzt kostenlos downloaden

Jetzt Artikel teilen:

Das könnte Sie auch interessieren