In die Cloud will fast jeder heutzutage. Der Weg dahin ist aber oft von Unsicherheit geprägt. Wir wollen daher in diesem Artikel über Ansätze zur Migration in die Cloud sprechen, wie diese sich gestalten können und was zu tun ist, wenn die Anwendungslandschaft schließlich in der Cloud angekommen ist.
Bei der Begleitung diverser Migrationen in die Cloud wurde schnell klar, dass es nicht den einen Weg gibt. Am Anfang von Migration zu sprechen, ist oft geradezu vermessen, denn es stellt sich die Frage: Was genau soll eigentlich in die Cloud? Eine häufige Antwort ist natürlich: alles! – und natürlich unverzüglich! Die Verlockung ist groß, alles in die Cloud zu hieven, um direkt von vermeintlichen Mehrwerten zu profitieren. Ein hehres Ziel, das leider häufig im Konflikt mit der Komplexität der oft über Jahre gewachsenen Anwendungslandschaft steht.
Selbst eine Migration, bei der die Anwendungslandschaft nahezu direkt und ohne Anpassungen für die Cloud migriert wird, stellt nicht selten eine monumentale Aufgabe dar. Dieses Vorgehen deckt mitunter schnell Eigenarten der eigenen Infrastruktur auf. Fehlende Erfahrung mit der Cloud verleiten einen jedoch schnell, diese Sonderlocken weiterhin beizubehalten und in Zukunft darunter zu leiden.
Auch wenn diese eher unreflektierte Migration der Anwendungslandschaft gelingt, können die wirklichen Mehrwerte der Cloud häufig noch nicht ausgespielt werden. Dennoch hat sich gezeigt, dass diese Art der Migration sinnvoll sein kann, da die erste Hürde für die wertvolleren nächsten Schritte deutlich geringer ist, nicht zuletzt auch durch die bei der Migration gewonnenen Erfahrung.
Ein anderer Migrationspfad ist die schrittweise Übertragung einzelner Teile der Anwendungslandschaft, bei der Anwendungen zuvor gewissermaßen Cloud-Ready gemacht werden. So können Funktionalitäten der Cloud von Anfang an optimal genutzt werden. Zunächst muss also überlegt werden, welche Auswirkungen die Migration in die Cloud auf die Architektur der Anwendung hat.
Erst nach notwendiger Anpassung erfolgt die eigentliche Migration in die Cloud. Bis sich eine Anwendung nahtlos in das Cloud-Gefüge einfügt, werden sicher einige Iteration nötig sein. Hierdurch kommt es aber zu einem enormen Erfahrungsgewinn und die Zuversicht steigt, auch die übrige Anwendungslandschaft erfolgreich in die Cloud überführen zu können.
Ist die Anwendungslandschaft nun in die Cloud bewegt worden, heißt dies allerdings nicht, dass die Arbeit erledigt ist. Vielmehr gilt es jetzt ein gewisses Cloud-Mindset zu entwickeln. Auch in der Zukunft soll garantiert sein, dass Anwendungen erfolgreich für die Cloud entwickelt und auch ihre Mehrwerte genutzt werden. Idealerweise wird dieses Mindset auf breiter Basis im Unternehmen etabliert, um das Potential der Cloud in allen Bereichen vollends auszuschöpfen. Schließlich soll die Arbeit nicht umsonst gewesen sein.
Es hat sich oft gezeigt, dass vor der Migration bestehender Anwendungen zunächst einmal Erfahrung in der Cloud gesammelt werden sollte. Eine gute Gelegenheit sind häufig Neuentwicklungen, die bewusst direkt für die Cloud entwickelt werden. Da frei von Altlasten entwickelt werden kann, ist die Entwicklung weniger geprägt von alten Denkmustern. Diese stehen können einem möglichen Betrieb in der Cloud häufig im Weg stehen. Auch das Risiko, dass der Produktivbetrieb gefährdet ist, lässt sich hier ausblenden und ermutigt das Ausprobieren neuer Ansätze, die überhaupt erst durch die Cloud ermöglicht werden.
Wie konkret die ersten Schritten oder gar die Migration aussieht, hängt auch vom bereits vorhandenen Wissen sowie der Architektur der Anwendungen ab. Folgen diese bereits gängigen Praktiken, hat dies oft einen positiven Einfluss auf die Migration. Sauber geschnittene Anwendungen, die nach Cloud-Native-Prinzipien entwickeln wurde, lassen sich natürlich leichter migrieren als ein behäbiger Monolith mit undurchsichtigen Abhängigkeiten und Voraussetzungen.
Egal wie die Migration gestaltet wird, muss irgendwann der erste Schritt getan werden. Nicht selten geht dem ersten Schritt in die Cloud eine Menge Planung voraus, um auch ja nichts falsch zu machen. Der Weg in die Cloud soll schließlich reibungslos funktionieren. Es droht jedoch die Gefahr, sich in langen Strategie-Papieren, ausgiebigen Planungsrunden und anderen eher theoretischen Maßnahmen zu verlieren – auch wenn diese natürlich auf lange Sicht ein wichtiges und notwendiges Mittel darstellen. Um einen gelungen Start in die Cloud zu ermöglichen, muss jedoch erstmal ein Gefühl für die Cloud – und speziell auch den gewählten Cloud-Anbieter – entwickelt werden. Was ist der beste Weg dies zu tun? – Einfach mal machen!
Jeder großer Cloud-Anbieter kommt praktischerweise mit einer Web-UI daher, mit der fast schon spielerisch die angebotenen Funktionalitäten erforscht und verwendet werden können. So ist es sinnvoll, einfach mal die Infrastruktur einer bestehenden Anwendung in der Cloud nachzustellen, auch wenn diese noch gar nicht angebunden wird. Hierdurch wird schnell klar, welche Bausteine benötigt werden, um die tatsächliche Migration in Angriff zu nehmen. Nach den ersten Gehversuchen kann dann versucht werden, die Anwendung in die Cloud zu übertragen. Läuft die Anwendung einmal in der Cloud – zumindest in rudimentärer Art und Weise – konnte bereits ein gutes Verständnis für die anstehenden Anforderungen aufgebaut werden.
Natürlich ist die Bereitstellung von Anwendung über die Web-UI des Cloud-Anbieters keine langfristige Lösung. Mit einem Klick in der UI einfach weitere Instanz der Anwendung zu starten, um kurzfristig eine Lastspitze abzufangen, gibt einem jedoch ein sehr plastisches das Gefühl dafür, welche Möglichkeiten einem die Cloud gegenüber der alten Infrastruktur bieten.
Erst nachdem ein Gefühl für die Cloud entwickelt wurde, sollten Themen wie Automatisierung der Bereitstellung angegangen werden. Um die Vorzüge von automatisierter Infrastruktur – etwas in Form von Infrastructure as Code – nachvollziehen zu können, schadet es nicht, sich mal die Hände schmutzig gemacht zu haben. Der anfängliche und durchaus höhere Mehraufwand von Automatisierung sollte nicht vor den eigentlichen Aufgaben der Migration ablenken. Wichtig ist nur, diesen Schritt nicht aus dem Auge zu verlieren und – sobald das Gefühl für die Cloud da ist – diesen auch Umzusetzen.
Ist die Migration in die Cloud endlich vollendet, stehen einem plötzlich die schier endlos erscheinenden Möglichkeiten der Cloud zur Verfügung. Die Cloud-Anbieter sind aber mitunter sehr erfinderisch beim Angebot von Lösungen für Probleme, die im Unternehmen überhaupt nicht existieren. Ein geschultes Auge sollte hier das durchaus kluge Marketing der Produkte durchschauen und erst nach sorgfältiger Analyse die angebotene Lösung in Betracht ziehen. Im Fokus muss hier stets der Business-Value stehen, der durch die Verwendung des Produkts erbracht werden kann.
Auf ähnliche Weise scheinen gewisse Cloud-Dienste nur auf den ersten Blick die richtige Lösung für ein Problem zu sein. Beim genauen Hinschauen wird jedoch klar, dass diese eben nicht die 100%-Lösung darstellen, sondern – im Gegenteil – gewisse Kompromisse erfordern, die beim Verzicht auf das entsprechende Produkt nicht eingegangen werden müssten. Es sollte also wohl überlegt sein, ob der Mehrwert des Dienstes das notwendige Verbiegen rechtfertigt.
Nur weil die Wahl schließlich auf einen Cloud-Anbieter gefallen ist, sollte deswegen nicht gänzlich der Blick auf andere Cloud-Angebote vermieden werde. Zwar ist der Vorteil, alle Cloud-Dienste aus einem Hause zu nutzen, nicht von der Hand zu weisen, dennoch kann ein Blick auf andere Cloud-Anbieter durchaus lohnenswert sein. So ist es etwa nicht untypisch, einen Großteil seiner Anwendungslandschaft mit Amazon Web Services zu betreiben, aber dennoch selektiv für Content Delivery und Edge Computing punktuell auf Cloudflare zu setzen. Versperrt sich ein Unternehmen gänzlich der Verwendung anderer Anbieter, muss im Zweifel ein weniger passender Cloud-Dienst der besseren Alternative vorgezogen werden.
Bietet sich ein Cloud-Produkt für ein Problem an, sollte stets erwogen werden, ob ein möglicher Vendor-Lock-In in Kauf genommen werden soll. Ein zukünftige Migration zu einem alternativen Produkt oder einen eigenen Lösung wird hierdurch oft erschwert. Eine weiterer, oft vergessener Aspekt ist das verfügbare Wissen um die gegebene Technologie, sei es in Form von externen Beratern oder frei verfügbare Informationen im Netz. Ein vom Cloud-Anbieter angebotenes Produkt, das nur eine Variation einer frei verfügbaren Technologie ist, die jedoch mit gewissen, durchaus sinnvollen Mehrwerten daherkommt, kann sich subtil, aber auch drastisch vom Original unterscheiden. Bestehendes Wissen, kann dann oft nur partiell Anwendung finden. Ein Verzicht auf diese Mehrwerte zugunsten einfacherer Wartung in der Zukunft, kann also durchaus sinnvoll ein.
Der Weg in die Cloud kann durchaus als Abenteuer beschrieben werden. Das gewählte Vorgehen entscheidet oft über Erfolg und Misserfolg. Pauschale Aussagen, die einen Erfolg garantieren, gibt es natürlich nicht, aber mit kleinen Schritten und dem bewussten Ziel, zunächst einmal Erfahrung und Cloud-Wissen aufzubauen, erhöhen sich die Chancen auf Erfolg ungemein.
War die Reise letztlich erfolgreich, sollten die Augen immer noch wachsam sein und immer wieder hinterfragt werden, welche Funktionalität tatsächlich Mehrwerte bieten und nicht nur Lösung für ein nicht existierendes Problem ist. Werden diese Spielregeln befolgt, werden auch die unausweichlichen Fehltritte in der Cloud eine wertvolle Bereicherung sein, wenn auch nur, um es beim nächsten Mal besser zu machen.
In den kommenden Wochen und Monaten erscheinen weitere Artikel zum Thema Cloud.
Weitere Artikel der Serie:
Was ist eigentlich aus Serverless geworden?
Der Artikel ist Teil der IT Spektrum 04/2022, S. 52
Die Vorschau des Magazins ist hier zu finden.
Bei der Begleitung diverser Migrationen in die Cloud wurde schnell klar, dass es nicht den einen Weg gibt. Am Anfang von Migration zu sprechen, ist oft geradezu vermessen, denn es stellt sich die Frage: Was genau soll eigentlich in die Cloud? Eine häufige Antwort ist natürlich: alles! – und natürlich unverzüglich! Die Verlockung ist groß, alles in die Cloud zu hieven, um direkt von vermeintlichen Mehrwerten zu profitieren. Ein hehres Ziel, das leider häufig im Konflikt mit der Komplexität der oft über Jahre gewachsenen Anwendungslandschaft steht.
Selbst eine Migration, bei der die Anwendungslandschaft nahezu direkt und ohne Anpassungen für die Cloud migriert wird, stellt nicht selten eine monumentale Aufgabe dar. Dieses Vorgehen deckt mitunter schnell Eigenarten der eigenen Infrastruktur auf. Fehlende Erfahrung mit der Cloud verleiten einen jedoch schnell, diese Sonderlocken weiterhin beizubehalten und in Zukunft darunter zu leiden.
Auch wenn diese eher unreflektierte Migration der Anwendungslandschaft gelingt, können die wirklichen Mehrwerte der Cloud häufig noch nicht ausgespielt werden. Dennoch hat sich gezeigt, dass diese Art der Migration sinnvoll sein kann, da die erste Hürde für die wertvolleren nächsten Schritte deutlich geringer ist, nicht zuletzt auch durch die bei der Migration gewonnenen Erfahrung.
Ein anderer Migrationspfad ist die schrittweise Übertragung einzelner Teile der Anwendungslandschaft, bei der Anwendungen zuvor gewissermaßen Cloud-Ready gemacht werden. So können Funktionalitäten der Cloud von Anfang an optimal genutzt werden. Zunächst muss also überlegt werden, welche Auswirkungen die Migration in die Cloud auf die Architektur der Anwendung hat.
Erst nach notwendiger Anpassung erfolgt die eigentliche Migration in die Cloud. Bis sich eine Anwendung nahtlos in das Cloud-Gefüge einfügt, werden sicher einige Iteration nötig sein. Hierdurch kommt es aber zu einem enormen Erfahrungsgewinn und die Zuversicht steigt, auch die übrige Anwendungslandschaft erfolgreich in die Cloud überführen zu können.
Ist die Anwendungslandschaft nun in die Cloud bewegt worden, heißt dies allerdings nicht, dass die Arbeit erledigt ist. Vielmehr gilt es jetzt ein gewisses Cloud-Mindset zu entwickeln. Auch in der Zukunft soll garantiert sein, dass Anwendungen erfolgreich für die Cloud entwickelt und auch ihre Mehrwerte genutzt werden. Idealerweise wird dieses Mindset auf breiter Basis im Unternehmen etabliert, um das Potential der Cloud in allen Bereichen vollends auszuschöpfen. Schließlich soll die Arbeit nicht umsonst gewesen sein.
Es hat sich oft gezeigt, dass vor der Migration bestehender Anwendungen zunächst einmal Erfahrung in der Cloud gesammelt werden sollte. Eine gute Gelegenheit sind häufig Neuentwicklungen, die bewusst direkt für die Cloud entwickelt werden. Da frei von Altlasten entwickelt werden kann, ist die Entwicklung weniger geprägt von alten Denkmustern. Diese stehen können einem möglichen Betrieb in der Cloud häufig im Weg stehen. Auch das Risiko, dass der Produktivbetrieb gefährdet ist, lässt sich hier ausblenden und ermutigt das Ausprobieren neuer Ansätze, die überhaupt erst durch die Cloud ermöglicht werden.
Wie konkret die ersten Schritten oder gar die Migration aussieht, hängt auch vom bereits vorhandenen Wissen sowie der Architektur der Anwendungen ab. Folgen diese bereits gängigen Praktiken, hat dies oft einen positiven Einfluss auf die Migration. Sauber geschnittene Anwendungen, die nach Cloud-Native-Prinzipien entwickeln wurde, lassen sich natürlich leichter migrieren als ein behäbiger Monolith mit undurchsichtigen Abhängigkeiten und Voraussetzungen.
Egal wie die Migration gestaltet wird, muss irgendwann der erste Schritt getan werden. Nicht selten geht dem ersten Schritt in die Cloud eine Menge Planung voraus, um auch ja nichts falsch zu machen. Der Weg in die Cloud soll schließlich reibungslos funktionieren. Es droht jedoch die Gefahr, sich in langen Strategie-Papieren, ausgiebigen Planungsrunden und anderen eher theoretischen Maßnahmen zu verlieren – auch wenn diese natürlich auf lange Sicht ein wichtiges und notwendiges Mittel darstellen. Um einen gelungen Start in die Cloud zu ermöglichen, muss jedoch erstmal ein Gefühl für die Cloud – und speziell auch den gewählten Cloud-Anbieter – entwickelt werden. Was ist der beste Weg dies zu tun? – Einfach mal machen!
Jeder großer Cloud-Anbieter kommt praktischerweise mit einer Web-UI daher, mit der fast schon spielerisch die angebotenen Funktionalitäten erforscht und verwendet werden können. So ist es sinnvoll, einfach mal die Infrastruktur einer bestehenden Anwendung in der Cloud nachzustellen, auch wenn diese noch gar nicht angebunden wird. Hierdurch wird schnell klar, welche Bausteine benötigt werden, um die tatsächliche Migration in Angriff zu nehmen. Nach den ersten Gehversuchen kann dann versucht werden, die Anwendung in die Cloud zu übertragen. Läuft die Anwendung einmal in der Cloud – zumindest in rudimentärer Art und Weise – konnte bereits ein gutes Verständnis für die anstehenden Anforderungen aufgebaut werden.
Natürlich ist die Bereitstellung von Anwendung über die Web-UI des Cloud-Anbieters keine langfristige Lösung. Mit einem Klick in der UI einfach weitere Instanz der Anwendung zu starten, um kurzfristig eine Lastspitze abzufangen, gibt einem jedoch ein sehr plastisches das Gefühl dafür, welche Möglichkeiten einem die Cloud gegenüber der alten Infrastruktur bieten.
Erst nachdem ein Gefühl für die Cloud entwickelt wurde, sollten Themen wie Automatisierung der Bereitstellung angegangen werden. Um die Vorzüge von automatisierter Infrastruktur – etwas in Form von Infrastructure as Code – nachvollziehen zu können, schadet es nicht, sich mal die Hände schmutzig gemacht zu haben. Der anfängliche und durchaus höhere Mehraufwand von Automatisierung sollte nicht vor den eigentlichen Aufgaben der Migration ablenken. Wichtig ist nur, diesen Schritt nicht aus dem Auge zu verlieren und – sobald das Gefühl für die Cloud da ist – diesen auch Umzusetzen.
Ist die Migration in die Cloud endlich vollendet, stehen einem plötzlich die schier endlos erscheinenden Möglichkeiten der Cloud zur Verfügung. Die Cloud-Anbieter sind aber mitunter sehr erfinderisch beim Angebot von Lösungen für Probleme, die im Unternehmen überhaupt nicht existieren. Ein geschultes Auge sollte hier das durchaus kluge Marketing der Produkte durchschauen und erst nach sorgfältiger Analyse die angebotene Lösung in Betracht ziehen. Im Fokus muss hier stets der Business-Value stehen, der durch die Verwendung des Produkts erbracht werden kann.
Auf ähnliche Weise scheinen gewisse Cloud-Dienste nur auf den ersten Blick die richtige Lösung für ein Problem zu sein. Beim genauen Hinschauen wird jedoch klar, dass diese eben nicht die 100%-Lösung darstellen, sondern – im Gegenteil – gewisse Kompromisse erfordern, die beim Verzicht auf das entsprechende Produkt nicht eingegangen werden müssten. Es sollte also wohl überlegt sein, ob der Mehrwert des Dienstes das notwendige Verbiegen rechtfertigt.
Nur weil die Wahl schließlich auf einen Cloud-Anbieter gefallen ist, sollte deswegen nicht gänzlich der Blick auf andere Cloud-Angebote vermieden werde. Zwar ist der Vorteil, alle Cloud-Dienste aus einem Hause zu nutzen, nicht von der Hand zu weisen, dennoch kann ein Blick auf andere Cloud-Anbieter durchaus lohnenswert sein. So ist es etwa nicht untypisch, einen Großteil seiner Anwendungslandschaft mit Amazon Web Services zu betreiben, aber dennoch selektiv für Content Delivery und Edge Computing punktuell auf Cloudflare zu setzen. Versperrt sich ein Unternehmen gänzlich der Verwendung anderer Anbieter, muss im Zweifel ein weniger passender Cloud-Dienst der besseren Alternative vorgezogen werden.
Bietet sich ein Cloud-Produkt für ein Problem an, sollte stets erwogen werden, ob ein möglicher Vendor-Lock-In in Kauf genommen werden soll. Ein zukünftige Migration zu einem alternativen Produkt oder einen eigenen Lösung wird hierdurch oft erschwert. Eine weiterer, oft vergessener Aspekt ist das verfügbare Wissen um die gegebene Technologie, sei es in Form von externen Beratern oder frei verfügbare Informationen im Netz. Ein vom Cloud-Anbieter angebotenes Produkt, das nur eine Variation einer frei verfügbaren Technologie ist, die jedoch mit gewissen, durchaus sinnvollen Mehrwerten daherkommt, kann sich subtil, aber auch drastisch vom Original unterscheiden. Bestehendes Wissen, kann dann oft nur partiell Anwendung finden. Ein Verzicht auf diese Mehrwerte zugunsten einfacherer Wartung in der Zukunft, kann also durchaus sinnvoll ein.
Der Weg in die Cloud kann durchaus als Abenteuer beschrieben werden. Das gewählte Vorgehen entscheidet oft über Erfolg und Misserfolg. Pauschale Aussagen, die einen Erfolg garantieren, gibt es natürlich nicht, aber mit kleinen Schritten und dem bewussten Ziel, zunächst einmal Erfahrung und Cloud-Wissen aufzubauen, erhöhen sich die Chancen auf Erfolg ungemein.
War die Reise letztlich erfolgreich, sollten die Augen immer noch wachsam sein und immer wieder hinterfragt werden, welche Funktionalität tatsächlich Mehrwerte bieten und nicht nur Lösung für ein nicht existierendes Problem ist. Werden diese Spielregeln befolgt, werden auch die unausweichlichen Fehltritte in der Cloud eine wertvolle Bereicherung sein, wenn auch nur, um es beim nächsten Mal besser zu machen.
In den kommenden Wochen und Monaten erscheinen weitere Artikel zum Thema Cloud.
Weitere Artikel der Serie:
Was ist eigentlich aus Serverless geworden?
Der Artikel ist Teil der IT Spektrum 04/2022, S. 52
Die Vorschau des Magazins ist hier zu finden.