Der Cloud-Markt wächst und nach Daten von IDC aus dem Oktober 2021 setzen mittlerweile 95 Prozent der deutschen Unternehmen eine Cloud-Strategie um. Weltweit dürfte es ähnlich aussehen.
Das hat auch Auswirkungen auf die Softwareentwicklung: In einem Futurescape-Report aus dem Jahr 2020 sagte IDC voraus, dass bereits 2025 90 Prozent aller Software-Entwicklungsprojekte Cloud-native sein werden. Zwei Drittel der Unternehmen sollen nach diesem Bericht dann täglich neue Software bereitstellen.
Doch was ist Cloud-native überhaupt? Die Cloud Native Computing Foundation definiert die Technologie wie folgt: „Cloud-Native-Technologie ermöglicht Organisationen, skalierbare Applikationen zu bauen und in modernen, dynamischen Umgebungen wie Public, Private und Hybrid Cloud zu betreiben.“
Der Begriff beschreibt also ein neues Programmierparadigma, das sich von den unflexiblen und langwierigen Entwicklungsprozessen früherer Software-Generationen verabschiedet. Es folgt ein neues mit mehr Flexibilität, Agilität, Robustheit und Skalierbarkeit. Cloud Native nutzt dafür die Vorteile der Cloud.
Ziele von Cloud-native sind schnelle Bereitstellung und reibungslose Skalierung von Softwareprodukten, einfache, unkomplizierte Änderungsmöglichkeiten bei gleichzeitiger Wahrung von Sicherheit und Compliance. Neue Anforderungen sollen flexibel und zeitnah in Software umgesetzt werden. Um das alles zu garantieren, verwendet Cloud-Native-Entwicklung typischerweise DevOps und Agile Programmierung.
Komponenten von Cloud-native
Dazu gehören diverse Technologien, von denen sich laut einer Studie der CNCF aus dem Jahr 2021 einige bereits als Mainstream durchgesetzt haben. Das gilt insbesondere für die quelloffene Container-Orchestrierungslösung Kubernetes. Sie verwaltet Container-Cluster in allen Cloud-Umgebungen. Die Software übernimmt Aufgaben wie Scheduling, Lastverteilung und Bereitstellung, repariert, ersetzt, stoppt, löscht und skaliert Container sowie Container-Apps. Weitere Standardelemente:
- Container selbst sind heute das „Standardverpackungsformat“ für kleinere Anwendungen oder Funktionen größerer Applikationen. Sie haben sich als kleine, effiziente Softwareelemente durchgesetzt und laufen auf Plattformservices wie Docker. Diese wiederum verwenden Virtualisierung auf Betriebssystemebene, um die Software in Container zu packen und mittels einer Runtime-Engine in jeder Umgebung ablaufen zu lassen.
- Mikroservices sind kleine Softwarefunktionen, die meist aus größeren, monolithischen Applikationen ausgegliedert wurden, um als unabhängiger Service mit anderen Services zusammenzuarbeiten. Sie laufen in Containern und werden von Kubernetes als Container-Cluster bereitgestellt. In einer Microservice-Architektur können Anwendungen schneller aktualisiert, verändert und neu bereitgestellt werden.
- Ein Service Mesh ist eine sichtbare Infrastrukturschicht innerhalb einer App mit der Aufgabe, die Teile der Applikation, in der Regel einzelne Services, die ihre Daten gemeinsam nutzen, zu verwalten. Das erfordert bei wachsenden Applikationen mit immer mehr Services sorgfältige Dokumentation. Die Vernetzung einzelner Komponenten erfolgt über deklarative APIs.
- DevOps-Methoden bei der Entwicklung und CI/CD (Continuous Integration/Continuous Delivery) gehören zusammen. Werden beide verwendet, entsteht Software aus vielen kleinen Releases, die hintereinander freigegeben werden und immer wieder verändert werden können. Große Unternehmen schaffen teilweise bis zu mehrere Hundert Softwarefreigaben täglich.
Wichtige Vorteile von Cloud-nativer Softwareentwicklung liegen in verbesserten Kundenerlebnissen, weniger Fehlern in der Softwareentwicklung und häufigen neuen Releases durch inkrementelle Entwicklung und schnelle Tests. Resilienz und Robustheit steigen. Kosten sinken und das Budget wird effektiver genutzt. Die automatisierten Abläufe bei DevOps und CI/CD verringern auch die Arbeitslast der Entwickler. Durch die serverlosen Plattformen, die die Hyperscaler für die Entwicklung bereitstellen, sinkt die Belastung, da sich Entwickler um deren Wartung nicht kümmern müssen.
Die lose gekoppelten Services einer Cloud-Native-Umgebung verbessern Redundanz und Fehlertoleranz. Eine automatisierte Wiederherstellung nach Zwischenfällen wird möglich: Kaputte Container werden einfach abgeschaltet und durch neue mit der gleichen Funktion ersetzt. Zudem verhindern Cloud-native Applikation durch ihre Offenheit eine unerwünschte Bindung des Betreibers an eine bestimmte Infrastruktur.
Cloud-native in der Praxis
Soweit die Theorie. Doch wie sieht die Praxis der Cloud-native-Nutzung aus? Hierzu befragte OutSystems, Anbieter einer Low-Code-Plattform, in Zusammenarbeit mit dem Marktforschungsunternehmen Lucid im Frühjahr 2022 505 IT-Führungskräfte und Entwickler in Unternehmen unterschiedlicher Größenordnungen. An der Studie nahmen zu 32 Prozent Großunternehmen mit mehr als 2,5 Milliarden Dollar Umsatz, zu 41 Prozent Unternehmen mit 500 Millionen Dollar bis 2,5 Milliarden Dollar Umsatz und zu 27 Prozent Unternehmen mit 50 bis 550 Millionen Dollar Umsatz teil.
Fünf Prozent der teilnehmenden Firmen kamen aus Deutschland, 41 Prozent aus den USA, 16 Prozent aus Brasilien, 11 Prozent aus Singapur, je neun Prozent aus Kanada und Großbritannien, zwei Prozent aus Australien und ein Prozent aus den Niederlanden. Damit waren vier von fünf Kontinenten vertreten.
Auch die Branchenvielfalt war groß: Den höchsten Anteil hatten mit 19 Prozent produzierende Unternehmen sowie die IT-Branche. Banken, Finanzunternehmen und Versicherungen waren zu 17 Prozent vertreten, der Groß- und Einzelhandel, Transport, Reisen, Warehousing, Hotels und Restaurants zu 13 Prozent. Acht Prozent kamen aus Baugewerbe, Land-/Forstwirtschaft, Fischerei, Jagd oder der Rohstoffbranche. Sieben Projekt stammten aus Medien, TK, Kunst, Unterhaltung, Erholung oder waren Versorger. Ebenfalls sieben Prozent waren Behörden, Bildungsträger oder gehörten zur öffentlichen Verwaltung. Je fünf Prozent kamen aus dem Gesundheits- und Sozialbereich und aus dem Sektor der Business-Dienstleistungen oder Immobilienwirtschaft.
Bei der Befragung zeigte sich, dass über Cloud-native zwar viel geredet wird, allerdings bei vielen noch zu wenig gefestigtes Wissen diesbezüglich vorhanden ist. So gaben 53 Prozent der Befragten an, wenig über Cloud-native zu wissen. Davon sagten fünf Prozent, sie hätten noch nie davon gehört, 16 Prozent, sie seien mit der Technologie nicht vertraut, und 32 Prozent, dass sie immerhin etwas vertraut damit wären.
Nur 34 Prozent hatten allerdings entsprechende Technologien bereits offiziell evaluiert oder getestet, der große Rest von knapp zwei Dritteln hat sich bislang wenig oder gar nicht damit beschäftigt. Da mutet es gewagt an, dass immerhin 72 Prozent der Befragten erwarten, dass die meisten ihrer Apps bis 2023, also in wenigen Monaten, mit Cloud-native-Technologie erstellt werden.
Im Folgenden gliedern sich die Umfrageteilnehmer bei der Darstellung der Ergebnisse in zwei Gruppen: Umfrageteilnehmer, die bereits Cloud Native nutzen, werden als Vorreiter betrachtet, die übrigen Unternehmen, die dies noch nicht tun, als Nachzügler.
Hindernisse: Komplexe Technologien und Tools, zu wenig Personal
Warum sich Cloud Native trotz großer positiver Erwartungen noch nicht überall verbreitet hat, belegt die Liste der Hindernisse, die sich der Technologie entgegenstellen. Am schwierigsten erscheinen den Vorreitern dabei die Wahl der richtigen Tools und Plattformen mit 52 Prozent Nennungen und die Komplexität der Architektur mit 51 Prozent. Bei den Nachzüglern erreichen die beiden Kategorien nur 39 beziehungsweise 38 Prozent.
Die Nachzügler haben die größten Probleme mit dem Einrichten der Infrastruktur (52 Prozent Nennungen), der Aktualisierung der Infrastruktur-Tools mit 44 Prozent Nennungen sowie der Budgetbeschaffung für Cloud-native Entwicklungstools und -plattformen mit 42 Prozent Nennungen.
Die drei Themen sind übrigens auch für die Vorreiter hoch relevant: das Einrichten der Infrastruktur steht mit 50 Prozent Nennungen auf Platz Drei ihrer Herausforderungs-Hitliste, die Aktualisierung der Infrastruktur nannten 48 Prozent (Platz 4) und die Budgetbeschaffung 44 Prozent (Platz 5). Das zeigt, dass Cloud-Native-Entwicklung wenn auch vorteilhaft, so doch keinesfalls banal in ihren Anforderungen ist.
Die Technologie hat auch und gerade für Praktiker ihre Tücken. Wer das Schaubild der unzähligen Cloud-Native-Projekte der CNCF für App Definition and Development betrachtet, gewinnt eine Ahnung davon, wie schwer die Tool-Auswahl fallen mag. Das Gleiche gilt dafür, aus den ausgewählten Tools eine funktionierende Entwicklungslandschaft zusammenzubauen.
Damit deutet sich ein weiteres Problem an, mit dem sich die Verantwortlichen für Cloud-native-Projekte permanent herumschlagen müssen: die Beschaffung von entsprechend geschulten Fachkräften. Diese Problematik ist mit 41 Prozent Nennungen für Vorreiter und Nachzügler gleichermaßen relevant. Doch auch die Personalbindung erfahrener Kräfte wurde von 31 Prozent (Vorreiter) beziehungsweise 30 Prozent (Nachzügler) als schwierig empfunden.
Die befragten Unternehmen geben wenig überraschend an, die Cloud-native-Entwicklung nur voranbringen zu können, wenn sie neue Fachkräfte in 13 Spezialrichtungen gewinnen oder weiterbilden können. Alle diese Rollen sind für die Cloud-Native-Entwicklung essentiell. Besonders gravierend scheint der Mangel bei Cloud Architekten zu sein. Diese gesuchte Qualifikation nannten 77 Prozent der Befragten. Weiter wollten 67 Prozent Backend-Entwickler, 66 Prozent Full-Stack-Entwickler, 64 Prozent Mobile-Entwickler, je 62 Prozent Spezialisten für Qualitätssicherung und Test, Enterprise-Architekten und Frontend-Entwickler, je 61 Prozent Entwickler für Embedded Apps oder Devices und Datenbank-Administratoren, 60 Prozent Tech-Leads, Entwickler für Enterprise- oder Desktop-Applikationen und Designer sowie 54 Prozent Product Owner suchen beziehungsweise einstellen, um Cloud-native voranzubringen.
Nur 47 Prozent der Entwickler betrachten sich heute laut der Umfrage als ausreichend mit Cloud-Native-Entwicklungswissen ausgestattet. Technische Expertise lässt sich nur durch entsprechende Kurse in einschlägigen Studienfächern oder Berufsakademien, gepaart mit vielfältigen Erfahrungen in der betrieblichen Praxis, generieren. Dafür muss man aber erst einmal Interessenten gewinnen.
Zwar bildet die Studie mehrere Länder ab, allerdings bestehen in Deutschland besondere, erschwerende Bedingungen: Aus- und Fortbildung sind allein aus demografischen Gründen in Deutschland Grenzen gesetzt – die Generation der Berufseinsteiger und jungen Berufstätigen ist sehr viel kleiner als diejenige, die sich nun in die Rente verabschiedet. Fachkräfte aus dem Ausland zu gewinnen, ist, wie die durchwachsenen Ergebnisse der Greencard, vereinfachter Einwanderungsverfahren für ausgebildete hochkarätige Fachleute insbesondere in MINT-Berufen zeigen, ebenfalls eher schwierig.
Kundenorientierte Anwendungen
Vorreiter, also Unternehmen, die bereits mit Cloud Native arbeiten, wurden gefragt, welche Arten von Applikationen und Anwendungsszenarien ausgebaut werden sollten. Wenig verwunderlich stehen hier kundenorientierte Anwendungen mit 66 Prozent Nennungen ganz vorn. Schließlich entscheidet das erfolgreiche Werben um und Halten von Kunden über den Markterfolg. Im Einzelnen sind dies Apps für Kunden-Onboarding, Selbstbedienungsportale, E-Commerce-Apps, Kundenbindungsprogramme und Apps für Terminvereinbarungen.
Auf zweiter Stelle der Anwendungs-Hitliste stehen mit 61 Prozent Nennungen Applikationen, die betriebliche Abläufe vereinfachen können. Besonders mühselige, detailreiche und fehleranfällige Aufgaben eignen sich für eine digitale Umsetzung in Form von Cloud-native-Apps. Hierher gehören Lösungen für Planung, Lagerverwaltung, Inventarpflege und Asset Management.
Das dritte wichtige Gebiet, auf dem Cloud Native als besonders relevant betrachtet wird, ist der Bereich Human Relations/Mitarbeiter, also das Onboarding neuer Mitarbeiter, das Leistungs- und Workforce-Management, die Zeitplanung und Campus-Lösungen. Angesichts des harten Wettbewerbs um hochqualifizierte Mitarbeiter sollen entsprechende Verwaltungs-Apps bereits gewonnenen Mitarbeitern ein positives Arbeitsplatz-Erlebnis bieten und dem Unternehmen im Wettbewerb um neue Personalressourcen einen besseren Ausgangspunkt verschaffen.
Was also tun, wenn sich einerseits hohe Erwartungen auf den Einsatz von Cloud und Cloud-native richten, andererseits aber das Fachpersonal fehlt, um eine schleunige Umsetzung entsprechender Pläne zu garantieren?
Low-Code-Plattformen statt händischer Programmierung
Eine vielversprechende Möglichkeit, die Quadratur des Kreises aufzulösen, ist der Einsatz von Low-Code-Plattformen zur Generierung der Apps. Denn sie arbeitet mittels leicht verständlicher, grafischer Entwicklungstools oder sprachlichen Konstrukten, die erheblich leichter zu erlernen sind als herkömmliche Programmiersprachen. Die Applikationen werden am Bildschirm baukastenförmig zusammengeklickt, die Codegenerierung erfolgt abgeschirmt vom Mitarbeiter im Hintergrund, jedoch im Idealfall mit der Möglichkeit, auf den Code selbst zuzugreifen und ihn gegebenenfalls per Hand zu verändern oder zu ergänzen, um einen Vendor-Lock-in zu vermeiden.
Das haben auch zahlreiche Vorreiter der Cloud-native-Entwicklung bereits erkannt: 72 Prozent von ihnen gaben an, bereits eine Low-Code-Plattform in der Entwicklung zu nutzen, offensichtlich mit sehr gutem Erfolg. 60 Prozent und damit knapp zwei Drittel von ihnen sahen Low-Code-Plattformen als sehr gute (38 Prozent) und 22 Prozent als ausgezeichnete Werkzeuge für die Cloud-Native-Implementierung. Weitere 26 Prozent bewerteten Low-Code-Tools als gut geeignet für diesen Zweck.
Wichtige Vorteile von Low-Code-Plattformen für Entwickler sind dabei, dass sie neue Abstraktions- und Automatisierungsebenen in den Entwicklungsprozess einziehen, wodurch er produktiver wird. Professionelle Plattformen bringen robuste und zuverlässige Werkzeuge mit, die sich auch bei hohen Sicherheits- und Verfügbarkeitsanforderungen an die generierten Applikationen bereits bewährt haben. Außerdem integrieren die Plattformanbieter laufend die neuesten Cloud-nativen Entwicklungsmethoden. Sicherheitsfunktionen, hohe Leistung und ein integriertes Management der Abhängigkeiten kennzeichnen die generierten Applikationen.
Der große Erfolg von Low-Code-Plattformen spiegelt sich auch in den Antworten auf die Frage danach, wann die befragten Unternehmen den Großteil ihrer Applikationen, auch unternehmenskritischer, mit einer Low-Code-Plattform entwickeln wollen. Bei immerhin 28 Prozent ist das gemäß den Antworten bereits 2022 der Fall. Weitere 29 Prozent gaben als Ziel 2023 an, 19 Prozent nannten 2024. Bis 2025 wollen nur sieben Prozent warten, bis 2026 acht Prozent, und gar nicht mit Low-Code-Plattformen entwickeln wollen laut Studie nur 7 Prozent der Umfrageteilnehmer.
Angesichts dieser Daten erscheint es sinnvoll, sich zumindest einmal mit Low-Code-Technologien auseinanderzusetzen, wenn Cloud-native eine größere Rolle bei der Softwaregenerierung spielen soll.
Neueste Kommentare
Noch keine Kommentare zu Low-Code-Plattformen helfen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.