Blog-Übersicht > > Was ist Cloud native?

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

Cloud native einfach erklärt

Bei Cloud native geht es darum, in welcher Form Anwendungen erstellt und bereitgestellt werden. Entsprechend konzipierte Applikationen laufen nicht mehr in der klassischen Serverfarm im hauseigenen Rechenzentrum, sondern von Anfang an in einer Cloud-Umgebung. Es geht dabei um Container bzw. Kubernetes und Microservices als wesentliche Technologien und Architekturmodelle. Hinzu kommen agile Methoden und DevOps-Konzepte im Sinne einer Prozessstrategie.

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

Die Definition von Cloud-native beschreibt Anwendungen, die quasi in der Cloud geboren werden und umfasst eine Reihe von Technologien sowie Strategien. Bildquelle: Pivotal

 

Cloud native und DevOps

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 IT-Betrieb (Operations = Ops) von Beginn an eng zusammen (DevOps-Kultur), um gemeinsam optimale Lösungen zu liefern. Im ständigen Austausch und auf Basis einer gemeinsamen Ziel- und Wertvorstellung werden Produkte oder funktionsfähige Produkt-Features ü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.

 

Cloud native einfach und anschaulich erklärt im Video.

 

Wie ist Cloud-native genau definiert?

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 entkoppelter Systeme, 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.

 

Warum setzt Cloud native auf Microservices?

Der Cloud-native Ansatz konzentriert sich auf das Erstellen von Anwendungen in Form so genannter Microservices. Diese Microservices werden von Grunde auf als unabhängige Bestandteile einer Anwendung konzipiert und für die Cloud-Skalierung optimiert. Die Aufsplittung einer Anwendung in viele Teile ermöglicht eine kontinuierliche Bereitstellung, 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 man entwickelt in kurzen Abständen und testet, verifiziert oder korrigiert bei Bedarf. 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.

Microservices ersetzen Monolithen

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. 

Warum erfordert Cloud native einen kulturellen Wandel?

Die Art und Weise, wie Software-Entwicklung und Deployment inzwischen erfolgen bzw. erfolgen können, 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

Cloud-native Applikationen Traditionelle Applikationen
Vorhersagbar Unberechenbar
Stateless/shared state Sticky
unabhängig vom Betriebssystem abhängig vom Betriebssystem
Kapazität in der richtigen Größe Überkapazität
Kollaborativ Silo-Denken
Continuous Delivery Wasserfall
Automatisiertes Skalieren Manuelle Skalierung
Schnelle Wiederherstellung/ Neustart VMs werden nur langsam gestartet/ wiederhergestellt

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

Cloud native Vorteile: 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, Public oder Hybrid 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 native 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 ausfü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 Multi-Cloud Data 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.

Jetzt von plusserver beraten lassen

Jetzt Artikel teilen:

  •  
  •  
  •  
  •  
  •  

Jetzt Blog abonnieren



Mockup_Whitepaper_Cloud-native_DE_800x500

Der Weg zum Cloud-nativen Unternehmen

Im kostenfreien Whitepaper finden Sie einen Leitfaden, um den Reifegrad des eigenen Unternehmens zu bewerten und Maßnahmen abzuleiten.

Hallo, wie kann ich Ihnen helfen?