Cloud Native

Die hohe Kunst der Cloud-Nutzung

23.04.2020
Anzeige  Die ersten Migrationen in die Cloud wurden mit Capex-Einsparungen begründet. Doch mit Lift & Shift bleiben die wichtigsten Vorteile der IT-Infrastruktur via Internet ungenutzt. Erst mit "Cloud Native" erreicht man eine neue Dimension von Business-Agilität und vereinfachtem IT-Management.

Rechenleistung und Speicherplatz übers Internet als Dienstleistung zu nutzen hat sich durchgesetzt, Private Cloud, Public Cloud und Hybrid Cloud gehören mittlerweile zur Standardinfrastruktur nahezu aller Rechenzentren. Heute werden bereits mehrere Public-Cloud-Plattformen parallel genutzt, Stichwort: Multi-Cloud. Viele Unternehmen haben in den vergangenen Jahren vor allem aus Kostengründen große Teile ihrer Anwendungen in die "Wolke" verschoben.

Dieser Lift & Shift-Trend hält zwar weiterhin an, doch die Nutzer der ersten Stunde haben inzwischen erkannt, dass trotz dieser Verschiebungen die strukturellen Probleme der klassischen Anwendungen bestehen bleiben. Dabei handelt es sich vor allem um die monolithische Struktur von sehr großen Programmen, die schwer zu pflegen sind, sowie die langen Release-Zyklen, die einer schnellen Business-Anpassung im Wege stehen.

Die Lösung: Cloud-Native, eine neue IT-Topologie

Um diese Probleme zu lösen, sind eine Reihe an Technologien, Methoden und Prozesse entstanden, die man im weitesten Sinne unter dem Begriff "Cloud-Native" zusammenfassen kann. Die "Cloud Native Compute Foundation" definiert diesen Begriff so: "Cloud-Native-Technologien ermöglichen es den Organisationen, skalierbare Applikationen zu entwickeln und sie in modernen, dynamischen Umgebungen wie Public-, Private- oder Hybrid Cloud zu betreiben. Zu diesem Ansatz gehören beispielsweise Container, Service Meshes, Microservices, elastische Infrastrukturen sowie deklarative APIs."

Die Cloud Native Computing Foundation (CNCF) ist eines der wichtigsten Projekte unter den rund 50 Einzelprojekten der Linux Foundation. Zur CNCF gehören inzwischen mehr als 560 Mitglieder (Stand März 2020).
Die Cloud Native Computing Foundation (CNCF) ist eines der wichtigsten Projekte unter den rund 50 Einzelprojekten der Linux Foundation. Zur CNCF gehören inzwischen mehr als 560 Mitglieder (Stand März 2020).
Foto: CNCF

Das ist eine weitreichende Aussage, die vor allem den Softwareentwicklungsprozess betrifft. Hierzu gehören weitere Elemente wie Skalierbarkeit, Container Technologie, Open-Source, Serverless und DevOps - und damit wird klar, dass es sich im Prinzip um eine komplett neue IT-Topologie handelt.

Folglich sollte Cloud Native ganz oben auf der Prioritätenliste der CIOs stehen. Cloud Native ist kein Nice-to-Have, das "nur" eine Modernisierung der Infrastruktur bewirkt, ganz im Gegenteil: Cloud Native schafft handfeste Business-Vorteile und ein wesentlich effizienteres IT-Management. Das umfasst eine höhere Geschwindigkeit in der Softwareentwicklung und schnellere Innovationen, mehr Agilität sowie geringere IT-Kosten.

Early Adopters sind begeistert

In allen Branchen und bei Unternehmen aller Größenordnungen steigt deshalb das Interesse für Cloud Native rasant. Es gibt bereits Vorreiter, die von beeindruckenden Business- und IT-Vorteilen berichten.

Bosch beispielsweise hat eine Cloud-basierte Falschfahrerwarnung entwickelt. Eine Schlüsselkomponente der Lösung ist die Container-Orchestrierung, bereitgestellt durch Microsofts Azure Kubernetes Services (AKS). "Wir suchten nach einer Cloud-Option, mit der wir unsere Kernfunktionen ohne Veränderungen zusätzlich zu einer neuen Infrastruktur verwenden können", sagt Hai Dang Le, der für den Dienst verantwortliche Softwareentwickler.

Auch bei Daimler werden moderne Cloud-Native-Methoden eingesetzt. Dort spricht man scherzhaft von "Container-driven Cars" und meint damit, dass man mittels einer Container- und Microservices-basierten Architektur Software-Updates im großen Stil bei allen Fahrzeugen durchführen kann. Hierbei kommt ebenfalls AKS zum Einsatz. "AKS bietet uns alle Vorteile eines Managed-Service, erlaubt aber weiterhin die ausreichende Kontrolle durch die Entwickler", sagt Rodrigo Nunes, Principal Software Engineer bei Mercedes-Benz R&D. "Mit dem neuen System sind wir jetzt in der Lage, die In-Car Software innerhalb von wenigen Wochen upzudaten; das hat früher Monate gedauert."

Organisation wichtiger als Technologie

Beide Lösungen erscheinen zunächst als reiner Technologieansatz, doch dieser Eindruck täuscht. "Eine zentrale Herausforderung bei vielen Unternehmen ist, dass Cloud Native als rein technologisches Thema betrachtet wird. Dabei ist die organisatorische Seite häufig viel entscheidender", weiß Andreas Urban, Manager Cloud Native Technical Specialists bei Microsoft, aus seinen Kundengesprächen zu berichten.

Das betrifft also die Frage: Wie muss ich meine Organisationen umstrukturieren, um beispielsweise DevOps effizient umzusetzen oder die Entwickler zur Nutzung der modernen Tools zu bewegen? Gerade die Nutzung von DevOps ist für die Business- und IT-Manager von größter Bedeutung.

Urban spricht hier vom Continuos Value, also einer kontinuierlichen Verbesserung des Business-Nutzens durch eine Anwendung sowie von einer Continuos-Integration, einer fortlaufenden Einbindung von neuen oder verbesserten Softwarebausteinen (Container, Microservices) in eine komplexe Anwendungsumgebung. Ersteres erlaubt eine agile Reaktion auf die sich schnell ändernde Business-Welt, Letzteres vereinfacht und beschleunigt das Software-Deployment.

Schulbankdrücken für Entwickler

Schließlich gibt es für CIOs noch, die Erledigung von Hausaufgaben durch die Softwareentwickler zu kontrollieren. Hier ist am schnellsten mit Weiterbildungen Abhilfe zu schaffen, und hilfreich ist es auch, entsprechende Projekte anzuschieben.

Container, Kubernetes und auch Microservices sind so neu, dass sich viele erfahrene Programmierer damit noch schwertun.
Container, Kubernetes und auch Microservices sind so neu, dass sich viele erfahrene Programmierer damit noch schwertun.
Foto: Microsoft

Dabei kommt es möglicherweise zu Widerständen. Doch die Frage, die sich jeder Entwickler heute stellen muss, lautet: Wie lange kann die althergebrachte Softwareentwicklung noch beibehalten werden?

Die Antwort darauf gibt Karsten Kempe, Solution Architekt bei Microsoft: "Alle Unternehmen werden früher oder später in die neuen Technologien investieren; vor allem wenn sie global agieren oder eine wesentlich größere Skalierbarkeit benötigen. Entwickler müssen deshalb zwangsläufig die neuen Methoden wie Containerisierung und Serverless anwenden, um die Anforderungen zu erfüllen, die der Markt an das Unternehmen stellt."

Extrem dynamische Entwicklungen

Doch leider gibt es auch in der IT-Welt bei allen disruptiven Methoden und Technologien nicht nur Vorteile, sondern auch "Nebenwirkungen". Beispiel Kubernetes: Der Vorteil besteht darin, dass es Open Source ist. Dadurch wird es auf allen großen Public-Cloud-Plattformen angeboten.

Die Kehrseite ist, dass diese Community sehr aktiv ist und dynamisch an Neuerungen und Verbesserungen arbeitet. Tagtäglich gibt es neue Erweiterungen. Manche sind mit heißer Nadel gestrickt und deshalb noch nicht Enterprise Ready.

Für CIOs ist es im Moment eine Herausforderung, die richtigen Erweiterungen zu erkennen. Denn im Gegensatz zu Linux gibt es hier noch keine Konsolidatoren, die Kubernetes und die dazugehörigen Erweiterungen in Releases packen. Die Zeit wird zeigen, welche Komponenten aus dem breiten Kubernetes-Ökosystem sich im produktiven Einsatz bewähren werden und sich Enterprise-Ready nennen dürfen.

Abgesehen von den dynamischen Entwicklungen einzelner Elemente: Der weitaus größte Teil aller Cloud-Native-Ansätze und -Architekturen ist heute Enterprise-Ready und wurde schon tausendfach in Produktionsumgebungen getestet.

Zur Startseite