Was bedeutet cloudnativ?

Halbtotale des Rechenzentrums mit geöffneter Tür zum Serverschrank

Was bedeutet cloudnativ?

Cloudnativ bezieht sich weniger darauf, wo sich eine Anwendung befindet, und mehr darauf, wie sie aufgebaut und bereitgestellt wird. Eine cloudnative Anwendung besteht aus diskreten, wiederverwendbaren Komponenten, den sogenannten Microservices, die für die Integration in jede Cloud-Umgebung konzipiert sind.

  • Eine cloudnative Anwendung besteht aus diskreten, wiederverwendbaren Komponenten, die      für die Integration in jede Cloud-Umgebung konzipiert sind.

  • Diese Microservices dienen als Bausteine und sind oft in Containern untergebracht.

  • Microservices arbeiten als Ganzes zusammen, um eine Anwendung zu bilden, können jedoch jeweils unabhängig skaliert, kontinuierlich verbessert und durch Automatisierungsprozesse schnell iteriert werden.

  • Die Flexibilität jedes Microservice trägt zur Agilität und kontinuierlichen Verbesserung von cloudnativen Anwendungen bei.
Luftaufnahme einer Autobahn

Bleiben Sie in der Cloud

Abonnieren Sie den wöchentlichen Think-Newsletter und erhalten Sie Tipps von Experten zur Optimierung von Multi-Cloud-Einstellungen in Zeiten von KI.

Microservices und Container

Microservices (auch Microservice-Architektur genannt) ist ein architektonischer Ansatz, bei dem eine einzelne Anwendung aus vielen kleineren, lose gekoppelten und unabhängig voneinander einsetzbaren Komponenten oder Diensten besteht. Diese Dienste (auch Microservices genannt) verfügen in der Regel über einen eigenen Technologie-Stack, einschließlich Datenbank und Datenmodell. Sie kommunizieren über eine Kombination aus REST-APIs, Event Streaming und Message Brokern miteinander.

Weil Microservices unabhängig voneinander bereitgestellt und erneut bereitgestellt werden können, ohne sich gegenseitig zu beeinträchtigen oder die Endbenutzererfahrung zu stören. Sie sind die perfekte Ergänzung zu automatisierten, iterativen Bereitstellungs- und Integrationsmethoden wie fortlaufende Integration/fortlaufende Bereitstellung (CI/CD) oder DevOps.

Microservices können nicht nur zur Erstellung völlig neuer cloudnativer Anwendungen eingesetzt werden, sondern können auch zur Modernisierung traditioneller monolithischer Anwendungen eingesetzt werden.

In einer IBM Befragung von über IT-Führungskräften, Führungskräften und Entwicklern stimmten 87 % der Microservice-Anwender zu, dass die Einführung von Microservices die Kosten und den Aufwand wert sei.

Entwickler stellen Microservices häufig in Containern bereit leichte, ausführbare Anwendungskomponenten, die den Quellcode (in diesem Fall den Microservice-Code) mit allen Betriebssystembibliotheken und Abhängigkeiten kombinieren, die für die Ausführung des Codes in der Umgebung erforderlich sind. Container sind kleiner, ressourceneffizienter und portabler als virtuelle Maschinen (VMs) und die De-facto-Recheneinheiten moderner cloudnative Anwendungen.

Container verstärken den Nutzen von Microservices, indem sie eine konsistente Bereitstellung und Verwaltung in einer hybriden Multicloud-Umgebung ermöglichen –Cloud, Cloud Private und lokale Infrastruktur. Doch mit der Zunahme von cloudnativen Anwendungen steigen auch die Container und die Komplexität ihrer Verwaltung. Die meisten Unternehmen, die containerisierte Microservices verwenden, nutzen auch eine Container-Orchestrierungsplattform, wie z. B. Kubernetes, um die Container-Bereitstellung und -verwaltung in großem Maßstab zu automatisieren.

Anwendungsentwicklung

Steigen Sie ein: Entwicklung von Enterprise-Anwendungen in der Cloud

In diesem Video erläutert Dr. Peter Haumer, wie die moderne Entwicklung von Unternehmensanwendungen in der Hybrid Cloud heute aussieht, indem er verschiedene Komponenten und Praktiken demonstriert, darunter IBM Z Open Editor, IBM Wazi und Zowe. 

Vorteile und Nachteile

IBM Kunden finden sich zunehmend damit beauftragt, bestehende Anwendungen zu verbessern, neue Anwendungen zu entwickeln und die Erfahrung zu verbessern. Cloudnative Anwendungen erfüllen diese Anforderungen, indem sie die Leistung, Flexibilität und Erweiterbarkeit der App verbessern.

Vorteile

  • Im Vergleich zu herkömmlichen monolithischen Apps lassen sich cloudnative Anwendungen einfacher verwalten, da durch den Einsatz von flexiblen und DevOps-Prozessen iterative Verbesserungen erzielt werden.

  • Cloudnative Anwendungen, die aus einzelnen Microservices bestehen, können inkrementell und automatisch verbessert werden, um kontinuierlich neue und verbesserte Anwendungsfeatures hinzuzufügen.

  • Verbesserungen können ohne Beeinträchtigung vorgenommen werden, was zu keiner Ausfallzeit oder Störung der Endbenutzererfahrung führt.

  • Mit der elastischen Infrastruktur, die cloudnative Apps unterstützt, ist eine Skalierung nach oben oder unten einfacher.

  • Der cloudnative Entwicklungsprozess entspricht eher der Geschwindigkeit und der Innovation, die in der heutigen Geschäftsumgebung erforderlich sind.

Nachteile

  • Obwohl Microservices einen iterativen Ansatz zur Anwendungsverbesserung ermöglichen, machen sie es auch erforderlich, mehr Elemente zu verwalten. Anstelle einer großen Anwendung müssen nun viel kleinere, diskrete Dienste verwaltet werden.

  • Cloudnative Apps erfordern zusätzliche Toolsets, um die DevOps-Pipeline zu verwalten, traditionelle Überwachungsstrukturen zu ersetzen und die Microservices zu steuern.

  • Cloudnative Anwendungen ermöglichen eine schnelle Entwicklung und Bereitstellung, erfordern aber auch eine Unternehmenskultur, die mit dem Tempo dieser Innovation Schritt halten kann.

Anwendungsbeispiele

Cloudnative Anwendungen haben oft spezifische Funktionen. Überlegen Sie, wie cloudnative Anwendungen auf einer Reise-Website eingesetzt werden könnten. Jedes Thema, das auf der Website behandelt wird – Flüge, Hotels, Autos, Sonderangebote – ist ein eigener Microservice. Jeder Microservice kann unabhängig von den anderen Microservices neue Funktionen einführen. Angebote und Rabatte können auch unabhängig voneinander skaliert werden. Während die Reise-Website den Kunden als Ganzes präsentiert wird, bleibt jeder Microservice unabhängig und kann bei Bedarf skaliert oder aktualisiert werden, ohne dass dies Auswirkungen auf andere Services hat.

IBM Cloud Garage bietet IBM Kunden Beratungskompetenz, um schnell skalierbare, innovative cloudnativ Apps schnell zu entwickeln. Sie bietet eine Innovation, in der Unternehmen jeder Größe Apps entwerfen und bauen können, die reale Geschäftsanforderungen erfüllen.

Entwicklungsprinzipien

Unabhängig davon, ob eine neue cloudnative Anwendung entwickelt oder eine bestehende Anwendung modernisiert wird, halten sich die Entwickler an dieselben Grundsätze:

  • Verfolgen Sie den architektonischen Ansatz von Microservices: Brechen Sie Anwendungen in einzelne Dienste auf, die als Microservices bezeichnet werden. Microservices sind lose miteinander verbunden, bleiben aber unabhängig, sodass eine Anwendung schrittweise, automatisiert und kontinuierlich verbessert werden kann, ohne dass es zu Ausfallzeiten kommt.

  • Verlassen Sie sich auf Container für maximale Flexibilität und Skalierbarkeit: Container packen Software mit ihrem gesamten Code und ihren Abhängigkeiten an einem Ort, sodass die Software überall ausgeführt werden kann. Dies ermöglicht maximale Flexibilität und Portierbarkeit in einer Multicloud-Umgebung. Container ermöglichen auch eine schnelle Skalierung nach oben oder unten mit Kubernetes-Orchestrierungsrichtlinien, die vom Benutzer definiert werden.

  • Nutzen Sie flexible Methoden: Flexible Methoden beschleunigen den Erstellungs- und Verbesserungsprozess. Entwickler können Updates auf der Grundlage des Feedbacks schnell iterieren, sodass die funktionierende Anwendung den Erwartungen der Endbenutzer so nahe wie möglich entspricht.

Speicher

Cloudnative Anwendungen basieren häufig auf Containern. Der Reiz von Containern besteht darin, dass sie flexibel, leicht und portabel sind. Die frühe Nutzung von Containern konzentrierte sich in der Regel auf zustandslose Anwendungen, die keine Notwendigkeit hatten, Benutzerdaten von einer Benutzersitzung zur nächsten zu speichern.

Da jedoch immer mehr Kerngeschäftfunktionen in die Cloud verlagert werden, muss das Problem der persistenten Speicherung in einer cloudnativen Umgebung angegangen werden. Daher müssen Entwickler neue Ansätze für Cloud-Speicher finden.

Genauso wie die Entwicklung cloudnativer Anwendungen einen Microservice- und modularen Ansatz verfolgt, muss dies auch für cloudnative Speicher der Fall sein. Cloudnative Daten können sich an beliebig vielen Orten befinden, z. B. in Ereignis- oder Systemprotokollen, relationalen Datenbanken und Dokumenten- oder Objektspeichern.

Speicherort, Aufbewahrungsanforderungen, Portabilität, Plattformkompatibilität und Sicherheit sind nur einige der Aspekte, die Entwickler bei der Planung von cloudnativer Speicherung berücksichtigen müssen.

Cloudnative Anwendungen im Vergleich zu traditionellen Anwendungen

Cloudnativ im Vergleich zu cloudfähig

Eine cloudfähige Anwendung ist eine Anwendung, die für die Bereitstellung in einem herkömmlichen Rechenzentrum entwickelt wurde, aber später so geändert wurde, dass sie auch in einer Cloud ausgeführt werden kann. Cloudnative Anwendungen sind jedoch so konzipiert, dass sie nur in der Cloud laufen. Entwickler entwerfen cloudnative Anwendungen, die skalierbar, plattformunabhängig und aus Microservices bestehen.

Cloudnativ im Vergleich zu cloudbereit

In der kurzen Geschichte von Cloud Computing hat sich die Bedeutung von „cloud ready“ mehrmals verändert. Ursprünglich wurde der Begriff für Dienste oder Software verwendet, die für den Betrieb über das Internet konzipiert sind. Heutzutage wird der Begriff häufiger zur Beschreibung einer Anwendung verwendet, die in einer Cloud-Umgebung arbeitet, oder einer herkömmlichen Anwendung, die für eine Cloud-Umgebung neu konfiguriert wurde. Der Begriff „cloudnativ“ hat eine kürzere Geschichte und bezieht sich auf eine Anwendung, die von Anfang an so entwickelt wurde, dass sie nur in der Cloud funktioniert. Und die Vorteile der Cloud-Architektur oder einer bestehenden App zu profitieren, die mit cloudnativen Prinzipien überarbeitet und neu konfiguriert wurde.

Cloudnativ im Vergleich zu cloudbasiert

Eine cloudbasierte Dienstleistung oder Anwendung wird über das Internet bereitgestellt. Es ist ein allgemeiner Begriff, der freizügig auf eine beliebige Anzahl von Cloud-Angeboten angewendet werden kann. Cloudnativ ist ein spezifischerer Begriff. Cloudnativ beschreibt Anwendungen, die für die Arbeit in Cloud-Umgebungen konzipiert sind. Der Begriff bezeichnet Anwendungen, die auf Microservices, kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) basieren und über jede Cloud-Plattform genutzt werden können.

Cloudnativ im Vergleich zu Cloud First

„Cloud first“ beschreibt eine Geschäftsstrategie, bei der sich Unternehmen verpflichten, Cloud-Ressourcen als erstes zu nutzen, wenn neue IT-Services eingeführt, bestehende Services aktualisiert oder alte Technologien ersetzt werden. Kosteneinsparungen und betriebliche Effizienz treiben diese Strategie voran. Cloudnative Anwendungen lassen sich gut mit einer Cloud-first-Strategie kombinieren, da sie nur Cloudressourcen verwenden und so konzipiert sind, dass sie die vorteilhaften Eigenschaften der Cloudarchitektur nutzen.

Weiterführende Lösungen
IBM Enterprise Application Service für Java

Ein vollständig verwalteter, mandantenfähiger Service für die Entwicklung und Bereitstellung von Java-Anwendungen.

Java-Apps erkunden
DevOps-Lösungen

Verwenden Sie DevOps-Software und -Tools, um cloudnative Anwendungen für mehrere Geräte und Umgebungen zu erstellen, bereitzustellen und zu verwalten.

DevOps-Lösungen erkunden
Services für die Entwicklung von Unternehmensanwendungen

Die Entwicklung von Cloud-Anwendungen bedeutet: einmal erstellen, schnell iterieren und überall bereitstellen.

Services für die Anwendungsentwicklung
Machen Sie den nächsten Schritt

IBM Cloud Application Development Consulting Services bieten fachkundige Beratung und innovative Lösungen zur Optimierung Ihrer Cloud-Strategie. Arbeiten Sie mit den Cloud- und Entwicklungsexperten von IBM zusammen, um Ihre Anwendungen zu modernisieren, skalieren und beschleunigen und so transformative Ergebnisse für Ihr Unternehmen zu erzielen.

Mehr zu Services zur Anwendungsentwicklung Erste kostenlose Schritte beim Erstellen auf IBM Cloud