Nichts geht mehr

Rien ne va plus – Umdenken für Architekten in der Cloud

Uwe Friedrichsen und Stephan Kepser

In den letzten zehn bis fünfzehn Jahren haben sich eine Reihe von Architekturparadigmen etabliert, die heute die Grundlage für Unternehmensanwendungen definieren und in vielfältigen Standards, Frameworks und Best Practices so fest verankert sind, dass man kaum noch darüber nachdenkt. Wendet man diese Paradigmen unreflektiert auf Cloud-Anwendungen an, führt das in der Regel zu ernüchternden Resultaten. Insbesondere die für Cloud Computing wichtigen Eigenschaften Skalierbarkeit, Elastizität und Robustheit sind auf diese Weise nicht erreichbar. Wir müssen also umdenken, um die Potenziale der Cloud freizusetzen. Dieser Artikel betrachtet einige der veränderten Konzepte und Herangehensweisen an Cloud-Architekturen.

Cloud Computing ist zurzeit en vogue. Die Analysten prophezeien ein gigantisches Wachstum. Es gibt kaum ein Produkthersteller oder Beratungshaus, das sich nicht mit dem Begriff schmückt, und immer mehr Anwender beginnen, das Thema für sich zu entdecken. Es ist aber nicht nur ein Hype, es gibt ganz reale Gründe dafür.

Treiber für Cloud Computing

Da ist zum einen die Elastizität. Es ist für Unternehmen sehr schwer, Peak-Lasten vorherzusehen und hinreichende Ressourcen dafür vorzuhalten. Zum einen sind Peak-Lasten sowohl vom Zeitpunkt als auch vom Volumen her sehr schwer vorherzusagen. Dazu kommen noch saisonale Schwankungen wie das Weihnachtsgeschäft bei vielen Unternehmen. Will man für diese Lastspitzen gerüstet sein, muss man sehr große Reserven in seinen Rechenzentren vorhalten, die fast die ganze Zeit brachliegen.

Ein weiterer Punkt ist das Thema Big Data. Die Datenmengen wachsen in Größenordnungen, die nicht mehr in einem Rechnerknoten verarbeitet werden können. Auch klassische Clustertechnologien, wie sie die meisten Datenbankanbieter im Programm haben, stoßen dabei an ihre Grenzen. Man muss nicht gleich Google oder Facebook sein, um mit solchen Datenmengen konfrontiert zu werden. Allein schon die Menge an Informationen, die man heute im Kontext der interaktiven Kommunikation mit seinen Kunden und Geschäftspartnern z. B. via sozialen Netzwerken aufbauen kann, lassen die Datenmengen explodieren.

Die Grenzen der vorherrschenden Architekturen

In solchen Umgebungen stoßen klassische Softwarearchitekturen für Unternehmensanwendungen an ihre Grenzen. Sie sind für eher fest umrissene Last- und Datenvolumenszenarien entworfen. Diese Architekturen zeichnen sich durch den strikten Einsatz von Transaktionen und enge Replikation aus, um maximale Datenkonsistenz zu jedem Zeitpunkt zu garantieren. Sie werden durch viele Produkte, Frameworks und Bibliotheken unterstützt, die die zugrunde liegenden Prinzipien implementieren. Das ist in den letzten zehn bis fünfzehn Jahren so weit perfektioniert worden, dass diese Prinzipien als Standard für jedwede Anwendungsentwicklung gesehen werden. Stößt man aber auf Anforderungen für nahezu unbegrenzte Elastizität und Datenvolumina, dann tragen diese Prinzipien nicht mehr, weil sie diese Anforderungen nicht unterstützen.

Zusätzlich tut sich an der Stelle das Thema Wirtschaftlichkeit als weiterer Treiber für Cloud-Architekturen auf. Die meisten klassischen Lösungen haben die Eigenschaft, dass ihre Kosten mit steigender Rechenleistung und steigendem Datenvolumen überproportional ansteigen, insbesondere wenn eine hohe Verfügbarkeit gefordert ist. Dieses Problem müssen Cloud-Architekturen ebenfalls lösen. Es muss sichergestellt werden, dass die Kosten maximal linear mit der Systemskalierung ansteigen, besser sogar unterproportional.

Umdenken ist also angesagt. Viele der „liebgewordenen“ Konzepte für das Design von Unternehmensanwendungen aus den letzten zehn bis fünfzehn Jahren sind nicht auf Cloud-Szenarien übertragbar. Eine infrastrukturagnostische Entwicklung scheint nicht mehr durchgängig möglich zu sein, die Illusion der lokalen Single-Thread-Entwicklung trägt nicht mehr, die engen Transaktionen und die vielen Produkte und Frameworks reichen nicht mehr aus. Ein Anpassen der Architekturen und des Designs auf die veränderten Anforderungen ist notwendig. Aber wie sehen die neuen Konzepte denn nun aus?

Geschrieben von
Uwe Friedrichsen und Stephan Kepser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.