Suchen

Definition „Cloud-native Anwendung“ Was ist Cloud Native?

| Autor / Redakteur: chrissikraus / Stephan Augsten

Cloud Native ist ein agiles und effizientes Konzept, um Software zu entwickeln und Neuerungen möglichst schnell zum Nutzer auszuliefern. Der Betrieb der Anwendung wird direkt über die zugrunde liegende Cloud-Plattform realisiert.

Firma zum Thema

Der Cloud-native-Ansatz zeichnet sich daduch aus, dass Anwendungen in der Cloud entwickelt und auch direkt dort bereitgestellt werden.
Der Cloud-native-Ansatz zeichnet sich daduch aus, dass Anwendungen in der Cloud entwickelt und auch direkt dort bereitgestellt werden.
(© adam121 - stock.adobe.com)

Cloud Native ist ein moderner Ansatz, um Software agiler und schneller zu entwickeln und sie robuster zu bauen. Cloud-native Anwendungen werden nicht wie herkömmliche Software nach einem festgesteckten Zeitplan mit klar definierten Phasen entwickelt.

Vielmehr wird die Anwendung in kleine, voneinander weitestgehend isolierte Bestandteile zerlegt und so konzipiert, dass all diese Komponenten unabhängig voneinander entwickelt werden können. Die Software läuft in der Regel nicht mehr On-premises, sondern ist auf den Betrieb direkt aus einer Cloud-Plattform heraus ausgelegt. Unternehmen können insgesamt flexibler arbeiten und ihren Kunden schneller Updates, Korrekturen und neue Funktionen zur Verfügung stellen.

Microservices

Cloud-native Anwendungen setzen sich aus vielen einzelnen, kleinen Microservices zusammen. Die Microservices können unabhängig voneinander arbeiten und tragen alle jeweils ihren eigenen Teil zum Gesamtprodukt bei. In der Entwicklung übernimmt in der Regel ein Entwickler oder ein Team einzelne Services.

Durch die Aufsplittung können verschiedene Teams oder Entwickler unabhängig voneinander an überschaubaren und quasi eigenständigen Teilen der Software arbeiten. Sie können sich an ihrem individuellen Zeitplan orientieren und ihre Aufgabenbereiche selbstständig ausbauen, ohne auf andere Teams warten zu müssen.

Container

Die Bestandteile von Cloud-native Anwendungen werden in der Regel als Container ausgeliefert. Das bedeutet, dass die Teilanwendungen bzw. die Microservices in einer isolierten Umgebung laufen sowie leicht zu skalieren, austauschbar und sehr portabel sind. Durch das Containerformat wird es einfach, eine komplexe Anwendung flexibel aus einzelnen Komponenten zusammenzusetzen. Auch das Austauschen, Hinzufügen oder Entfernen einzelner Komponenten ist ohne großen Aufwand möglich.

Continuous Delivery und DevOps

Cloud-native Anwendungen nutzen Continuous Delivery, um laufend Neuerungen auszuliefern. Statt fixe und langwierige Phasen für Entwicklung, Test und Auslieferung zu haben, geschehen alle Aufgaben kontinuierlich. Bestimmte Aufgaben wie Tests geschehen häufig auch automatisiert.

Das Ziel ist, jederzeit eine funktionsfähige Software zu haben, die nur in kleinen Schritten nach und nach ausgebaut und optimiert wird. Theoretisch kann so z. B. ein Kunde jederzeit in die laufende Entwicklung mit einbezogen werden, da zu praktisch jedem beliebigen Zeitpunkt ein funktionsfähiges, wenn auch unvollständiges Produkt bereitgestellt werden kann.

Durch Continuous Delivery lassen sich Software-Updates auch unabhängig von anderen Teams genau dann ausliefern, wenn sie einsatzbereit sind – und nicht erst, wenn eine neue Version der gesamten Software zur Veröffentlichung freigegeben wird. Die agile Methode passt gut mit der schnelllebigen Bereitstellung per Cloud zusammen und ermöglicht DevOps, also eine bessere Kooperation zwischen Entwicklern und IT Operations.

Software dynamisch verwalten

Moderne Cloud-Plattformen entkoppeln die Software durch eine Zwischenschicht von der Hardware. Somit wird es deutlich einfacher, Software für viele unterschiedliche Plattformen und Konfigurationen anzubieten. Das erleichtert Aufgaben vom Veröffentlichen der Software und Updates über die Skalierung bis hin zur Verwaltung von Cloud-nativen Anwendungen.

(ID:45906040)