Top 16: Die stärksten Cloud-Innovationen

Wenn der Chief Financial Officer (CFO) an die Public Cloud denkt, kommen wahrscheinlich zunächst finanzielle Überlegungen ins Spiel: Workloads aus Rechenzentren mit geringer Kapazität in die Cloud zu verlagern, reduziert die Investitionsausgaben (CapEx), erhöht aber die Betriebsausgaben (OpEx). Für den Finanzentscheider mag diese Perspektive attraktiv sein oder nicht – für Entwickler, Operations- und DevOps-Teams ist das uninteressant.

Sie sehen viel mehr die zahllosen neuen Möglichkeiten, die durch die Cloud entstehen – und bei konventionellen Software-Bezugsmodellen schlicht nicht verfügbar sind. Was On-Premises sechs Monate dauert, kann in der Cloud in zehn Minuten implementiert sein. Und was vor Ort die Unterschrift von drei Managementebenen erfordert, lässt sich in der Cloud per Kreditkarte abrechnen. Zudem ermöglicht die Cloud eine schnellere Softwareentwicklung und reduziert damit häufig auch die Time-to-Market. Da Cloud-Umgebungen auch mehr Experimente zulassen, können sie auch zu einer höheren Softwarequalität führen.

Über diese Vorteile hinaus bietet die Cloud zahlreiche Innovationen, die unmittelbare Mehrwerte schaffen und zahlreiche On-Premises-Probleme lösen können.

Wenn der CFO das nächste Mal über die Höhe der Cloud-Ausgaben klagt, weisen Sie ihn gerne auf eine der folgenden 16 Innovationen hin.

Recheninstanzen on Demand

Sie benötigen eine neue Datenbank auf einem On-Premises-Server? Dann sollten Sie Zeit mitbringen. Manchmal einige Monate, im schlimmsten Fall Jahre. Im Fall einer virtuellen Maschine (VM) beträgt die Wartezeit normalerweise ein paar Wochen – wenn Ihr Unternehmen VMware und ähnliche Technologien einsetzt.

Setzen Sie dagegen eine Serverinstanz in der Public Cloud auf, lässt sich diese in zirka 15 Minuten bereitstellen und in Betrieb nehmen. Die Größe des Servers können Sie dabei an Ihre Bedürfnisse anpassen. Wenn sie diesen nicht mehr benötigen, schalten Sie ihn einfach ab.

Vorgefertigte VM-Images

Eine virtuelle Maschine mit dem Betriebssystem Ihrer Wahl einzurichten ist praktisch – allerdings müssen Sie immer noch die Applikationen installieren und lizenzieren, die Sie benötigen. Die Möglichkeit, über die Cloud eine “schlüsselfertige” VM inklusive Betriebssystem und den benötigten Anwendungen zu erstellen, dürfte eine willkommene Entlastung sein.

Serverless Services

Serverless bedeutet, dass ein Dienst oder ein Stück Code bei Bedarf für kurze Zeit ausgeführt wird – in der Regel als Reaktion auf ein Ereignis, ohne dass eine dedizierte VM dafür erforderlich ist. Im Fall von Serverless-Diensten müssen Sie sich in der Regel nicht um den zugrundeliegenden Server kümmern – die Ressourcen werden über einen vom Cloud-Anbieter verwalteten Ressourcen-Pool zugewiesen.

Serverless Services sind in allen großen Clouds verfügbar und bieten in der Regel automatische Skalierungsmöglichkeiten, integrierte Hochverfügbarkeit und ein Pay-for-Value-Abrechnungsmodell. Sollten Sie auf Serverless setzen wollen, dabei aber keinen Wert darauf legen, an eine bestimmte Public Cloud gebunden zu sein, können Sie ein anbieterneutrales Serverless-Framework wie Kubeless verwenden. Voraussetzung ist lediglich ein Kubernetes-Cluster (das ebenfalls als Cloud-Service verfügbar ist).

Container on Demand

Ein Container ist eine leichtgewichtige, ausführbare Softwareeinheit und verpackt den Anwendungscode und seine Abhängigkeiten, wie beispielsweise Bibliotheken. Container nutzen den Betriebssystem-Kernel des Host-Rechners gemeinsam und können auf der Docker-Engine oder einem Kubernetes-Dienst ausgeführt werden. Container auf Abruf zu nutzen bringt dieselben Vorteile wie VMs auf Abruf – mit den zusätzlichen Vorteilen, dass weniger Ressourcen benötigt werde und geringere Kosten anfallen.

Vorgefertigte Container-Images

Ein Docker-Container ist eine ausführbare Instanz eines Docker-Images, das durch eine Dockerfile spezifiziert wird. Letzteres enthält die Anweisungen, um ein Image zu erstellen und basiert oft auf einem anderen Image. Ein Image, das Apache HTTP Server enthält, kann beispielsweise auf einem Ubuntu-Image basieren. In der Docker-Registry finden Sie vordefinierte Dockerfiles – Sie können aber auch eigene erstellen.

Docker-Images können Sie über eine lokale Installation oder in einer beliebigen Cloud mit Container-Unterstützung ausführen. Wie bei vorgefertigten Images für virtuelle Maschinen kann ein Dockerfile eine vollständige Anwendung schnell zum Laufen bringen – aber im Gegensatz zu VM-Images sind Dockerfiles anbieterunabhängig.

Kubernetes-Container-Orchestrierung

Das Open-Source-System Kubernetes automatisiert Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. Kubernetes basiert auf Googles “Borg”-Technologie; Kubernetes-Cluster bestehen aus einer Reihe von Arbeitsmaschinen, den sogenannten Nodes, auf denen containerisierte Anwendungen ausgeführt werden. Die Nodes hosten Pods, die Anwendungen enthalten – beides wird über eine Steuerungsebene verwaltet. Kubernetes kann überall ausgeführt werden und ist unbegrenzt skalierbar, inzwischen bieten alle großen Public Clouds entsprechende Services an.

Automatisch skalierende Server

Sie müssen Ihre Anwendungen nicht containerisieren und unter Kubernetes ausführen, um sie automatisch in der Cloud zu skalieren. Die meisten Public Clouds bieten Ihnen die Möglichkeit, virtuelle Maschinen und Services je nach Auslastung automatisch nach oben (oder unten) zu skalieren, indem Sie entweder Instanzen hinzufügen (oder abziehen) oder die Instanzgröße erhöhen (oder verringern).

Planetarische Datenbanken

Die großen Public Clouds und mehrere Datenbankanbieter haben verteilte Datenbanken im Weltmaßstab implementiert. Diese verfügen über Datenstrukturen, redundante Verbindungen und verteilte Konsensalgorithmen, mit denen sie Effizienz und eine Zuverlässigkeit von bis zu 99,999 Prozent gewährleisten können.

Zu den Cloud-spezifischen Beispielen gehören:

Beispiele von Anbietern sind etwa:

Hybride Services

Unternehmen mit umfassenden Data-Center-Investitionen möchten ihre bestehenden Anwendungen und Dienste oft in die Cloud auslagern, statt sie durch Cloud-Services zu ersetzen. Alle großen Cloud-Anbieter bieten genau diese Möglichkeit: Sowohl durch die Nutzung spezifischer hybrider Dienste (zum Beispiel Datenbanken, die Rechenzentren und Clouds umfassen können) als auch durch lokale Server und Edge-Cloud-Ressourcen, die mit der Public Cloud verbunden sind – oft als Hybrid Clouds bezeichnet.

Skalierbare Schulungen

Das Training im Rahmen von Machine Learning benötigt – insbesondere beim Deep Learning – sehr umfangreiche Rechenressourcen. Machine Learning Prediction benötigt diese hingegen nur für ein paar Sekunden pro Vorhersage – außer es handelt sich um Batch Predictions. Für diese Zwecke Cloud-Ressourcen zu nutzen, ist oft der bequemste Weg zum Ziel.

Cloud-GPUs, TPUs und FPGAs

Deep Learning mit umfangreichen Modellen und Datensätzen, die für ein exaktes Training erforderlich sind, kann auf CPU-Clustern oft erheblich länger als eine Woche dauern. GPUs, TPUs und FPGAs können die Trainingszeit erheblich verkürzen. Da diese auch in der Cloud verfügbar sind, können sie bei Bedarf einfach eingesetzt werden.

Vorgefertigte KI-Dienste

Viele KI-Services lassen sich gut mit vorab trainierten Modellen umsetzen. Use Cases wären etwa die Übersetzung zwischen verschiedenen Sprachen, Text-to-Speech-Transkriptionen oder Bilderkennung. Alle großen Cloud Services bieten mittlerweile vortrainierte KI-Services an, die auf robusten Modellen basieren.

Anpassbare KI-Dienste

Manchmal erfüllen die vortrainierten KI-Dienste nicht die Anforderungen. Mit Transfer Learning werden einige wenige neuronale Netzwerkschichten auf ein bestehendes Modell aufgesetzt. So lassen sich relativ schnell maßgeschneiderte Services erstellen. Auch diese Funktion bieten alle großen Cloud-Service-Anbieter, wenn auch mit unterschiedlicher Nomenklatur.

Monitoring Services

Alle Clouds unterstützen mindestens einen Monitoring Service und machen es Ihnen leicht, Ihre Cloud-Dienste entsprechend zu konfigurieren. Diese Services bieten in der Regel ein anpassbares Dashboard, so dass Ausnahmen und ungewöhnliche Leistungsindikatoren stets im Blick bleiben.

Verteilte Dienste

Datenbanken sind nicht die einzigen Dienste, die von einer verteilten Ausführung profitieren können. Das Problem ist die Latenzzeit: Wenn die Rechenressourcen weit von den Daten oder den zu verwaltenden Prozessen entfernt sind, dauert es zu lange, Anweisungen und Informationen zu senden und zu empfangen. Ist die Latenzzeit in einer Rückkopplungsschleife zu hoch, kann die Schleife leicht außer Kontrolle geraten. Wenn die Latenzzeit zwischen dem maschinellen Lernen und den Daten zu hoch ist, kann die Zeit, die für das Training benötigt wird, drastisch steigen.

Um dieses Problem zu lösen, bieten Cloud-Anbieter vernetzte Appliances an, die ihre Dienste auf die Rechenzentren des Kunden (Hybrid Cloud) oder in die Nähe der Fabrikhallen des Kunden (Edge Computing) ausweiten können.

Edge Computing

Die Notwendigkeit, Analysen und maschinelles Lernen geografisch näher an Maschinen und andere reale Objekte zu bringen (Internet of Things), hat zu spezialisierten Geräten wie etwa Miniatur-Rechnern mit GPUs und Sensoren geführt sowie zu Architekturen, die diese unterstützen (Edge-Server, Automatisierungsplattformen und Content-Delivery-Netzwerke).

Letztendlich sind all diese Devices mit der Cloud verbunden, aber die Möglichkeit, Analysen am Netzwerkrand zu fahren, kann das Volumen der Daten, die an die Cloud gesendet werden, erheblich reduzieren und die Latenzzeit verringern. (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Network World.

https://www.computerwoche.de/a/die-staerksten-cloud-innovationen,3552494

Leave a Reply