App in die Cloud

Java für morgen: Cloud-native Anwendungsentwicklung bietet Zukunftssicherheit

Erica Langhi

© Shutterstock / phloxii

Es gibt keinen allgemein verbindlichen Rahmen für die Digitale Transformation. Klar ist aber, dass jede langfristige Digitalisierungsstrategie einen dauerhaften kulturellen und technologischen Wandel beinhalten muss. Einen entscheidenden Beitrag kann dabei die Cloud-native Anwendungsentwicklung leisten.

Viele Unternehmen starten momentan Projekte im Rahmen der Digitalen Transformation. Eine der größten Herausforderungen besteht dabei darin, dass die Unternehmenssysteme zum einen funktionsfähig, sicher und stabil bleiben müssen und zum anderen Entwickler und Betriebsteams in der Lage sein müssen, die Systeme schnell weiterzuentwickeln, um neue Funktionen zu integrieren.

Das Spannungsfeld zwischen Zuverlässigkeit und Produktivität beeinflusst viele Entscheidungen – und wird angesichts des heutigen Drucks nach schnellen Veränderungen und Verbesserungen besonders problematisch. IT-Teams müssen ständig die Balance zwischen kurz- und langfristigen Änderungen bei der Anwendungsentwicklung und
-bereitstellung finden. Ein Beispiel für dieses Dilemma ist die Entscheidung zwischen der Optimierung vorhandener Systeme und dem kompletten Neuaufsetzen von Entwicklungs- und Deployment-Umgebungen.

Nutzung Cloud-nativer Technologie

Die Entwicklungsteams stehen also vor der Aufgabe, die Geschwindigkeit durch die Nutzung produktiverer Technologien zu erhöhen. Dabei setzen viele Unternehmen zunehmend auf eine „Cloud-native“ Entwicklungsstrategie und vor allem auch auf die Umstellung auf Container.

Das bedeutet in direkter Konsequenz zunächst, dass die traditionelle Middleware, also die Software, die Anwendungen, Daten und Benutzer miteinander verbindet, grundlegend neu konzipiert werden muss, damit sie Cloud-native Anwendungen optimal unterstützt. Moderne Middleware muss Microservices, APIs (Application Programming Interfaces) und Container nutzen, um in einer Cloud-Umgebung leistungsfähig zu sein.
Im Grundzug ist eine Cloud-native Applikation eine Sammlung kleiner, unabhängiger und lose gekoppelter Microservices, die in Linux-Containern bereitgestellt und über APIs verbunden werden. Jeder Service beinhaltet eine Geschäftsfunktionalität und wird von kleinen Teams entwickelt, die DevOps-Praktiken anwenden und häufig eine Continuous-Integration (CI)- und Continuous-Deployment (CD)-Pipeline nutzen. Dadurch können Services schnell konzipiert, automatisch bereitgestellt und regelmäßig aktualisiert werden. Durch DevOps-Methoden wie die Continuous Delivery können zudem Qualitätstests in jedem Prozessschritt automatisiert werden, sodass sich der Zeit- und Arbeitsaufwand für Entwickler deutlich verringert.

Aufbau einer modernen Infrastruktur

Ein entscheidender Vorteil der Cloud-nativen Entwicklung ist auch die Anwendung des Fail-Fast-Prinzips; dadurch werden Fehler frühzeitig erkannt, bevor sie negative Auswirkungen haben. Zudem wird in Container-Infrastrukturen das vom Streaming-Dienst Netflix vorangetriebene Chaos-Engineering in immer größerem Maße eingesetzt, um proaktiv Schwachstellen zu identifizieren; dabei wird mit einem System in der Produktion experimentiert, um Vertrauen in seine Möglichkeiten zu schaffen, unerwarteten Ereignissen zu begegnen.

Prinzipiell stellen Container-Plattformen in Kombination mit Cloud-nativen Laufzeitumgebungen den flexibelsten Katalysator für Innovationen dar. Diese Kombination wird deshalb wahrscheinlich zum dominierenden Deployment-Muster werden, wobei ein Großteil der Orchestrierungsfähigkeit der bisherigen Anwendungsserver auf den Container-Management-Layer transformiert wird.

Wenn Unternehmen neue Architekturen, Linux-Container und eine moderne Anwendungsentwicklung einführen, sollten auch ihre zentralen Workloads nicht in traditionellen Umgebungen verbleiben, da diese kostenintensiv in der Wartung und vor allem komplex in der Verwaltung sind. Die Einbindung traditioneller Workloads in eine moderne Plattform ist für die Vereinfachung von IT-Umgebungen von entscheidender Bedeutung.

cloud

Die vier Eckpfeiler der Cloud-nativen Anwendungsentwicklung. (Quelle: Red Hat)

Quarkus bringt Java in die Cloud

Vorangetrieben wird die Cloud-native Entwicklung auch durch den Einzug von Java in die Cloud. Basis hierfür ist Quarkus, ein Kubernetes-natives Java-Framework. Quarkus wird sich zu einer führenden Plattform für Serverless-, Cloud- und Kubernetes-Umgebungen entwickeln und ermöglicht Java eine schnellere Skalierung und Optimierung. Mit flexiblen und einfach zu verwendenden APIs unterstützt Quarkus Entwickler bei der Erstellung von Cloud-nativen Anwendungen und Best-of-Breed-Frameworks.

Entwicklung einer DevOps-Kultur

Der Aufbau einer Cloud-nativen Anwendungsentwicklung erfordert Veränderungen sowohl in der Entwicklung als auch im IT-Betrieb, um Applikationen schneller und effizienter zu erstellen und zu implementieren. Unabhängig von der Branche oder Größe muss jedes Unternehmen dabei das breite Spektrum an Aktivitäten, Technologien, Teams und Prozessen berücksichtigen, das eine DevOps-Kultur ausmacht.

Wichtig ist, dass die Einführung einer DevOps-Kultur nicht nur von den Tools und Technologien abhängt, sondern auch von der Bereitschaft und dem Vertrauen der Mitarbeiter, einen stärker integrierten und kooperativen Ansatz zu verfolgen, der Teamarbeit, Feedback und Experimentierfreudigkeit fördert.

Es steht außer Frage, dass Cloud-native Strategien zur Verbesserung der Wettbewerbsfähigkeit von Unternehmen beitragen, indem sie die Geschwindigkeit der Anwendungsentwicklung erhöhen und die Flexibilität von Applikationen für die Umsetzung geänderter Geschäftsanforderungen steigern. Dabei ist zu beachten, dass ein Unternehmen nur dann den größten Nutzen aus neuen Technologien ziehen kann, wenn es gleichzeitig seine Kultur und Prozesse anpasst. Deshalb müssen Unternehmen vielfach ihre Mitarbeiter zum Umdenken und zur Weiterentwicklung ihrer Skills ermutigen. Dies ist ein wichtiger Teil einer effizienten Strategie für die Cloud-native Anwendungsentwicklung, die über viele Jahre hinweg Zukunftssicherheit und einen bedeutenden Wettbewerbsvorteil bieten kann.

Geschrieben von
Erica Langhi

Erica Langhi ist EMEA Senior Solutions Architect bei Red Hat.

Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: