Microservices: Von der Cloud zur Distributed Cloud
Bei der Entwicklung von Applikationen hat sich in den letzten Jahren ein klarer Trend vom Monolithen zu Microservices abgezeichnet. Wie die nach Baukastensystem arbeitenden Apps funktionieren, lesen Sie in Teil 1 dieser Reihe. Microservices funktionieren nach dem API-First Ansatz (API = Application Programming Interface). Das bedeutet: Größere Applikationen werden bereits im Entwicklungsprozess in kleine, flexible Module unterteilt, die untereinander Daten austauschen. Hierzu gehört im Cloud-Zeitalter aber auch die passende Infrastruktur, über die Microservices bereitgestellt werden, und gleichzeitig sicherstellt, dass die Anwendungen performant und reaktionsfreudig bleiben. Hier geht der Trend klar in Richtung Distributed Cloud, die mit vernetzten und verteilten Servern arbeitet.
Verteilt und näher am Anwender
Dieses Modell verringert die Distanz zwischen System und Anwender. Ergebnis: Die Latenz wird verkürzt, die Reaktionszeit der Applikation verbessert. Kein Anwender möchte nach seiner Dateneingabe oder Interaktion lange auf die Rückmeldung vom System zu warten. Schon kleine Verzögerungen, zum Beispiel beim Bestellen in einem Online-Shop oder dem Ausfüllen von Formularen, führen zu Frust oder Zweifel, ob der Shop überhaupt störungsfrei arbeitet.
Höhere Ausfallsicherheit
Mit der Distributed Cloud gibt es kein zentrales Rechenzentrum mehr, sondern eine Architektur, die die Rechnerlast auf kleine regionale Clouds aufteilt. Zwischen den dezentralisierten Rechenzentren können dann in einer Art Cloud-Netzwerk die Informationen ausgetauscht werden. Ein weiterer Vorteil ist hierbei neben der geringeren Latenz und besseren Performance zudem eine höhere Ausfallsicherheit, da die einzelnen Regional-Clouds unabhängig voneinander arbeiten können. Das bedeutet: Sollte ein Cloud-Server ausfallen, zieht dies nicht den Ausfall des gesamten Systems nach sich. Werden die Microservices zusätzlich noch georedundant, also gespiegelt in mehreren Rechenzentren gleichzeitig betrieben, erhöht dies die Ausfallsicherheit zusätzlich.
Edge Computing sorgt für Datenverarbeitung in Echtzeit
Die Infrastruktur einer Distributed Cloud bietet darüber hinaus die ideale Grundlage für ein Konzept, das ebenfalls zum Trend geworden ist: Edge-Computing. Ziel ist es dabei, Server und Applikationen näher an den Ort zu bringen, wo die Daten entstehen, und so deren Verarbeitungszeit spürbar zu verkürzen bzw. im Idealfall Data Processing in Echtzeit zu ermöglichen. Wer zum Beispiel Onlinebanking auf dem Smartphone nutzt, generiert dabei Daten – und erwartet, dass Vorgänge wie Überweisungen praktisch live und unmittelbar nachverfolgbar abgewickelt werden. Wenn bei solchen Standards etwa eine Wartezeit von 30 Sekunden entstünde, würde das die Geduld des Nutzers nicht nur über Gebühr in Anspruch nehmen, sondern auch Vertrauen in die Technologie sowie in deren Sicherheit und Zuverlässigkeit zerstören. Entsprechend wenige würden eine solche Banking-App überhaupt verwenden.
Datenintensive Anwendungen wie IoT verlangen nach neuen Lösungen
Die Nachfrage nach Distributed Cloud und Edge Computing wird vor allem durch datenintensive Anwendungen wie dem Internet der Dinge (IoT) vorangetrieben. Zum Beispiel nehmen vernetzte Überwachungskameras permanent Videomaterial in hoher Auflösung auf. Es entstehen also große Datenmengen. Diese permanent an ein zentrales Rechenzentrum zu schicken wäre nicht praktikabel, weil es viel zu lange dauern und die Bandbreite belasten würde. Als Lösung werden diese Daten oft lokal oder auf dezentralen Servern in räumlicher Nähe zum System selbst, etwa im gleichen Land, verarbeitet.
Schnell große Datenmengen bereitstellen
Einen ähnlichen Ansatz verfolgt Google. So nutzt das Unternehmen etwa zur Beantwortung von Suchanfragen nicht einen zentralen Rechner in den USA, sondern ein Netzwerk von vielen, die über den gesamten Globus verteilt sind. Mit dieser Infrastruktur wird es möglich, Nutzern binnen Sekundenbruchteilen zu antworten.
Datenschutz-Regularien besser erfüllen
Regional verteilte und nutzbare Rechenzentren helfen Anwendern auch in Sachen Datenschutz, wenn es um die Verarbeitung personenbezogener Daten geht, etwa die Speicherung von Name, Wohnort und Geburtsdatum im Zuge der Ausfüllung eines Registrierungsformulars. Diese muss entsprechend der Vorgaben der DSGVO erfolgen. Hostet ein Service-Provider seine Systeme in einer zentralen Cloud auf Servern, die sich Ländern außerhalb des Geltungsbereichs der DSGVO befinden, kann die Verarbeitung personenbezogener Daten, die aus einem Land stammen, das sich im Geltungsbereich der DSGVO befindet, mit zahlreichen Herausforderungen verbunden sein. Hier sind Service-Provider, die aus Ländern außerhalb des Geltungsbereichs der DSGVO stammen, im Vorteil, wenn sie auf eine Distributed Cloud setzen und in diesem Zusammenhang auch Rechenzentrum in Ländern innerhalb des Geltungsbereichs der DSGVO betreiben. Microsoft zum Beispiel nutzt mit seiner globalen Azure-Infrastruktur genau die Vorteile, die eine Distributed Cloud in dieser Hinsicht bietet.
Mehr Datenverkehr braucht mehr Sicherheit
Gleichzeitig ist die Distributed Cloud auch eine Herausforderung: In heterogenen Systemen kommt es naturgemäß zu mehr Datenverkehr und es gibt mehr Schnittstellen. Das heißt die Anforderungen an die Wartung der Cloud-Infrastruktur steigen. Gleichzeitig gewinnt bei dezentralen Systemarchitekturen und der dezentralen Verarbeitung von Daten die Frage nach deren Sicherheit an Bedeutung. Hier sind Service-Provider in der Pflicht, ihren Anwendern eine entsprechend sichere Umgebung für deren Daten zur Verfügung zu stellen. Die Auswahl der Rechenzentren insbesondere auch unter dem Gesichtspunkt der dort implementierten Sicherheitsmechanismen ist in diesem Zusammenhang einer der entscheidenden Faktoren.
Fazit: Bedarf steigt, Trend wird sich fortsetzen
Trotz der genannten Herausforderungen wird das Thema Distributed Cloud und Edge Computing an Bedeutung gewinnen, da der Bedarf nach flexibel anpassbarer und per Cloud überall verfügbarer Software steigt. Es zeichnet sich vor diesem Hintergrund ein Trend ab, dass man auch in Sachen Cloud-Infrastruktur kein monolithisches System mehr will, sondern ein kollektives Zusammenspiel vieler kleiner Lokallösungen.