Cloud-enabled heißt nicht Cloud-native

Die 4 Kernelemente Cloud-nativer Entwicklung

Matthias Kranz

© Shutterstock / phloxii

Die Begriffe Cloud, Cloud-enabled und Cloud-native sind nicht gleichzusetzen, die Unterschiede sind vielmehr gravierend. Das volle Potenzial der Cloud kann ein Unternehmen nur dann optimal ausschöpfen, wenn die Entwicklung und der Betrieb von Anwendungen Cloud-native erfolgt. Was Cloud-native und was Cloud-enabled ist, erklärt Matthias Kranz, Director Solution Architects Germany bei Red Hat, in diesem Artikel.

Klar sollte sein, dass das Substantiv Cloud nur den Ort für das Deployment von Hardware und Software beschreibt, etwa für Server, Storage, Datenbanken und alle denkbaren Arten von Applikationen und Services. Der Begriff Cloud-enabled wiederum bedeutet lediglich, dass traditionell entwickelte Applikationen für den Betrieb in der Cloud adaptiert werden.

Eine Cloud-enabled-Anwendung ist folglich eine Anwendung, die in die Cloud verlagert wurde, aber ursprünglich für den Einsatz in einem traditionellen Rechenzentrum entwickelt ist; dabei handelt es sich typischerweise um Legacy- und Enterprise-Software. Für die Verlagerung ist es erforderlich, einige Charakteristiken der Applikation zu ändern oder für die Cloud anzupassen. Eine gängige Methode für die Cloud-Migration ist dabei das „Lift and Shift“-Verfahren.

Eine Cloud-native-Anwendung ist im Gegensatz zu einer Cloud-enabled-Anwendung bereits in ihrem Design mit den Cloud-Prinzipien der Mandantenfähigkeit, der elastischen Skalierung und der einfachen Integration und Verwaltung konzipiert. Das heißt, das Adjektiv Cloud-native beschreibt einen Ansatz für die Entwicklung und den Betrieb von Applikationen, der die Vorteile des Cloud-Computing-Modells nutzt, etwa im Hinblick auf Agilität und Automation.

Trotz des Namens bezieht sich Cloud-native keineswegs auf den Ort des Applikations-Deployments, sondern auf die Art und Weise, wie Applikationen konzipiert, bereitgestellt und verwaltet werden. Cloud-native bedeutet also nicht, dass der Betrieb von Applikationen unbedingt in der Cloud erfolgen muss, auch ein On-Premise-Einsatz ist möglich. Ziel des Cloud-nativen Konzepts ist die Steigerung von Geschwindigkeit, Flexibilität und Qualität bei der Applikationsentwicklung unter gleichzeitiger Reduzierung der Risiken.


Die vier Prinzipien der Entwicklung und Bereitstellung Cloud-nativer Anwendungen. (Quelle: Red Hat)

Die 4 Kernelemente einer Cloud-nativen Entwicklung

Die Cloud-nativen Entwicklungen charakterisieren im Wesentlichen vier Punkte: Service-basierte Architektur, API-basierte Kommunikation, Container-basierte Infrastruktur und DevOps-Prozesse.

  • Service-basierte Architekturen wie Microservices unterstützen den Aufbau modularer, lose gekoppelter Dienste. Und modulare Architekturansätze – etwa Miniservices – ermöglichen Unternehmen eine Beschleunigung der Anwendungserstellung, ohne dass dabei die Komplexität steigt.
  • Die Services werden über Technologie-agnostische APIs bereitgestellt, die die Komplexität und den Aufwand beim Deployment sowie bei der Skalierung und Wartung reduzieren. Das API-basierte Design ermöglicht nur die Kommunikation per Service-Interface-Aufrufen über das Netzwerk, sodass die Risiken von direkten Verknüpfungen, Shared-Memory-Modellen oder direkten Lesezugriffen auf den Datenspeicher eines anderen Teams vermieden werden.
  • Cloud-native Anwendungen basieren auf Containern, die ein einheitliches Betriebsmodell für beliebige Technologieumgebungen bieten und damit echte Anwendungsportabilität unterstützen, etwa im Hinblick auf Public, Private und Hybrid Cloud. Die Containertechnologie nutzt die Virtualisierungsfunktionen des Betriebssystems, um die verfügbaren Rechenressourcen auf mehrere Anwendungen aufzuteilen und um gleichzeitig zu gewährleisten, dass die Anwendungen sicher und voneinander isoliert sind. Cloud-native Anwendungen skalieren zudem horizontal, sodass weitere Anwendungsinstanzen einfach hinzugefügt werden können. Durch den geringen Overhead und die hohe Dichte können zahlreiche Container innerhalb derselben virtuellen Maschine oder desselben physischen Servers gehostet werden.
  • Die Anwendungsentwicklung für Cloud-native Ansätze basiert auf agilen Methoden mit Continuous-Delivery- und DevOps-Prinzipien, die auf die kollaborative Erstellung und Bereitstellung von Anwendungen durch Teams aus Entwicklung, Qualitätssicherung, IT-Sicherheit und IT-Betrieb abzielen.

Unternehmen, die nur auf Cloud Computing setzen, können zwar die Skalierbarkeit und Verfügbarkeit ihrer Applikationen verbessern, etwa durch eine bedarfsorientierte Ressourcenbereitstellung. Um aber die Cloud-Vorteile vollständig ausschöpfen zu können, sind auch Cloud-native Infrastrukturen und Prozesse erforderlich. Sie bieten eine schnelle Entwicklung und Aktualisierung von Anwendungen bei gleichzeitiger Verbesserung der Qualität und Minderung von Risiken.

Geschrieben von
Matthias Kranz

Matthias Kranz ist Director Solution Architects Germany bei Red Hat.

Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: