Was ist Cloud-native Development?
Beim Cloud native Development werden Anwendungen mit „Cloud-Tools“ direkt in der Cloud entwickelt, getestet und ausgeführt.
Wodurch zeichnet sich Cloud-native Entwicklung und die daraus resultierenden Apps aus?
Cloud-native bezeichnet die Methodik Applikationen gesamtheitlich innerhalb der Cloud zu entwickeln und zu betreiben. Dabei stehen die Form und Art der Anwendung im Vordergrund. Der Entwicklungsort ist unerheblich und die Anwendungen werden portabel.
Entwickler nutzen dazu Container-Technologien, Microservices sowie agile Methoden und DevOps-Konzepte. Die Orchestrierung verbindet dann die verschiedenen Services und Applikationen flexibel miteinander und ist dabei im Gegensatz zur klassischen Anwendung unabhängig von der zugrunde liegenden Infrastruktur, zum Beispiel physischen Servern, Private oder Public Clouds. Die Anwendungsbereiche von Cloud-nativen Anwendungen sind dabei so vielseitig wie die Applikationen selbst.
Welche Besonderheiten Cloud-nativer Anwendungen Entwickler bei ihrer Erstellung stets im Hinterkopf behalten sollten:
Die Sammlung von unabhängigen und autonomen Diensten in einem Container lässt sich im Gegensatz zu virtuellen Maschinen schnell skalieren. Da sich die Skalierungseinheit auf den Container verlagert, also in wesentlich kleineren Schritten stattfinden kann, wird zudem die Infrastrukturnutzung optimiert.
Jeder Dienst einer Cloud-nativen Anwendung wird unter Verwendung der Sprache und des Frameworks entwickelt, die für die Funktionalität am besten geeignet ist. Die Dienste verwenden eine Vielzahl von Sprachen, Laufzeiten und Frameworks.
Die Microservices von Cloud-nativen Applikationen sind nur lose gekoppelt, so dass Entwickler jeden Dienst einzeln und unabhängig vom anderen bearbeiten und anpassen können. Mit dieser Entkopplung können sich Entwickler auf die Kernfunktionen jedes Dienstes konzentrieren und eine fein abgestimmte Funktionalität erzeugen. Dieser Ansatz führt zu einem effizienten Lifecycle-Management der gesamten Anwendung, da jeder Dienst unabhängig und mit klarer Ownership verwaltet wird.
Die Persistenz, also die Fähigkeit Daten oder logische Verbindungen über eine längere Zeit bereitzustellen, ist bei Cloud-nativen Anwendungen ein wichtiger Faktor. Zustandslose und zustandsbehaftete Dienste werden daher in der Cloud-nativen Entwicklung und Architektur unterschieden. Die zustandslosen Dienste gewährleisten eine höhere Verfügbarkeit und Ausfallsicherheit. Zustandslose Dienste existieren unabhängig von zustandsbehafteten Diensten. Diese Trennung wirkt sich auch auf den Speicher bei der Containernutzung aus.
Cloud-native Anwendungen haben keine Affinität zu einzelnen Systemen oder einem bestimmten Betriebssystem wie Windows oder Linux. Sie arbeiten auf einer höheren Abstraktionsebene und sind davon unabhängig. Doch es gibt auch Ausnahmen, zum Beispiel wenn ein Micoservice bestimmte Funktionen benötigt, die nicht alle Maschinen bereitstellen können. Dies kann eine leistungsfähige GPU oder SSD sein.
Cloud-native Anwendungen werden in einer virtuellen, gemeinsam genutzten und elastischen Infrastruktur bereitgestellt. Sie können sich flexibel an die zugrunde liegende Infrastruktur anpassen. Sie wachsen oder schrumpfen dynamisch und passen sich an die unterschiedlichen Lasten an.
Jeder Dienst einer Cloud-nativen Anwendung durchläuft einen unabhängigen Lebenszyklus. Diesen verwaltet ein agiler DevOps-Prozess. Dabei können mehrere CI/CD-Pipelines (Continuous Integration/Continuous Delivery) zusammenarbeiten, um eine Cloud-native Anwendung bereitzustellen und zu verwalten.
Cloud-native Anwendungen passen in das Konzept von Infrastruktur als Code und können stark automatisiert werden. Zudem ist immer ein gewisser Automatisierungsgrad erforderlich, um diese großen und komplexen Anwendungen einfach verwalten zu können.
Schließlich richten sich Cloud-native Anwendungen nach dem durch eine Reihe von Richtlinien definierten Governance-Modell aus. Sie halten sich an Richtlinien wie CPU- und Speicherkontingente sowie an Netzwerkrichtlinien, die den Diensten Ressourcen zuweisen. So kann die Unternehmens-IT beispielsweise Richtlinien definieren, um Ressourcen für jede Abteilung zuzuweisen.
Cloud-native Entwicklung geht stets mit agilen Methoden wie DevOps und CI/CD einher, was sich positiv auf die Releasezyklen auswirkt. Quelle: CNCF Survey
Viele Gründe sprechen für die Cloud-native Entwicklung. Zum Beispiel die Geschwindigkeit. Developer können Kundenanforderungen schneller umsetzen oder auf Marktveränderungen direkt reagieren. Zudem lassen sich die Systeme und Microservices ausfallsicher konzipieren und die Anwendungen sind unabhängig vom Betriebssystem oder der jeweiligen Cloud-Plattform.
Auch wenn Ihr Unternehmen nicht "in der Cloud geboren" ist, gibt es zahlreiche Stellschrauben, um Cloud-native zu werden. Erfahren Sie mehr und bewerten Sie den Reifegrad Ihrer Organisation anhand einer Matrix.
DAS KÖNNTE SIE AUCH INTERESSIEREN:
Beim Cloud native Development werden Anwendungen mit „Cloud-Tools“ direkt in der Cloud entwickelt, getestet und ausgeführt.
Cloud Hosting ist die technologische Basis von Cloud Computing. Dazu gehören sämtliche Infrastrukturkomponenten wie Netzwerk, Speicher und Server sowie die...
Welche Bedeutung haben Cloud-native Applications für Unternehmen, die im digitalen Zeitalter nach Wettbewerbsfähigkeit und Wachstum streben?
Bitte wählen Sie einen der unten stehenden Links, um zum gewünschten Portal zu gelangen.
Bei Fragen oder technischen Problemen wenden Sie sich bitte an Ihre gewohnten Ansprechpartner.
Für die Darstellung dieser Inhalte von YouTube benötigen wir Ihre Einwilligung. Wenn Sie die Inhalte aktivieren, werden Ihre Daten verarbeitet und es werden Cookies auf Ihrem Endgerät gespeichert sowie von diesem gelesen.
Weitere Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung für 30 Tage ( in einem Cookie) speichern