Was bedeutet cloudnativ?

Cloudnativ bezieht sich meist auf Software, die von vornherein mit dem Ziel entwickelt wurde, die Vorteile einer Cloud-Computing-Infrastruktur zu nutzen: Flexibilität, Skalierbarkeit, Resilienz und Elastizität. Applikationen, die für die Cloud entwickelt sind, bieten neue und bessere Kundenerlebnisse, Schnelligkeit, geringere Kosten und eine einfachere Verwaltung.

Der Begriff „cloudnativ“ wird auf zweierlei Weisen verwendet. Zum einen beschreibt er den Ansatz, mit dem Softwareapplikationen speziell für die Cloud-Architektur entwickelt werden. Dabei kann er sich auf die Tools, Technologien und Techniken beziehen, die für die Erstellung von cloudnativer Software verwendet werden und die sich von den Tools und Ansätzen für die Erstellung von Legacy-Software unterscheiden. Darüber hinaus beschreibt der Begriff „cloudnativ“ aber auch die Eigenschaften dieser Applikationen und Dienste, die oft als „cloudnative Apps“ bezeichnet werden. Dabei geht es nicht nur um die Frage, wo die Applikationen bereitgestellt werden, sondern auch darum, wie sie entwickelt werden.

Cloudnative Applikationen sind so konzipiert, dass sie lose gekoppelt sind, für Performance in der Cloud optimiert sind und verwaltete Dienste von Cloud-Anbietern favorisieren. Sie werden entsprechend einer Continuous-Delivery-Methode entwickelt. Die kontinuierliche Bereitstellung innovativer Ideen, Erlebnisse und Verbesserungen der Software zielt darauf ab, Wettbewerbsvorteile durch Schnelligkeit und verbesserte Kundenerlebnisse zu erzielen.

Unternehmen wie Netflix, Uber und Airbnb sind Beispiele für Unternehmen, die in der Cloud geboren sind. Es handelt sich um Cloud-Service-Unternehmen, die nicht auf Legacy-Systemen aufbauen, sondern speziell entwickelt wurden, um die Vorteile der modernen Cloud-Infrastruktur auszuschöpfen.

Die Definition der Cloud Native Computing Foundation

Die Cloud Native Computing Foundation (CNCF), Teil der gemeinnützigen Linux Foundation, stellt wichtige Komponenten der globalen Technologie-Infrastruktur bereit. Ihre Definition des Begriffs „cloudnativ“ ist eher technisch ausgerichtet:

„Cloudnative Technologie ermöglicht es Unternehmen, skalierbare Applikationen in modernen, dynamischen Umgebungen wie öffentlichen, privaten und hybriden Clouds zu erstellen und auszuführen. Container, Service Meshes, Microservices, unveränderliche Infrastruktur und deklarative APIs sind Beispiele für diesen Ansatz. Die entsprechenden Verfahren ermöglichen lose gekoppelte Systeme, die resilient, verwaltbar und beobachtbar sind. In Kombination mit einer robusten Automatisierung ermöglichen sie es Softwareingeneuren, wichtige Änderungen häufig, verlässlich und mit minimalem Aufwand vorzunehmen.“
Erfahren Sie, was Cloud-Native ist und wie Low-Code den Einstieg erleichtert.
Jetzt anschauen

Bei der komponentenbasierten Entwicklung und Bereitstellung von Software wird der Ansatz verfolgt, dass die Infrastruktur von der Applikation getrennt und die Infrastruktur entbehrlich ist. Sie kann schnell bereitgestellt und, wenn sie nicht gebraucht wird, wieder entfernt werden. Wenn die Infrastruktur ausfällt oder veraltet ist, wird sie nicht modifiziert oder instandgesetzt, sondern automatisch ersetzt. Genau dies ist mit dem Begriff „unveränderliche“ (immutable) Infrastruktur gemeint. Wenn mehr Dienste benötigt werden, werden diese skaliert. Und wenn sie nicht mehr gebraucht werden, werden sie entfernt.

Warum ist cloudnativ wichtig?

Ein cloudnativer Ansatz verfolgt das Ziel, Ideen innerhalb kurzer Zeit als Kundenerlebnisse auf dem Markt zu bringen. Unternehmen durchlaufen die digitale Transformation in rasantem Tempo. Sie wollen Prozesse digitalisieren, um schneller bessere und reichhaltigere Kundenerlebnisse zu schaffen. Dahinter steht das übergreifende Ziel der Wachstumsbeschleunigung.

Beispiele für entsprechende Kundenerlebnisse können dynamische Änderungen zur Individualisierung eines Kaufvorgangs sein, aber auch Funktionen wie das Erstellen eigener Produktkonfigurationen, die anschließend erworben werden können, oder der Vergleich von Funktionen verschiedener Produkte. Wenn ein Kunde eine Funktion vorschlägt oder fordert, oder ein Line of Business Owner eine Idee ausbreitet, können IT und Business sie in einer cloudnativen Architektur schnell in Applikationssoftware umsetzen.

Zugleich hängt die Bereitstellung der entsprechenden Dienste stark von der Leistung ab. Kunden erwarten schnelle Antworten und eine kontinuierliche Service-Verfügbarkeit über ein Netzwerk, das nicht ausfällt. Neue Funktionen sollen möglichst sofort digital bereitgestellt werden – begleitet von einem Kundenerlebnis, das innovativ ist und einen geschäftlichen Nutzen bietet.

Cloudnative Applikationen erfüllen sowohl das Ziel der Innovationsgeschwindigkeit als auch der Zuverlässigkeit. Sie können innerhalb kurzer Zeit entwickelt und bereitgestellt werden. Zudem lassen sie sich – über Cloud-Umgebungen hinweg – schnell weiterentwickeln und skalieren. IDC prognostizierte im Futurescape Report 2020, dass bis 2025 mehr als 90% der Apps cloudnativ sind und dass fast zwei Drittel der Unternehmen produktive Softwareproduzenten sein werden, die täglich Code bereitstellen.

Was ist cloudnative Architektur?

Eine der größten Stärken cloudnativer Architekturen besteht darin, dass sie standardbasiert und unabhängig von Anbietern sind. Ihre Austauschbarkeit ermöglicht es, Software so zu entwickeln und bereitzustellen, dass sie auf allen Hardware- und Cloud-Konfigurationen genau gleich funktioniert.

Einige Bausteine der cloudnativen Entwicklung sind mittlerweile zum Mainstream geworden, wie eine CNCF-Umfrage aus 2021 zeigt:

„Die Nutzung von Kubernetes in der immer größer werdenden Cloud-Native-Community nähert sich 100%.“

So Priyanka Sharma, CNCF Executive Director, im Jahr 2022, als die Umfragedaten veröffentlicht wurden.

„Unsere Daten zeigen auch, wie allgegenwärtig der cloudnative Ansatz ist – in den Unternehmen selbst, aber auch als Managed Service. Ich glaube, dass 2022 ein erfolgreiches Jahr für neue cloudnative Bereiche wie Edge Computing, Observability und Sicherheit sein wird, da Container-Infrastrukturen sowohl an der Oberfläche als auch unter der Haube weiter ausreifen.“

Zu den wesentlichen Komponenten cloudnativer Applikationen gehören:

  • Container: Wenn kleine Software-Funktionen aus einer größeren Applikation herausgelöst und mitsamt allen Abhängigkeiten in eine Standardform gepackt werden, wird dieses wenig Speicherplatz verbrauchende und portable Paket als Container bezeichnet. Ein Container benötigt nicht das gesamte Betriebssystem, auf dem er läuft. Es handelt sich um eine kleine, effiziente Software, die sich schnell und einfach duplizieren sowie überall einsetzen lässt, wo sie gebraucht wird. Container werden von einer Plattform-as-a-Service-Software (PaaS) wie etwa Docker gehostet, die eine Virtualisierung auf Betriebssystemebene verwendet, um die Software in Containern zu verpacken und sie über ihre Laufzeit-Engine in jeder Umgebung auszuführen.

  • Kubernetes: Während Docker Container erstellt, ist Kubernetes eine Art Betriebssystem für die Cloud, das Container in Clustern verwaltet und sie über viele Maschinen verteilt. Dabei ist es egal, wo sie sich befinden – vor Ort, in öffentlichen, privaten oder hybriden Clouds oder einer Kombination daraus. Kubernetes ist der Orchestrator für Container, der die Planung, den Lastausgleich und die Bereitstellung übernimmt. Es startet, stoppt und repariert Container. Darüber hinaus skaliert es Apps, wenn sie benötigt werden, entfernt Container, wenn sie nicht mehr benötigt werden, oder ersetzt sie, wenn sie ausfallen.

  • Microservices: Microservices sind kleine Softwareeinheiten, die aus größeren, monolithischen Applikationen herausgelöst und als unabhängige Dienste eingerichtet sind, die zusammenarbeiten. Sie befinden sich in Containern und werden in Kubernetes-Clustern bereitgestellt. Mit einer Microservice-Architektur lassen sich Apps schneller aktualisieren, ändern und neu bereitstellen.

  • Service Mesh: Ein Service Mesh ist eine sichtbare, dedizierte Infrastrukturschicht, die in eine App eingebaut ist, um zu verwalten, wie Teile der Applikation Daten gemeinsam nutzen. So lässt sich die Kommunikation dokumentieren, wenn die App wächst und optimiert werden muss.

  • DevOps: Die Entwicklung mit DevOps-Methoden macht die Praxis der Continuous Integration/Continuous Delivery (CI/CD) zu einer tragenden Säule des Prozesses. IT-Organisationen entwickeln, testen und veröffentlichen Software kontinuierlich in kleinen Einheiten. Auf diese Weise können große Unternehmen mit versierten Entwicklungs- und IT-Mitarbeitern Software mehrmals (sogar Hunderte Male) pro Tag bereitstellen.

Vorteile von cloudnativen Applikationen

Die cloudnative Softwareentwicklung bietet Vorteile in mehreren Bereichen – und Unternehmen setzen die erforderlichen Technologien gerne ein. Vorteile wie Kostenvermeidung und Geschwindigkeit kommen dabei auf mehreren Ebenen zum Zuge.

  • Bessere Kundenerlebnisse: Unternehmen sind heute in eine Vielzahl von digitalen Transformationsprojekten involviert. Die Umsetzung von Ideen in Software erfordert eine agile Partnerschaft zwischen dem Unternehmen und der IT. Die Unabhängigkeit der Apps von der Infrastruktur ermöglicht Unternehmen und IT eine Kultur der Zusammenarbeit – mit mehr Ressourcen für geschäftliche Anforderungen und Analysen, wie Kunden die Software wahrnehmen.

  • Schnellere Entwicklung und bessere Software-Releases: Die durch DevOps in die Cloud-Infrastruktur eingebrachte CI/CD wird durch die Möglichkeit gestärkt, Container- und Code-Bausteine sowie andere Komponenten wie APIs, Regeln und Workflows wiederzuverwenden. Modularität bedeutet Geschwindigkeit und Einfachheit mit getesteter Software, die schneller veröffentlicht wird. Mit DevOps-Praktiken können IT-Mitarbeiter Software schnell entwickeln, integrieren und testen. Dies erlaubt ihnen, Software schrittweise bereitzustellen, sobald sie fertig ist. Mit der Methode „Fail Fast, Fix Fast" werden Probleme früh erkannt und gelöst, bevor sie den Kunden erreichen. Dies führt zu insgesamt besseren Erlebnissen. Der CI/CD-Prozess aktualisiert Software nahtlos und ohne Unterbrechung für Kunden. Zugleich werden kundenorientierte Dienste schnell auf den Markt gebracht.

  • Kostenreduzierung / effiziente Budgetnutzung: Der gesamte Workload für die Verwaltung der Cloud-Umgebung wird in cloudnativen Umgebungen stärker automatisiert. Das Modell des „Elastic Computing“ bedeutet, dass Unternehmen auf eine ständig verfügbare Infrastruktur verzichten können. Stattdessen werden Dienste je nach Bedarf skaliert. Aus der Build-Perspektive können getestete Microservices ohne neue Testzyklen in andere Cluster eingebettet werden, was Ressourcen spart. Wiederholbare Prozesse lassen sich durch IT-Automatisierung verwalten, wodurch der Zeitaufwand von Mitarbeitern reduziert wird. Darüber hinaus können Unternehmen durch geringere Ausfallzeiten auch indirekte Einsparungen erzielen.

  • Einfache Verwaltung: Große Cloud-Anbieter wie Amazon Web Services, Microsoft Azure und Google Cloud bieten serverlose Plattformen. Die entsprechenden Cloud-Plattformen übernehmen die Netzwerkkonfiguration, das Provisioning, die Skalierung und die Verwaltung von Cloud-Instanzen. Der Entwickler muss lediglich den Code und die Ereignistrigger bereitstellen, um den Code auszuführen.

  • Zuverlässigkeit / verbesserte Geschäftskontinuität mit Resilienz: Geschäftskontinuität ist in modernen digitalen Unternehmen unerlässlich. Durch lose gekoppelte Dienste vermeidet die cloudnative Architektur Redundanzen, erhöht die Fehlertoleranz und automatisiert die Wiederherstellung. Der Container- und Kubernetes-Ansatz bedeutet, dass ausgefallene Container aufgeräumt und neue automatisch bereitgestellt werden. Dies sorgt für deutlich geringere Ausfallzeiten. Die Zuverlässigkeit und Resilienz senken wiederum Kosten und sichern Ressourcen für andere IT-Prioritäten. Zugleich verbessern sie das gesamte Kundenerlebnis.

  • Wahlmöglichkeiten durch Open-Source-Standards: Organisationen entscheiden sich für mehrere Umgebungen – On-Premises, Public Clouds, Private Clouds oder eine Mischung daraus. Cloudnative Applikationen lassen sich auf jeder beliebigen Infrastruktur ausführen, ohne dass Codeänderungen erforderlich sind. Die Portabilität zwischen verschiedenen Clouds bedeutet, dass Unternehmen nicht an einen bestimmten Anbieter gebunden sind.

Wettbewerbsfähigkeit in einer cloudnativen Welt

Sie möchten in einer cloudnativen Welt wettbewerbsfähig bleiben? Dann schauen Sie in interaktive Diskussion mit OutSystems und Jason Bloomberg, einem führenden IT-Branchenanalysten und Präsident von Intellyx, und erfahren Sie, inwiefern Low-Code-Plattformen eine wesentliche Rolle in erfolgreichen cloudnativen Strategien spielen. Registrieren Sie sich jetzt für Cloud vs Cloud-Native: Understanding the Paradigm Shift.