Ein aus den Wolken stammender roter Treppenturm.Ein aus den Wolken stammender roter Treppenturm.

16. Dezember 2021

Die fünf Vorteile cloud-nativer Plattformen

von Patrick Hilpisch

Agil, effizient, zukunftssicher – das sind Buzzwords, die die Herzen jedes DevOps-Teams höherschlagen lassen. Fakt ist: Ohne cloud-native Entwicklung und den Aufbau von in und für die Cloud konzipierten Plattformen wird der Ruhepuls bei Entwicklern und Usern kaum ansteigen. Innovation und Weiterentwicklung sind nur noch schwer vorstellbar ohne native Cloud-Technologien.

Was ist Cloud-Native?

Die Cloud Native Computing Foundation (CNCF) definiert Cloud-Native als eine Technologie, die Organisationen in die Lage versetzt, skalierbare Anwendungen in einem modernen und dynamischen Cloud-Umfeld zu betreiben. Dieses Umfeld kann eine Public, Private oder hybride On-Premises Cloud-Lösung sein. Eine cloud-native Anwendung ist dabei eine Sammlung unterschiedlicher, unabhängiger Technologie-Services wie Container, Service Meshes, Microservices und deklarative APIs.

Durch diese technologischen Bausteine entstehen agile Software-Lösungen, die vollständig in der Cloud entwickelt und betrieben werden. Cloud-Native beschreibt also die Form, in der die Anwendungen erstellt und bereitgestellt werden, nicht den Erstellungs-Ort. Entscheidend ist beim Cloud-Native-Ansatz jedoch nicht nur die Technologie. Es geht auch um den damit verbundenen Mehrwert bei der User Experience und Wertschöpfung. Und, im weitergefassten Sinn, um einen organisatorischen und auch kulturellen Shift im Umgang mit digitalen Business-Modellen.

Potenziale nutzen

Wird eine Anwendung heute neu aufgesetzt, sollte der cloud-native Ansatz selbstverständlich sein. Auch wenn diese zunächst noch on-premises genutzt wird. Nur so ist ein späterer Wechsel in die Cloud möglich, bei dem die Vorzüge des Cloud Computings voll ausgeschöpft werden können. Doch wie steht es mit Bestandssystemen, die noch nach “normalen” Standards gecodet wurden? Die Frage, ob ein Wechsel zu einer cloud-nativen Plattform nötig ist, stellt sich vor allem bei:

  • der definitiven Notwendigkeit zur Anwendungsmodernisierung, etwa durch das “Lebensende” (End of Life) einer bisherigen zentralen Anwendung
  • nicht mehr zeitgemäßer Software und gestiegenem Kostendruck bei Legacy-Systemen
  • der neuen Ausrichtung/Erweiterung des digitalen Geschäftsmodells, also Bedarf an frischen, innovativen Apps und nutzerfreundlicher UX
  • dem Wunsch nach mehr Spielraum für Innovation, Skalierung, Performance, Sicherheit und Automation

Lift and Shift als Alternative?

Eine Alternative ist hier, das ganze System in die Cloud zu setzen, das sogenannte “Lift and Shift”. Bei dieser Migrationsmethode wird die bestehende On-Premises-Anwendung mit keinen oder minimalen Anpassungen in die Cloud “gehoben”. Es wird also möglichst wenig an Code, Funktionsweise oder Design geändert. Dies geht normalerweise schnell, kostengünstig und unkompliziert. Das hört sich erstmal vielversprechend an. Doch wirklich nachhaltig und zukunftssicher ist dieses Auslagern nicht.

Es müssen diverse Abstriche bei zentralen Vorzügen nativer Cloud-Technologien gemacht werden. So leiden mitunter die Skalierbarkeit, die Sicherheit, die Performance und die Kontrolle anfallender Kosten unter dem Lift and Shift-Ansatz. Das volle Potenzial bestehender und kommender Cloud-Vorzüge lässt sich nur schlecht oder mit komplexen und kostenintensiven Anpassungen (Code-Refactoring) ausschöpfen. Perspektivisch ist die Entscheidung für eine Anwendung mit cloud-nativem Code deshalb in den meisten Fällen die richtige.

Wolken spiegeln sich im Glas eines Bürogebäudes und zeigen eine wolkennative Ästhetik.

Die cloud-native Architektur – mehr als die Summe der Teile

Natürlich ist es einleuchtend, dass speziell für die Cloud gecodete Anwendungen auch perfekt in Cloud-Umgebungen integriert werden können und performant sind. Doch warum lohnen sich der Coding-Aufwand oder die Mehrkosten für eine cloud-native Plattform im Vergleich zum Lift and Shift?

1. Die komfortable Infrastruktur

Die Cloud stellt eine globale Infrastruktur mit einer immer weiterwachsenden Anzahl an Tools und Anwendungsmöglichkeiten zur Verfügung. Unternehmen ziehen also mit dem Wechsel zur Cloud Native Software in eine bestens vernetzte und ausgestattete “neue Wohnung” für ihre Systeme und Daten. Applications-Schnittstellen, Automation, Skalierung und Monitoring sind quasi direkt einsatzfähig. Komplexität und Kosten der Plattform verringern sich. Die Manpower für entsprechendes Development wird frei und steht für die zielgerichtete Weiterentwicklung der Plattform bereit.

Gleichzeitig erleichtert der Rückgriff auf Cloud-Standards und -Tools das Management des Systems, sowohl was die Wartung als auch die Bedienung angeht. Anpassungen sind aufgrund der genutzten Standards schneller und leichter zu bewerkstelligen.

2. Die Microservices-Architektur

Die Grundbausteine einer Cloud Native-Architektur sind kleine, lose gekoppelte Dienste: die Microservices. Als voneinander unabhängige, einzeln wartbare Dienste arbeiten sie zusammen, um die Gesamtfunktionalität des Systems bereitzustellen – im Gegensatz zu klassischen monolithischen Systemen, die als ein großer Block aufgebaut sind. Jeder Microservice hat genau eine Funktionalität und Programmierschnittstelle (API) und ist eindeutig von den anderen abgegrenzt.

Container, z. B. Docker, sorgen dafür, dass die Microservices stabil laufen, portabel sind und bei Bedarf skaliert werden können. Entwicklerteams können deshalb voneinander unabhängig und ohne Auswirkungen auf andere systemrelevante Dienste an “ihren” Microservices arbeiten und weiterentwickeln. Die Portabilität von containerisierten Microservices stellt sicher, dass ein Unternehmen nicht zu sehr von einem bestimmten Cloud-Anbieter abhängig ist. Downtimes für das Bugfixing wie bei klassischen Systemen gibt es hier nicht mehr. Deployments laufen strukturierter und schneller ab. Dieses Bausteinprinzip sichert eine agile, flexible und stabile Grundarchitektur. Über APIs kann die neue Anwendung mit weiteren Bausteinen angereichert werden.

3. Verlässlichkeit

Eine cloud-native Anwendung vereint drei wichtige Eigenschaften: Sie ist flexibel, skalierbar und vor allem sicher. Die Vorzüge der Infrastruktur und Architektur stellen das System auf stabile Beine, was die Verlässlichkeit angeht. Neue Anforderungen können schnell umgesetzt, unterschiedliche Business Cases problemlos verprobt werden.

Die Software als Ganzes bleibt bei Änderungen unangetastet, nur an den Services finden Code-Änderungen statt, die auch wirklich angepasst/verbessert werden sollen/müssen (value add). Auch Entwicklung und Testing werden dadurch ungemein erleichtert. Durch Continuous Delivery bleibt die Plattform up to date und agil. So wird man den Anforderungen eines sich im dauernden Wandel befindenden Marktes und neuen Kundenanforderungen gerecht.

Die enorme Skalierbarkeit in der Cloud ist auch hier von Vorteil. Das System wächst und ändert sich mit seinen Aufgaben. Werden im Unternehmen bestimmte Services mehr oder auch weniger benötigt, ist dies problemlos möglich. Es entstehen keine Mehrkosten für Hardware-Erweiterungen oder ungenutzte Ressourcen.

4. Sicherheit

Ein großes Fragezeichen überschattet noch immer jegliche Beschäftigung mit der Cloud: Wie sicher sind meine Daten? Cloud-native Systeme setzen auf “Security by Design“. Das heißt, Sicherheits-Mechanismen sind bereits beim Aufbau der Anwendung mitgedacht und integriert. Die Zusammenarbeit von Cybersecurity- und Cloud-Spezialisten ermöglichen innovative und vorausschauende Sicherheits-Grundlagen und einen regelmäßigen Austausch zu neuen potenziellen Gefahrenquellen. Hierzu gehören Konzepte wie etwa die Intelligent Threat Detection. Darüber hinaus sorgen Sicherheitsstandards für die Cloud mit komplexen Sicherheits-Architekturen für ein ruhiges Gewissen bezüglich Cyberattacken und Datenverlust. Rechtliche Vorgaben, Compliance und Governance sind problemlos und sicher umsetzbar. Cloud-native Content-Plattformen sind aufgrund dieses soliden und sich weiterentwickelnden Sicherheitsfundaments auch die Zukunft für behördliche Institutionen und FinTech-Unternehmen.

5. Kosten

Native Cloud-Anwendungen sind weder an Hardware noch an Betriebssysteme gebunden. Eine Cloud-Plattform ist also frei wählbar und kann bei Bedarf (Kostenoptimierung durch Providerwechsel) problemlos gewechselt werden. Die automatische Verwaltung der Applikations-Container durch Kubernetes spart weitere Kosten für Unternehmen ein. Die Automatisierung minimiert Fehlerpotenziale durch unzureichende Bedienung oder Konfiguration. Der Einsatz von Microservices in der Softwareentwicklung erleichtert die kontinuierliche Integration und Bereitstellung, wodurch der Entwicklungslebenszyklus und die Gefahr menschlicher Fehler durch automatisierte Prozesse verringert werden. Das heißt: weniger Fehler, weniger Aufwand, weniger Kosten. Gleichzeitig kann ein Container-Orchestrator Ressourcen automatisch planen und bedarfsgerecht zuweisen, um die Effizienz zu steigern.

Weitere Kosteneinsparer sind:

  1. die bedarfsorientierte, schnell anpassbare Skalierung des Systems
  2. der gezielte Rückgriff auf Open Source-Technologien
  3. der Ausbau von “selbstheilenden” Infrastrukturen in der Cloud
  4. die Möglichkeit des Continuous Delivery
  5. der Wegfall von eigenen Server- und Hardware-Ressourcen
Ein Cloud-nativer Geschäftsmann, der an einem Laptop arbeitet.

Fazit

Cloud-native Anwendungen stellen also sicher, dass:

  • sehr schnell auf (marktgetriebene oder interne) Änderungsanforderungen reagiert werden kann
  • die Anwendung durch Continuous Delivery immer auf dem aktuellen Stand ist. Es gibt keine langwierigen Roadmaps zur nächsten Version.
  • keine Downtimes während der Weiterentwicklung entstehen
  • Kundenwünsche schnell und problemlos umgesetzt werden können
  • die Zusammenarbeit zwischen Entwicklern und Administratoren reibungsloser läuft
  • durch Cloud Automation ein automatisierter IT-Betrieb ermöglicht wird
  • die IT-Ressourcen besser kontrolliert und
  • Kosten reduziert werden

Accenture bezeichnet Cloud Native Computing als die neueste Welle der digitalen Disruption. Laut IDC werden bis Ende 2021 80 % der Anwendungsentwicklung auf Cloud-Plattformen stattfinden. Wann hier 100 % erreicht werden, ist noch nicht absehbar. Klar ist aber: Unternehmen können Bedenken hinsichtlich der Skalierbarkeit, Sicherheit und Zukunftsfähigkeit cloud-nativer Plattformen definitiv ausräumen. Es lohnt sich nicht nur monetär und prozessual für sie. Als weitere kleine Belohnung winkt ihnen das Funkeln in den Augen ihrer Developer und die Zufriedenheit ihrer Kunden.

Haben Sie noch Fragen?
Nehmen Sie Kontakt mit uns auf!