Wie kommt man in die Cloud?

Eine Migration in Cloud-Umfelder muss strukturiert und mit Planung angegangen werden. Es handelt sich dabei keinesfalls nur um einen rein technischen, sondern einen sehr stark auch administrativen und prozessualen Vorgang, der für Unternehmen in Bezug auf Zusammenarbeitsmodelle und Herangehensweisen ein großes Veränderungspotenzial birgt.

 

Dieser Handlungsleitfaden will Ihnen den Umstieg in die Cloud erleichtern, indem er wichtige Aspekte und Schritte hervorhebt und näher beschreibt. Selbstverständlich kann er keinen Anspruch auf Vollständigkeit erheben, Unternehmen sind zu unterschiedlich strukturiert und aufgestellt – aber er kann Ihnen wertvolle Anregungen für Ihren Schritt in dieCloud geben.

Als strategische Entscheidung planen und behandeln

Ganz generell ist es notwendig, sich darüber klar zu werden, dass der Wechsel in ein Cloud-Umfeld eine strategische, keine taktische Entscheidung ist. Deshalb sollte dieses Thema auch organisatorisch in Form einer Top-Down-Strategie angegangen werden.

Wenn Sie die Mehrwerte von Cloud-Umfeldern aus- schöpfen wollen, können Sie sich jedoch nicht auf einem reinen Lift & Shift-Ansatz, also dem Verlagern Ihrer Applikationen und Infrastrukturen in ein Cloud-Umfeld, ausruhen, denn so lösen Sie lediglich einen Rechenzentrumsbetreiber durch einen anderen ab. Stattdessen müssen Sie ganzheitlicher agieren, um Prozesse, Einstellungen und Zusammenarbeitsmodelle anzupassen. Cloud ist, gerade wenn die möglichen Vorteile im Hinblick auf Einsparungen, Qualitäts- undEffizienzverbesserungen genutzt werden sollen, als disruptiv zu betrachten. Das bedeutet, dass sich Ihr Unternehmen, Ihr Umfeld und Ihr Mindset in seiner Gänze verändern müssen, um eventuelle Vorteile auch tatsächlich zu realisieren. Aus diesem Grund darf eine Transformation in die Cloud nicht ausschließlich von Technik, Technikern und Technologien gesteuert werden, sondern muss moderiert und orchestriert werden. Und das kann nur mit Unterstützung übergeordneter Hierarchieebenen stattfinden. Dementsprechend ist es nötig, das Thema mit angemessener Aufmerksamkeit und Unterstützung von Seiten des Managements anzugehen. Auch muss die Bereitschaft bestehen, tradierte und bekannte Vorgehensweisen und Modelle zumindest infrage zu stellen und anzupassen, gegebenenfalls sogar durch neue, agilere Ansätze zu ersetzen. Treffen Sie also zunächst die Grundsatzentscheidung, das Thema „Cloud“ konsequent und ergebnisoffen anzugehen.

Bestandsaufnahme in Bezugauf Cloud-Fähigkeit

Nachdem Sie die grundsätzliche und strategische Entscheidung getroffen haben, sich mit einer Migration in die Cloud zu befassen, muss eine schonungslose Bestandsaufnahme in Bezug auf die Cloud-Fähigkeit ihrer existierenden Infrastrukturen und Software-Lösungen vorgenommen werden.

Dabei sind mindestens folgende Fragen zu beantworten:

  • Welche Systeme können technisch überhaupt in die Cloud migriert werden?
  • Welche Abhängigkeiten haben diese Systeme und können diese Abhängigkeiten in Cloud-Umfeldern abgebildet werden?
  • Wie kommunizieren diese Systeme miteinander?
  • Ist der Zugriff auf diese Systeme in Cloud-Umfeldern überhaupt sinnvoll technisch möglich?
  • Sind die Systeme in einem Cloud-Umfeld in ihrer derzeitigen Form überhaupt rechtskonform und rechtssicher zu betreiben?
  • Lässt sich Auditing- und Dokumentationspflichten in Cloud-Umfeldern nachkommen?
  • Passen die vorhandenen Lizensierungen noch zu einem Wechsel in Cloud-Umfelder?
  • Sind die Systeme in sich so abgesichert und absicherbar, dass sie sicher in Cloud-Umfeldern betrieben werden können?
  • Welchen Anpassungsaufwand gibt es für diese Systeme und können die Systeme überhaupt angepasst werden?
  • Ist die eigene Infrastruktur (Netzwerke, Firewalls, etc.) auf einen Cloud-Betrieb ausgelegt?
  • Kann ein reiner Cloud-Betrieb erreicht werden oder ist eine hybride Lösung realistischer?
  • Sind Ihre Mitarbeiter in der Lage, die Systeme in Cloud-Umfeldern aufzusetzen und zu betreiben?
  • Lassen Ihre Prozesse und Vorgehensweisen überhaupt eine Migration in Cloud-Umfelder zu?

Üblicherweise werden Sie feststellen, dass sich nicht alle Systeme problemlos in Cloud-Umfelder verlagern lassen. Es kann durchaus auch ein Ergebnis sein, dass das aktuelle Ökosystem weder technisch, noch rechtlich oder fiskalisch sinnvoll in ein Cloud-Umfeld transferierbar ist. Das ist per se noch kein KO-Kriterium, sondern ein akzeptabler Zwischenstand, mit dem man arbeiten kann – man würde dann versuchen, eine Migration mittelbar über Neuentwicklungen oder Erweiterungen von existierenden Applikationen anzustoßen.

 

 

Identifikation von Pilotapplikationen und -systemen

Im Anschluss an eine erste Bestandsaufnahme sollten Sie Pilotapplikationen und -systeme identifizieren, die als Leuchtturmprojekte dienen können. Deren Aufgabe besteht darin, stellvertretend und exemplarisch typische Probleme bei Migrationen in Cloud-Umgebungen zu lösen.

Es empfiehlt sich, Applikationen und Systeme auszuwählen, die technisch sehr gut für eine Migration geeignet  sind, denn erfahrungsgemäß werden dennoch Probleme in Bezug auf Compliance, technische Transformation und Betrieb auftreten. Diese sind aber dann aufgrund der Eignung der Kandidaten mit deutlich geringerem Aufwand zu lösen. Dabei erarbeitete Lösungen können dann später für andere zu migrierende Komponenten genutzt werden, wodurch sich auch dort die Komplexitäten einer Migration verringernlassen.

Es empfiehlt sich in jedem Fall, die Migration existierender Systeme und Applikationen in Cloud-Umfelder als Prozess und nicht als einmaligen Vorgang zu betrachten. Dementsprechend sollten bereits in dieser Phase realistische Erwartungshaltungen kommuniziert und vorgelebt werden.

Identifikation und Beschreibung realistischer Servicelevel und Betriebsprozesse

Bestandsaufnahme und Auswahl von Leuchtturmapplikationen und -systemen versetzen Sie in die Lage, darauf zu schließen, welches Servicelevel in der Cloud Ihre Applikationen nutzen können. Die infrage kommenden Cloud-Basis-Level sind üblicherweise:

  • IaaS – Infrastructure-as-a-Service: Vom Cloud-Anbieter bereitgestellte Infrastrukturen, die Sie bei Bedarf provisionieren und deprovisionieren können. Hier gibt es meist keine tiefe Integration in das Cloud-Umfeld, wodurch erzielbare Einsparungen und Effizienzgewinne vergleichsweise niedrig ausfallen. IaaS stellt meist den Einstieg in ein Cloud-Umfeld dar.
  • PaaS – Platform-as-a-Service: Vom Cloud-Anbieter bereitgestellte und betriebene Infrastrukturen und Middleware-Komponenten, etwa Container-Umgebungen, Datenbanken und Messaging-Systeme. Hier können Sie durch eine eventuelle tiefe Integration in diese Middleware-Komponenten große Einspar- und Effizienzeffekte erzielen, allerdings eignet sich dieser Ansatz in Gänze nur für spezifisch daraus ausgelegte Applikationen.
  • SaaS – Software-as-a-Service: Sie mieten eine Software und müssen sich um Bereitstellung und Betrieb dieser Software in aller Regel nicht mehr kümmern. Üblicherweise bezahlen Sie Lizenzgebühren, was diesen Ansatz sehr gut kalkulierbar macht.

In aller Regel werden Sie den Einstieg in ein Cloud-Umfeld auf einem IaaS-Servicelevel beginnen. Ihr Ziel muss es strategisch ein, eine tiefere Integration mit der Plattform zu erreichen, sich also auf das PaaS-Level oder das SaaS-Level zu begeben. Dies ist aber meist als ein mittel- bis langfristiger Prozess zu verstehen.

In aller Regel betreiben Cloud-Anbieter keine Applikationen und beschränken ihre Services auf die Oberkanten von Betriebssystemen oder Middleware-Komponenten. Alle darüber hinausgehenden Betriebsprozesse müssen für Cloud-Umfelder angepasst und aufgesetzt werden. Die
angebotenen Basis-Level müssen deshalb Ihrem Umfeld in  Bezug auf Betrieb und Prozesse angepasst werden, wofür sich erneut das Konzept der Leuchtturmapplikationen und -systeme bewährt, denn hier können in vergleichsweise überschaubarem Rahmen Prozesse und Automatisierungen aufgesetzt werden, die dann später als Blaupause für andere Migrationen dienen können.

Auch hier gilt: Der Weg ist das Ziel – Prozesse und Automatisierungen müssen wachsen und können nicht zwingend unverändert aus klassischen Rechenzentren in Cloud-Umfelder verlegt werden.

Einbinden nichttechnischer Stakeholder

Bevor Sie auch nur die erste Applikation tatsächlich in ein Cloud-Umfeld verschieben und dort betreiben, empfiehlt es sich dringend, auch nichttechnische Stakeholder – also Fachabteilungen und auch den Betriebsrat – mit einzubeziehen.

Dies kann vordergründig durchaus als nachteilig in Bezug auf Migrationsgeschwindigkeiten und Tiefe der in die Cloud zu verlagernden Leistungen empfunden werden, jedoch sollten Sie eventuelle Beharrungskräfte und die Möglichkeiten des aktiven bzw. passiven Widerstands gegen diese, oftmals als Bedrohung empfundenen, Veränderungen keinesfalls unterschätzen.

Es ist deshalb ratsam, Stakeholder schon im Rahmen der Bestandsaufnahme zu identifizieren und regelmäßig einzubeziehen. Somit können Verstimmungen und eventuelle Probleme zeitnah erkannt und mit genügend Vorlauf mitigiert werden.

Iteratives Vorgehensmodell etablieren

Eine nachhaltige Migration in Cloud-Umfelder lässt sich nicht ad-hoc bewerkstelligen. Gleiches gilt für Betriebs- und Interaktionsprozesse. Setzen Sie deshalb iterative Prozesse auf, die kleine Schritte mit definierten Start- und Endszenarien umfassen. Diese Prozessschritte sollten für jede Applikation durchlaufen werden und umfassen in aller Regel folgende Teilprozessschritte:

  • Detailanalyse der Applikation und ihrer Abhängigkeiten
  • Erstellen eines Migrationsplans
  • Aufsetzen automatisierter Infrastrukturprovisionierungen
  • Aufsetzen von Infrastruktur- und Konfigurationsversionierungen
  • Aufsetzen automatisierter Applikations- und Systembereitstellungen
  • Aufsetzen bzw. Anpassen von automatisierten Betriebsprozessen
  • Aufsetzen bzw. Anpassen automatisierter Logging- und Monitoringprozesse inklusive Definition von Schwell- und Grenzwerten
  • Durchführen des automatisierten Deployments
  • Schrittweise Inbetriebnahme der Applikation
  • Schulungen und Einweisungen
  • Inbetriebnahme der Applikation

Derartige Vorgehensmodelle lassen sich für eine Vielzahl von Applikationen und Systemen nutzen und sollten gleich mit den ersten Leuchtturmprojekten etabliert werden.

Angepasste und agile Betriebsmodelle entwickeln und umsetzen

Cloud-Umfelder bieten hochgradig automatisierte und agile Umgebungen für Applikationen und Systeme. Diese dann nach klassischen ITIL-Prozessen zu betreiben, bedeutet in aller Regel Handarbeit und langwierige Entscheidungs- und Abstimmungsprozesse – und führt somit die Vorteile, die Cloud-Umfelder bieten können, ad absurdum.

Entsprechend ist es wichtig, agile und angepasste Betriebsmodelle zu entwickeln, die stark auf autonome Expertenteams, Automatisierung und Versionierung im Betrieb, sowie eine effektive Wissensverteilung setzen. Wenn Sie versuchen, Cloud-Lösungen analog zu klassischen Lösungen zu betreiben, werden Sie feststellen, dass sich die Gesamtkosten nicht verringern, sondern im Gegenteil sogar erhöhen können.

Ein entscheidender Aspekt für den Erfolg von agilen Betriebsmodellen ist die Einführung von DevOps-Prozessen. Dabei geht es weniger um technologische Aspekte, sondern viel eher um Zusammenarbeitsmodelle, die nicht nur auf Entwicklung und Betrieb beschränkt sind, sondern alle Stakeholder involvieren. DevOps-Teams sind viel enger miteinander integriert, als dies bei herkömmlichen Zusammenarbeitsmodellen der Fall ist, und können so Wissen deutlich besser aufbauen und verteilen, effektiver auf Probleme und Herausforderungen reagieren und auf diese Art Kosten, Iterations- und Bereitstellungszeiträume bei gesteigerter Qualität deutlich verringern.

Etablieren Sie bewusst agile und auf DevOps basierende Betriebs- und Interaktionsmodelle, da Sie andernfalls keineswegs substanzielle Einsparungen im Betrieb von Applikationen und Infrastrukturen erzielen können! Betrachten Sie auch dies als agilen und iterativen Prozess, der eigentlich niemals so richtig abgeschlossen sein wird.

Angepasste und modularisierte Applikationen entwickeln

Weiterentwicklungen an in Cloud-Umfeldern laufenden Applikationen sollten cloud-nativ gestaltet sein. Dies be- deutet, dass sie in PaaS-Umfeldern laufen sollten und sich tief mit diesen Infrastrukturen integrieren, das Deployment muss automatisiert erfolgen und die Applikationen geben über sich selbst und ihren Zustand über definierte Schnittstellen Auskunft. Somit können automatische Skalierungs-
und Verfügbarkeitsmechanismen genutzt werden, Weiter-entwicklungen sind technologieunabhängig möglich und Änderungen werden beherrschbar.
Ziel muss es langfristig sein, entweder alle Applikationen entsprechend dieser Prinzipien aufzubauen oder zumindest Neu- und Weiterentwicklungen derartig zu gestalten. Applikationen, die nicht in Cloud-Umfeldern lauffähig sind oder dort aus Sicherheits- oder Compliance-Gründen nicht ausgeführt werden sollen, können somit um in Cloud-Umfelder integrierte Komponenten erweitert werden und mittelbar von den Cloud-Vorteilen profitieren.

Auch hier gilt im Hinterkopf zu behalten, dass Entwicklung, Migration und Anpassung von Applikationen für Cloud-Umfelder iterative und langfristig angedachte Schritte sind. Keinesfalls sollten alle Applikationen kurzfristig umgestellt oder gar neu geschrieben werden!

Fazit: In die Cloud mit Commitment und Planung!

Die wichtigsten Erfolgsfaktoren für das Erschließen von Cloud-Umfeldern sind Commitment und strukturierte Planung.

Commitment ist deshalb so wichtig, weil eine Migration in eine Cloud-Welt immer problematisch ist. Gewohnte Vor-
gehensweisen und Ansätze müssen aufgegeben, neue Prozesse etabliert, Automatisierung und andere Zusammenarbeitsmodelle müssen eingeführt werden. Dies gelingt nur mit entsprechender Unterstützung, Forderung und Förderung durch die Entscheidungsträger.

Strukturierte Planung im agilen, iterativen Sinne ist unverzichtbar, da Komplexitäten und Schwierigkeiten von Migrationen in Cloud-Umfelder enorm sein können. Ein Wasserfallansatz wäre dabei kontraproduktiv, sinnvoll sind definierte, abgrenzbare und sinnvoll geplante Teilschritte,
die iterativ aufeinander aufgebaut sind.

Sehen Sie eine Migration in Cloud-Umgebungen als Prozess, als Summe vieler kleiner Teilschritte, die keinesfalls nur technische Aspekte beinhalten, sondern stark auf angepasste Zusammenarbeits- und Interaktionsmodelle angewiesen sind und auch tradierte und über Jahrzehnte erprobte Vorgehensweisen infrage stellen und durch moderne, agile, auf DevOps-Prinzipien basierende Alternativen ersetzen können und sollen.

Auf Cloud muss man sich einlassen – in Organisation, Prozessen und Technik. Cloud ist ganzheitlich, entsprechend muss auch Ihre Herangehensweise sein!

 

 

Karsten Samaschke
Co-Founder und CEO der Cloudibility
Kurfürstendamm 21, 10719 Berlin
karsten@cloudibility.io