Sollen Anwendungen in die Cloud verlagert werden, heißt es, diese auch für die Cloud zu entwickeln und sich nicht starr an die bekannten Pattern zu halten. Denn die Cloud verzeiht keine Ineffizienz. Möchte man den Vorteil der Cloud wie Infrastructure-as-a-Service (IaaS) oder Platform-as-a-Service (PaaS) für sich nutzen, bedeutet dies mehr Arbeit, als die meisten IT-Abteilungen vermutlich glauben.
Unternehmens-IT ist sehr komplex
Trotz der großen Euphorie um die Cloud, sollte man nicht vergessen wie komplex die Unternehmens-IT im Laufe der Zeit geworden ist. Dabei ist die Komplexität jedoch nicht das Ergebnis der IT oder der Technologien selbst. Es ist die Summe aller Einflüsse aus dem Unternehmen und was von der IT erwartet wird. Alle Technologien müssen aufeinander optimal abgestimmt werden, die internen Prozesse unterstützen und zugleich noch schnellstmöglich und mit minimalem Budget realisiert werden.
In der Regel bedeutet dies, kommerzielle Softwarelösungen einzukaufen. Diese an die Bedürfnisse des Unternehmens anzupassen und anschließend so zu integrieren, dass manuell so wenig wie möglich angepasst werden muss und gleichzeitig das Maximum an Informationen aus dem Unternehmen gezogen werden kann. Mehrere proprietäre Softwarelösungen plus deren Integration führen zu einer komplexen IT-Umgebung. So kann eine IT-Infrastruktur schnell aus z.T. mehreren hunderten von Anwendungen bestehen. Diese wurden unabhängig voneinander und mit unterschiedlichen Design-Standards entwickelt und tragen die Handschrift verschiedener Architekten.
Die Migration in die Cloud ist eine Herausforderung
Die bestehenden Anwendungen in die Cloud zu migrieren ist eine nicht zu unterschätzende Aufgabe. Im Gegenteil, es ist sehr wahrscheinlich, dass die meisten on-Premise Applikationen aus dem Portfolio trotz eines neuen Entwurfs nicht ihren Weg in die Cloud finden. Die IT-Abteilungen werden es nicht schaffen, die bestehenden proprietären Lösungen “einfach so” in die Cloud zu verschieben, das funktioniert nicht. Jede einzelne Lösung für sich ist ein Individuum und hat spezielle Konfigurationen und Eigenschaften, die eine Cloud so nicht unterstützen kann.
Fassen wir mal ein paar Punkte zusammen:
- Anpassung vornehmen, damit die Anforderungen erfüllt werden. – Nicht einfach!
- Integration mit weiterhin bestehenden lokalen Anwendungen (hybrid). – Nicht einfach!
- Dokumentation der Konfigurationen für eine erneute Migration. – Nicht einfach!
- Sicherstellen der korrekten Lizenzierung. – Nicht einfach!
- . . . – Nicht einfach!
Soll ein selbst entwickeltes System in die Cloud verlagert werden, wird es nicht einfacher. Es ist vergleichbar mit dem re-Design einer COBOL Batch-Anwendung für Mainframes in eine objektorientierte Variante. Denn so wie man von der COBOL Applikation in die objektorientierte Applikation die Objekte im Hinterkopf behalten musste, so muss man heute die Eigenschaften und Möglichkeiten der Cloud berücksichtigen.
Ist eine Anwendung erfolgreich in die Cloud migriert worden, bedeutet das jedoch nicht, dass es mit der Zweiten einfacher wird. Im Gegenteil, es kann sogar schwieriger werden. Denn jede Anwendung hat ihre individuellen Eigenschaften und basiert i.d.R. auf anderen technischen Standards und einem eigenen Design.
Zeit und Geduld
Verfolgt man das Ziel, das gesamte Portfolio in die Cloud zu verlagern, muss man sich auf einen langen und hügeligen Weg vorbereiten. Das saubere re-Design einer Anwendung oder gar der gesamten IT-Umgebung für die Cloud benötigt Zeit und vor allem Geduld. Denn wenn es so einfach wäre, gebe es schon mehrere Referenzprojekte.
Bildquelle: http://ccis.ucsd.edu