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.
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.
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.
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.
Unabhängig davon, ob eine neue cloudnative Anwendung entwickelt oder eine bestehende Anwendung modernisiert wird, halten sich die Entwickler an dieselben Grundsätze:
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.
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.
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.
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.
„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.
Ein vollständig verwalteter, mandantenfähiger Service für die Entwicklung und Bereitstellung von Java-Anwendungen.
Verwenden Sie DevOps-Software und -Tools, um cloudnative Anwendungen für mehrere Geräte und Umgebungen zu erstellen, bereitzustellen und zu verwalten.
Die Entwicklung von Cloud-Anwendungen bedeutet: einmal erstellen, schnell iterieren und überall bereitstellen.