Beim Cloud-native Development werden Anwendungen mit „Cloud-Tools“ direkt in der Cloud entwickelt, getestet und ausgeführt.
Cloud-native Development ist eine agile, konzeptionelle Methode für die vollständige Entwicklung und Ausführung von Anwendungen in der Cloud. Zum Einsatz kommen dabei Tools wie Kubernetes, die in der Cloud bereitgestellt und genutzt werden. Um diesen Ansatz erfolgreich umsetzen zu können, gibt es funktionelle und strategische Bereiche, die ineinandergreifen müssen.
Cloud-native Development: Der technische Aspekt
Im Bereich der Anwendungsentwicklung geht es heute vor allem um Schnelligkeit, Skalierbarkeit und Flexibilität. Diese Anforderungen lassen sich optimal mit der Cloud erfüllen. Die wichtigsten Technologie- und Architekturmodelle hierfür sind Container und Microservices. Microservices sind kleine Softwarebausteine, die genau eine Funktion erfüllen.
Eine Cloud-native entwickelte Anwendung besteht am Ende also aus einer Vielzahl solcher Microservices. Diese können jeweils separat weiterentwickelt werden, ohne dass die gesamte Anwendung angefasst werden muss. Das ermöglicht es, neue Features deutlich schneller zu entwickeln. Zudem wirken sich Fehler nicht gleich auf die ganze Applikation aus.
Die Microservices werden dann mit allen für die Ausführung nötigen Abhängigkeiten in IT-Container verpackt. Das macht die Anwendung höchst skalierbar, portabel und erleichtert die Entwicklung neuer Features, Tests sowie den Rollout von Updates.
Cloud-native Software Development zeichnet sich außerdem dadurch aus, dass die Entwicklerteams sich nicht mehr selbst um die benötigte Hardware kümmern. Das übernimmt stattdessen der Cloud-Anbieter. So bleibt mehr Zeit, sich auf die eigentliche Anwendungsentwicklung zu fokussieren.
DevOps-Strategie entscheidend
Um die technischen Vorzüge des Cloud-native Application Developments voll auszuschöpfen, ist es vorteilhaft eine DevOps-Kultur im Unternehmen etabliert zu haben. Damit ist die enge Zusammenarbeit zwischen Entwicklung und Betrieb gemeint, die Projekte und Prozesse gemeinsam aufeinander abstimmen. Das ermöglicht es, Kundenwünsche wesentlich schneller in die Entwicklung einfließen zu lassen. Und über CI/CD-Prozesse (Continuous Integration, Continuous Delivery) können die Anwendungen dann auch deutlich schneller bereitgestellt werden.
12 Factor App Design
Eine weitere Sicht auf Cloud-native Development bietet das 12 Factor App Design. Es beschreibt eine Methodik für die Entwicklung Cloud-nativer Apps, die als Software-as-a-Service bereitgestellt werden, und gibt quasi ein Muster vor, dem Entwickler folgen können.
Dabei kommt es gar nicht darauf an, ob Container-Technologie zum Einsatz kommt, obwohl das sehr häufig der Fall ist. Vielmehr geht es darum, eine Anwendung extrem portabel zu machen und von hervorragenden Automatisierungs- und Bereitstellungsfähigkeiten zu profitieren.
Die Herausforderungen beim Cloud-native Development
Auf dem Weg zum Cloud-native App Development gibt es für Unternehmen einige Herausforderungen zu meistern – wie zum Beispiel:
Umgang mit Legacy-Anwendungen
Wandel zur DevOps-Kultur
Ein weiterer Punkt ist der organisatorische Wandel innerhalb des Unternehmens zu einer gelebten DevOps-Kultur. Dazu müssen meist über lange Jahre bestehende IT-Prozesse modernisiert und Silostrukturen aufgebrochen werden. Diese Aufgabe ist nicht zu unterschätzen. Doch viele Unternehmen sind hier inzwischen auf einem guten Weg. Denn sie haben erkannt, dass agile Methoden gerade im Bereich der Softwareentwicklung immer wichtiger werden, um wettbewerbsfähig zu bleiben.
Know-how aufbauen
Außerdem benötigen Unternehmen natürlich entsprechendes Know-how für Cloud-native Development bzw. müssen es aufbauen. Das können sie zum Beispiel über Schulungen oder Cloud Consulting erwerben. Einige Cloud Provider bieten in diesem Bereich Consulting Services und Workshops an.
Sicherheit integrieren
Die Cloud-native Anwendungsentwicklung stellt auch neue Anforderungen an die Sicherheit. Zwar übernimmt der Cloud Provider im Rahmen des Betriebs bereits einen Großteil der Verantwortung für die Sicherheit der Infrastruktur. Doch die Entwickler sind im Gegenzug dafür verantwortlich, bereits im Anwendungslebenszyklus gewisse Sicherheitsmaßnahmen zu verankern. Zudem lohnt es sich, Sicherheit in den DevOps-Prozess zu integrieren (DevSecOps). So können mögliche Schwachstellen und Probleme entdeckt und behoben werden, noch bevor sie Auswirkungen auf die Produktivumgebung haben.
Die Vorteile von Cloud-native Development
Mehr Agilität
Automatisierung
Beim Cloud-native Software Development können sich die Entwickler voll und ganz auf den Code und dessen Weiterentwicklung fokussieren. Sie müssen die Infrastruktur nicht mehr selbst betreiben. Außerdem bringen CI/CD-Pipelines einen höheren Automatisierungsgrad in der Softwareentwicklung mit sich. Dieser ermöglicht ebenfalls kürzere Entwicklungszyklen und eine schnellere Anwendungsbereitstellung. Das alles trägt dazu bei, Innovationen zügiger voranzutreiben und wettbewerbsfähiger zu werden.
Flexibilität & Skalierbarkeit
Cloud-native entwickelte Microservices oder sogar ganze Container-Cluster lassen sich relativ einfach wiederverwenden. Darüber hinaus sind containerisierte Anwendungen sehr portabel und können optimal in Hybrid- und Multi-Cloud-Umgebungen eingesetzt werden. Die benötigte Infrastruktur zur Ausführung der Anwendung kann beim Cloud Provider flexibel skalieren und mit den Anforderungen des Unternehmens mitwachsen.
Optimierte Kosten
Cloud-native Entwicklung braucht die passende Basis
Über den Autor
Erfahren Sie mehr
Produkt
pluscloud open
Produkt
Managed Kubernetes
Download
Whitepaper: Cloud-native Transformation
Haben Sie noch Fragen?
Senden Sie mir einfach eine Nachricht mit Ihrem Anliegen und ich melde mich schnellstmöglich zurück.