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

Automatisierung

Automatisierung ist eine Voraussetzung, um elastische Anwendungen bereitstellen zu können. Ohne ein automatisiertes Deployment und einen automatisierten Start der verschiedenen Anwendungsteile ist es schlicht nicht möglich, eine Anwendung in kürzester Zeit, d. h. binnen Minuten, zu skalieren. Das beginnt mit einem automatisierten Aufspielen von System-Images auf die typischerweise virtualisierten Instanzen und geht über einen automatisierten Start des Systems bis hin zur Sicherstellung eines konsistenten Ausgangszustands nach dem Start.

Dabei ist es notwendig, dass ein entsprechendes Monitorprogramm beim Erkennen einer erhöhten Systemlast selbstständig eine neue Instanz des benötigten Anwendungsteils aufsetzen und starten kann. Bei der Auswahl der Virtualisierungsumgebung muss man darauf achten, dass solche Automatisierungen prinzipiell möglich sind. Außerdem muss man sich beim Design der Anwendung auch darum kümmern, dass diese Lastüberwachungs- und Skalierungsthemen berücksichtigt und realisiert sind, denn out of the Box bekommt man sie bislang noch nicht in der für wirklich elastische Anwendungen benötigten Form.

Weitere Aspekte

Es gibt noch diverse weitere Prinzipien, die hier nicht beschrieben worden sind, die man aber auch beim Design von Cloud-Anwendungen berücksichtigen muss. So muss man sich z. B. Gedanken um das Konfigurationsmanagement machen oder auch um Mandantenfähigkeit [7].

Sicherheit ist ein weiteres Thema, das man beim Design von Cloud-Anwendungen unbedingt betrachten muss. Das Thema ist allerdings so umfangreich, dass es diesen Artikel sprengen würde. Deshalb belassen wir es hier bei dem Hinweis, dass man dieses Thema unbedingt beachten muss, da es häufig auch direkten Einfluss auf das resultierende Anwendungsdesign hat.

Es gibt mittlerweile umfangreiche Literatur, aus der man weitere Empfehlungen für das Design elastischer und hochverfügbarer Cloud-Anwendungen ziehen kann. Eine recht gute und kompakte Einführung hat z. B. J. Varia gegeben [8], [9].

Fazit und Ausblick

Zusammenfassend lässt sich festhalten, dass viele der in den vergangenen Jahren als „selbstverständlich“ erachteten Architektur- und Designprinzipien für Unternehmensanwendungen im Zusammenhang mit Cloud-Anwendungen überdacht werden müssen, da bei Cloud-Anwendungen gegenüber klassischen Unternehmensanwendungen oftmals stark veränderte nicht funktionale Anforderungen gelten. Entsprechend kann man viele Aufgaben im Cloud-Umfeld nicht mehr in der gewohnten Form auf die Infrastrukturkomponenten und Frameworks abwälzen. Natürlich sind die Hersteller mittlerweile auf den Cloud-Hype aufgesprungen und versprechen volle Cloud-Fähigkeit ihrer Produkte. Da muss man aber derzeit noch genau hinschauen. Viele der Angebote sind geeignet, Cloud-Anwendungen bis zu einer gewissen Größenordnung gut zu unterstützen. Wenn es allerdings in Richtung nahezu beliebiger Skalierbarkeit geht, dann stoßen praktisch alle Produktlösungen an ihre Grenzen. Da bleibt oft nichts anderes übrig, als die Anwendung selbst zu entwerfen und umzusetzen.

Wir sind davon überzeugt, dass Cloud-Anwendungen die Architektur und das Design von Anwendungen in den kommenden Jahren nachhaltig prägen und verändern werden. Aktuell stehen wir zumindest im Zusammenhang mit echt elastischen und hochverfügbaren Cloud-Anwendungen noch recht nah am Anfang, und es wird spannend sein zu beobachten (oder auch mitzugestalten), wie sich das Thema in den nächsten Jahren weiterentwickeln wird.

Uwe Friedrichsen hat langjährige Erfahrungen als Architekt, Projektleiter und Berater. Aktuell ist er bei der codecentric AG als CTO tätig und beschäftigt sich in dem Kontext insbesondere mit agilen Verfahren und neuen Architekturansätzen und Technologien wie Cloud Computing.

Stephan Kepser hat mehrjährige Erfahrung als Architekt und Berater. Zurzeit ist er bei der codecentric AG als Senior Consultant tätig und beschäftigt sich insbesondere mit aktuellen Technologien wie Cloud Computing.

Kommentare

Schreibe einen Kommentar

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