Vertriebliche Beratung:
plusserver-Blog-Cloud Native Development
Blog

|

15.01.2023

Was ist Cloud-native Development?

Annika Opitz

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.

plusserver Blog - CLoud Native Developement
12 Factor App Design als Methodik für die Entwicklung Cloud-nativer Apps

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

Eine der größten Herausforderungen ist sicherlich der Umgang mit bestehenden Anwendungen. Diese müssen häufig für die Nutzung in Cloud-Umgebungen angepasst werden. Das kann mit erheblichem Aufwand verbunden sein. Alternativ können die Anwendungen komplett neu und gleich Cloud-native entwickelt werden. Welcher Ansatz hier gewählt wird, hängt letztlich von der Komplexität und der Bedeutung der Anwendung für das jeweilige Unternehmen ab. Zudem gilt es, im Vorfeld zu prüfen, welche infrastrukturellen Änderungen vor der Migration der Anwendung in die Cloud erforderlich sind.

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

Neben den beschriebenen Herausforderungen bietet Cloud-native natürlich auch Vorteile, die das Verfahren sehr attraktiv machen.

Mehr Agilität

Durch die modulare Architektur basierend auf Microservices können Anwendungen wesentlich schneller entwickelt, getestet und ausgerollt werden. So werden neue Features zeitnah implementiert und Updates schneller bereitgestellt. Zudem sind Unternehmen in der Lage, deutlich zügiger auf Kundenwünsche zu reagieren sowie Bugs und Sicherheitslücken umgehend zu schließen.

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

Durch die Migration der Infrastruktur in die Cloud werden Developer nicht nur von Aufgaben entlastet, die nicht zu ihren eigentlichen Kernkompetenzen gehören. Unternehmen senken durch die Nutzung von Cloud Services auch die Investitionskosten in teure Hardware und Infrastruktur. Die Betriebskosten werden ebenfalls reduziert, da nur tatsächlich in Anspruch genommen Ressourcen bezahlt werden.

Cloud-native Entwicklung braucht die passende Basis

Testen Sie 30 Tage kostenfrei und unverbindlich unsere plusserver Kubernetes Engine.

Über den Autor

Annika Opitz ist Product Owner für die plusserver Kubernetes Engine (PSKE) und ist in ihrer Rolle für die Produktvision, Ausrichtung und Weiterentwicklung der Lösung verantwortlich. Sie besitzt jahrelange Erfahrung in der IT- und Technologiebranche sowie umfangreiche Praxiserfahrung in der Planung und Weiterentwicklung von Produkten während des gesamten Produktlebenszyklus.

Weiterführende Inhalte

Produkt

pluscloud open

Mit der pluscloud open nutzen Sie die digital souveräne OpenStack-Cloud, made in Germany.
Produkt

Managed Kubernetes

Mit unserem Managed Kubernetes erstellen und orchestrieren Sie Kubernetes-Cluster im Handumdrehen.