Cloud Architekturen – was wird unter dem Begriff verstanden?
Helmut Königseder: Cloud Architekturen bereiten die Software für den Betrieb in der Cloud – also im Wesentlichen „fremden Rechenzentren“ – vor. Dabei wird zwischen verschiedenen Arten von Architekturen unterschieden. Das Spektrum reicht von „Cloud ready“, also grundsätzlich bereit für den Betrieb in der Cloud, bis hin zu Software, die speziell für die Cloud entworfen und gebaut wurde, sogenannter „Cloud native Software“.
Cloud ready sind heute viele gebräuchliche Architekturansätze. Eines der Standardmuster ist es, Software für die Verwendung in Kubernetes Clustern vorzubereiten. Hier muss die Software im Wesentlichen „Best Practices“ berücksichtigen, die z.B. der 12-Faktor-App-Methode zugrunde liegen, damit Portabilität und Stabilität sichergestellt sind. Solange diese Qualitäten erfüllt sind und die Anwendung zu einem Container-Imagegebaut werden kann, ist sie grundsätzlich Cloud fähig.
Für das andere Ende des Spektrums, der Cloud native Software, muss sich in der Designphase bewusst entschieden werden. Dabei gibt es einige Abwägungen zu berücksichtigen, wie z.B. den Grad des Vendor-Lock-Ins. Entscheidet sich ein Kunde für den alleinigen Einsatz eines einzelnen großen Cloud-Anbieters, kann dessen Angebotskatalog voll ausgeschöpft und spezialisierte Dienste verwendet werden. Dies erleichtert viele Aspekte der Softwareentwicklung – und des Betriebs, vom vereinfachten Hosting einer Website über gemanagte Datenbanken bis hin zu teilgenerierter Software.
Es wird viel über „private“ und „public“ Cloud gesprochen – worin besteht der Unterschied und der jeweilige Vorteil?
Helmut Königseder: Die „public cloud“ sind öffentliche Rechenzentren, wie z.B. von AWS oder Azure. Implizit ist mit dem Begriff Cloud meist die public cloud gemeint. Dort schlagen die Vorteile von Cloud Architekturen, z.B. Skalierbarkeit bei gleichzeitiger Elastizität, am stärksten zu. Public Cloud-Anbieter haben häufig spezielle Services, die auch schwierige Anforderungen, wie die Verarbeitung großer Datenmengen oder Machine Learning-Ansätze leichter lösbar machen.
Eine „private cloud“ beschreibt ein cloudartiges Rechenzentrum, auf das nur der Kunde selbst Zugriff hat. Manche Unternehmen betreiben diese private cloud in eigenen Rechenzentren, andere vertrauen auf Subunternehmer, die – netzwerktechnisch - abgeschottete Cloud-Umgebungen zur Verfügung stellen können. Die private cloud bietet mehr Sicherheit und Konfigurierbarkeit für die Kundenanforderungen, jedoch üblicherweise für deutlich höhere Kosten. Es gibt einige etablierte Standards bzw. große Open-Source-Projekte wie Cloud Foundy oder Kubernetes, die besonders häufig in einer private cloud zum Einsatz kommen und, durch ihre quasi standardisierten Schnittstellen, Entwicklung und Betrieb vereinfachen.
Als dritte Spielart ist noch der „hybrid cloud“-Ansatz zu nennen, der die Vorteile der private und public cloud verbinden soll.
Die eine optimale Architektur gibt es nicht. Gemeinsam mit den Kundinnen und Kunden müssen die individuellen Anforderungen geprüft und so ein passendes Vorgehen konzipiert werden.
Warum wird die Verwendung von Cloud-Technologie gerade in der öffentlichen Verwaltung kritisch gesehen?
Helmut Königseder: Vertrauen ist für die öffentliche Verwaltung wesentlich: Bürgerinnen und Bürger geben gegenüber der Verwaltung ihre persönlichen Daten preis. Diese Informationen sind in hohem Maße schutzbedürftig – es wird ein verantwortungsvoller Umgang erwartet.
Wenn über Cloud Computing im eigentlichen Sinne geredet wird, geht es um den Betrieb von Software in einem Rechenzentrum, auf welche nicht in vollem Maße zugegriffen bzw. kontrolliert werden kann. Der Cloud-Betreiber stellt Hardware, Personal und üblicherweise auch Software für den Betrieb zur Verfügung. Das erweckt – vor allem bei sensiblen Daten – kein besonderes Vertrauen.
Hinzu kommt, dass unter den größten Anbietern im Cloud Computing vor allem amerikanische Konzerne sind. Sie haben einen großen Vorsprung vor europäischen Unternehmen, was Größe, aber auch Qualität des Angebots betrifft. Der 2018 verabschiedete Cloud Act hat den amerikanischen Sicherheitsbehörden weitreichende Befugnisse bezüglich des Zugriffs auf Daten amerikanischer Unternehmen – auch im Ausland – gegeben. Auch wenn alle Cloud-Anbieter eine Reihe technischer Möglichkeiten anbieten, die Kundendaten vor diesem Fremdzugriff zu schützen, bleibt die Frage, inwieweit man dem vertrauen kann.
Wie können wir diesen Bedenken entgegenwirken, welche Alternativen gibt es?
Helmut Königseder: Zum einen können wir beraten und gemeinsam mit unseren Kundinnen und Kunden identifizieren, in welcher Umgebung die Software am besten laufen sollte. Sicherheitsunkritische Teile einer geplanten Software, die gut von den Vorteilen der Cloud profitieren könnte, kann ausgegliedert und in der public cloud mit speziellen Services betrieben werden, während die sicherheitskritischen Teile im Rechenzentrum des Kunden verbleiben. Also im Grunde ein hybrider Ansatz.
Auch die Auswahl eines geeigneten Cloud-Anbieters spielt eine Rolle. Europäische Cloud Unternehmen, die nicht unter den Cloud Act fallen, sind eine gute Alternative. Wir haben beispielsweise mit Ventus Cloud gearbeitet, einem kleineren österreichischen Anbieter. Stehen aktuelle Standards im Vordergrund, ist ein weiterer guter Ansatzpunkt das europäische Gaia-X Projekt. Der Betrieb basiert dort ebenfalls auf Kubernetes Clustern. Darüber hinaus gibt es eine ganze Reihe sinnvoller Festlegungen, die Software leichter portierbar machen. Zusätzliche bietet Gaia-X per design einen hohen Grad an Sicherheit in Bezug auf Compliance, da dort auch nichtfunktionale Anforderungen – wie z.B. Data Privacy-Anforderungen – gegenüber dem Kunden sichtbar gemacht werden.
Zusätzlich gibt es auch die Möglichkeit, mit modernen Architekturansätzen von Anfang an „cloud readyness“ anzustreben, ohne von vornherein auf ein Rechenzentrum in der Cloud zu setzen. Die Kriterien der 12-Faktor-App-Methode ist dafür eine gute Orientierung. Sollten sich später die Anforderungen ändern und die Cloud die richtige Wahl werden, kann so leichter migriert werden.
Vertrauen ist für die öffentliche Verwaltung wesentlich […] es wird ein verantwortungsvoller Umgang erwartet.
Wie sieht eine ideale Cloud Architektur aus?
Helmut Königseder: Die eine optimale Architektur gibt es nicht. Gemeinsam mit den Kundinnen und Kunden müssen die individuellen Anforderungen geprüft und so ein passendes Vorgehen konzipiert werden. Die public cloud-Angebote der großen amerikanischen Anbieter sind oft verlockend, werfen aber wie erwähnt sicherheitsrelevante Fragestellungen auf. Aus meiner Sicht ist deswegen die Orientierung an großen Open-Source-Produkten und Standards wie Kubernetes eine gute Idee für „Standardanwendungen“. Sobald die Anforderungen spezieller werden – denken wir an das Internet der Dinge (IoT) oder maschinelles Lernen – kann das immer noch ein ausreichender Ansatz für den Betrieb der Anwendungen sein. Gleichzeitig wird es aber immer wahrscheinlicher, dass ein spezialisierter Service eines public cloud-Anbieters deutlich bessere Ergebnisse erzielen kann als selbstgeschriebene Software im Eigenbetrieb.
Diese Abwägung der unterschiedlichen Betriebs- und Architekturoptionen, von der Kundenindividualsoftware im Eigenbetrieb bis zur Orchestrierung unterschiedlicher Services von public cloud-Anbietern, ist aus meiner Sicht Teil unserer Aufgabe, um zu einem langfristig betreibbarem Stück Software zu kommen.
Interviewpartner
Helmut Königseder
ist als Lead IT Consultant bei der msg system ag tätig. Seit 2017 ist sein Kerngebiet Cloud Computing. Er verantwortet in diesem Zusammenhang die Architektur der kommunalen Smart City Datenplattform der msg (koda.city).