Cloud-Migration mit einer Integrationsplattform
Der Wechsel zur Cloud ist nicht einfach – vor allem, wenn die neuen cloudbasierten Anwendungen mit den bereits vorhandenen Systemen zusammenarbeiten sollen. Die richtige Integrationsplattform kann den entscheidenden Unterschied ausmachen.
Einführung
Treiber für die Cloud-Migration
Schauen wir uns zunächst an, welche Ziele ein CEO in der Regel verfolgt. Jedenfalls nicht die Einführung neuer Technologien und auch nicht Kostensenkungen. Laut McKinsey hat für die CEOs das Umsatzwachstum die oberste Priorität, es folgen eine verbesserte Agilität und kürzere Markteinführungszeiten. Die meisten CEOs haben erkannt, dass digitale Technologie eine Schlüsselrolle spielt, um diese Ziele zu erreichen. Von ihrem CIO erwarten Sie, dass er diese Ziele durch innovative IT-Systeme unterstützt.
Doch welcher CIO ist schon in der komfortablen Position, die vorhandenen Systeme durch eine neue, moderne Architektur ablösen zu können. Bis zu 80 Prozent der IT-Jahresbudgets fließen in die Instandhaltung der vorhandenen Systeme. Für Innovationen bleibt da nur wenig Spielraum. Die CIOs, mit denen wir uns unterhalten, wissen sehr wohl, dass sie ihre IT modernisieren müssen und Cloud-Technologien Teil dieser Modernisierung sind. Schwierig ist die Entscheidung, wo sie am besten ansetzen. Welche Möglichkeiten gibt es, und welcher Ansatz ist für welche Art von Anwendung am besten geeignet?
Verschiedene Wege zur Cloud
Wir möchten Ihnen ein paar einfache Methoden für einen strukturierten Umstieg in die Cloud vorstellen. Grundsätzlich haben Sie drei Möglichkeiten:
Lift & Shift
Bei diesem Ansatz wird eine vorhandene Anwendung in die Cloud verschoben und als Infrastructure as a Service (IaaS) bereitgestellt. Das hat zwei Vorteile: Der Umstieg geht schnell, und die Software muss nicht mehr auf einem Computer in Ihrem Rechenzentrum ausgeführt werden, den Sie warten, sichern und aktualisieren müssen. Der Nachteil ist: Sie müssen die Software immer noch selbst betreiben, patchen und debuggen. Diese On-Prem-Architektur ist weder unter Last flexibel noch kann sie Hochverfügbarkeit sicherstellen.
Einführung von Software as a Service
Hier nutzen Sie Software-as-a-Service(SaaS)-Funktionen oder eine SaaS-Anwendung. Gute Beispiele dafür sind Salesforce, ServiceNow oder Marketo. Wenn eine bestimmte Geschäftsfunktion von einer SaaS-Anwendung ausgeführt wird, können Sie möglicherweise eine On-Prem-Anwendung deaktivieren oder stilllegen. Für diese Methode spricht: Die Anwendungen sind cloudnativ, die Preisgestaltung ist transparent, und Sie müssen sich nicht um den Betrieb der Anwendungen kümmern. Dagegen spricht: Ihre Mitbewerber nutzen ebenfalls solche Anwendungen, und daher verschaffen sie Ihnen keinen Wettbewerbsvorteil.
Erstellen von Cloud-nativen Lösungen
Der dritte Weg ist die Entwicklung eigener neuer Cloud-Anwendungen mithilfe der leistungsstarken Funktionen einer Platform as a Service (PaaS) wie AWS oder Azure. Dieses Vorgehen erlaubt Ihnen ebenfalls, veraltete On-Prem-Anwendungen abzulösen. Ein wichtiger Vorteil dabei ist die kurze Time-to-Market. Eigene cloudnative Lösungen eigenen sich daher insbesondere für die Bereitstellung innovativer Systeme. Wenn Sie Ihre Anwendungen von Grund auf neu entwickeln, können Sie außerdem das Beste nutzen, was die Cloud-Anbieter zu vorzuweisen haben – etwa Database as a Service und Zugang zu riesigen Datenspeichern, die als Data Lakes für Analysen genutzt werden können. Allerdings besteht beispielsweise die Gefahr, dass Sie sich an einen bestimmten Cloud-Anbieter binden, und fehlt eine sorgfältige Planung, können die Kosten für eine solche Lösung unüberschaubar werden.
Die Differenzierungssysteme bilden die nächste Ebene. Dies sind die Systeme, die Sie brauchen, um das, was Sie tun, besser, schneller und günstiger zu tun als Ihre Konkurrenz. Sie verschaffen Ihnen einen Wettbewerbsvorsprung und sind in der Regel keine Standardanwendungen, sondern maßgeschneidert. Diese Systeme müssen agiler und leichter anpassbar sein, als Ihre Systems of Record.
Ganz oben stehen die Innovationssysteme. Sie sollen Ihnen helfen, neue Märkte und Kanäle zu erschließen und Zugang zu Regionen verschaffen, in denen Ihre Konkurrenten nicht präsent sind. Sollen sie ihre Aufgabe erfüllen, müssen sie äußerst schnell und agil sein.
Wenn wir diese beiden Modelle zusammenbringen, wird es klarer, wann welcher Weg in die Cloud der Beste ist.
Ihre Differenzierungs- und Innovationssysteme können Sie ebenfalls in die Cloud verlagern (Lift & Shift). Doch spricht vieles für die Nutzung einer modernen PaaS, die Bausteine für die Speicherung großer Datenmengen, Datenanalyse- und KI-Funktionen, UI-Frameworks und vieles mehr bietet.
In der Praxis werden Sie nicht alle Anwendungen gleichzeitig migrieren. Viele Ihrer Systems of Record werden noch lange Zeit on-prem bleiben, und gleichzeitig wird Ihr Unternehmen schnell moderne coole SaaS-Apps einführen, um seine neuen Anforderungen zu erfüllen. Alle Innovationssysteme werden Sie direkt auf einer Cloud-Plattformen entwickeln. Ihre Landschaft wird also aus On-Prem-Systemen, Systemen auf virtuellen Cloud-Servern, SaaS-Anwendungen und neu entwickelten Cloud-Anwendungen bestehen.
Welche Rolle spielt Integration?
Wo auch immer die IT-Umgebung gehostet wird, Integration ist das zentrale Element, das Ihr Unternehmen zusammenhält. Der Integrationsbedarf steigt sogar, da neben der großen Anzahl der Systems of Record (Mainframes, Legacy, kundenspezifische Anwendungen) immer mehr SaaS-Anwendungen, IoT-Sensoren und -Geräte und mobile Anwendungen eingesetzt werden..
Integrationssoftware verbindet Daten über alle Umgebungen hinweg, erstreckt sich auf alle Anwendungsbereiche und erreicht alle Endpunkte. Da Sie immer mehr Software außerhalb Ihres Rechenzentrums hosten, müssen ERM-, CRM- und On-Prem-Mainframe-Umgebungen, Cloud- und SaaS-Umgebungen, Edge-Geräte und Sensoren sowie B2B-Partner integriert werden. Schon bald werden Sie die Notwendigkeit sehen, Ihre Integrationssoftware aus denselben Gründen zu modernisieren, aus denen Sie Ihre anderen Lösungen migriert haben: Sie benötigen mehr Agilität, die Systeme sollen robuster und die Betriebskosten gesenkt werden. Da Integration an sich keinen Mehrwert schafft, sondern Anwendungen miteinander verbindet, muss Ihr Unternehmen prüfen, wo seine zentralen Daten liegen.
Entscheidend ist, wo die Daten liegen
Integration in einer hybriden Umgebung
Angesichts der vielen Möglichkeiten, Daten zu speichern – im eigenen Rechenzentrum, bei einem Hyperscaler oder über SaaS – kann eine monolithische Integration nicht mehr alle Integrationsaufgaben erfüllen. Vielmehr werden Sie beginnen, Ihre Architektur in getrennte Integrationsflüsse aufzuteilen, je nachdem, welche Anwendungen verbunden werden sollen:
On-Prem
Viele Unternehmen haben das Integrationsproblem mithilfe eines Enterprise Service Bus (ESB) und einer Integrationsplattform gelöst. Diese werden immer noch intensiv genutzt und unterstützen häufig geschäftskritische Unternehmensanwendungen. Befinden sich die angeschlossenen Anwendungen nach wie vor in Ihrem Rechenzentrum, gewinnen Sie nichts, wenn Sie die Integrationsfunktionen aus Kostengründen verlagern. Denn Ihre Nachrichten machen lediglich einen Umweg über die Cloud geschickt, um dann wieder an Ihr Rechenzentrum gesendet zu werden.
Rehosting
Wenn die zu integrierenden Systeme bereits in der Cloud sind, ist die Verlagerung der Integrationsdienste sinnvoll. Am einfachsten geht das, indem Sie Ihre Ist-Integrationen rehosten. Das heißt, Sie verlagern Ihre Integrationsarchitektur auf Virtual Machines (VMs), die außerhalb Ihres Rechenzentrums gehostet werden. Bei diesem Ansatz erzielen Sie zwar operative Vorteile, aber von der Skalierbarkeit und Robustheit der Cloud profitieren Sie nicht, und Sie müssen die Software weiterhin selbst betreiben.
Repackaging
Eine Form des Rehostings, bei der Sie stärker von den Vorteilen der Cloud profitieren, ist das Repackaging der Software in Container, die alle relevanten Abhängigkeiten beinhalten und viel schlanker sind als eine VM. Repackaging bringt zwar nicht Skalierbarkeit und die Hochverfügbarkeit der Cloud, aber die Flexibilität des Containers macht die Migration in die Cloud leichter: Wenn ein Container in Ihrem Rechenzentrum läuft, wird er auch in der Cloud laufen.
Repackaging ist nicht trivial, es geht um mehr als das „Umpacken“ einer Installation. Repackaging erfordert, dass Sie den Aufbau und den Betrieb einer Lösung komplett umgestalten, vom CI-/CD-Flow bis zum Monitoring und zur Fehlerbehebung.
Refactoring
Durch das Repackaging in Container wird Ihre Software beweglicher und kann einfacher verschoben werden, da der Container alle Abhängigkeiten und Ressourcen mitbringt. Doch Container allein schaffen keine flexible Lösung, die sich teils ohne Ausfallzeiten aktualisieren lässt. Container ermöglichen auch nicht die schnelle Markteinführung neuer Produkte oder Services. Um dies zu erreichen, müssen Sie nicht nur das Packaging Ihrer Software verändern, sondern auch die Softwarearchitektur. Eine monolithische Software kann den neuen Anforderungen nicht gerecht werden. Sie muss daher in leicht handhabbare Komponenten aufgeteilt werden, die unabhängig als Microservices funktionieren können.
Die als Monolithen geltenden ESBs haben eine Weiterentwicklung erfahren. Die Unternehmen haben erkannt, dass sie leichtgewichtige Integrationen in Form von Microservices benötigen. So sind Microservices-Laufzeitumgebungen (Microservices Runtimes, MSRs) entstanden, die sich sehr schnell skalieren und an neue Anforderungen anpassen lassen. MSRs werden in der Regel mit den Containern bereitgestellt, über eine Container-Orchestrierungsumgebung wie Kubernetes oder OpenShift skaliert und anschließend mit Open-Source-Tools wie Prometheus überwacht. Diese Architektur baut auf den Grundlagen auf, die mit Repackaging geschaffen wurden, und stellt hohe Anforderungen an Ihre DevOps-Praktiken: Sie müssen Updates und Dev/Build/Test/Deploy vollständig automatisieren. Außerdem müssen Sie über das entsprechende Know-how und ausgereifte CI-/CD-Prozesse verfügen. Angesichts der vielen technischen und operativen Herausforderungen ist dieser Ansatz vielleicht der schwierigste.
Plattformwechsel
Bei einem Plattformwechsel verlagern Sie Ihre Dienste auf eine Integration Platform as a Service (iPaaS). Eine iPaaS ist ein reines Cloud-Angebot, das problemlose Cloud-zu-Cloud- oder SaaS-zu-SaaS-Integrationen ermöglicht. Bei einer iPaaS wird die Software automatisch aktualisiert und kann nach Bedarf skaliert werden. Eine iPaaS empfiehlt sich für die Erstellung neuer Integrationen oder für die Integration cloudbasierter Systeme oder SaaS-Anwendungen und bietet eine Vielzahl gebrauchsfertiger Konnektoren und Vorlagen für solche Anwendungen. Wenn Sie Ihre Anwendungen in die Cloud verlagern, ist es sinnvoll, neue Integrationsdienste in der iPaaS zu erstellen, um Ihren On-Prem-EBS zu ersetzen.
Hybrid
Wir gehen davon aus, dass Sie Ihre Anwendungen zukünftig nicht mehr in einem einzigen Rechenzentrum hosten, sondern sich – je nach Kritikalität der Software oder Innovationsbedarf – für einen hybriden Integrationsansatz entscheiden werden. Dabei folgen die Integrations-Workloads Ihrer Datenarchitektur und rücken in den verschiedenen Hosting-Szenarien so nah wie möglich an die Anwendungen. Letztendlich werden Sie einen Mix aus allen beschriebenen Integrationsformen nutzen, die ein funktionierendes Ganzes bilden.
Welche Vorarbeiten erfordert eine Migration?
Ziele – Sie müssen wissen, was Ihre Beweggründe für die Cloud-Migration sind. Bei allen Unterschieden gibt es einige allgemeingültigen Gründe: Kostensenkung, eine höhere Agilität unter Last, Geschäftskontinuität und Robustheit bei der Durchführung von Wartungsaufgaben. Prüfen Sie bei jedem dieser Punkte die langfristigen Vorteile und versuchen Sie, diese mit den Geschäftszielen Ihres Unternehmens in Einklang zu bringen.
Einschätzung – In welchem Zeitraum wollen Sie Ihre Ziele erreichen? Haben Sie eine Analyse Ihrer Anwendungslandschaft durchgeführt? Wissen Sie, wo der Großteil Ihrer Daten liegt?
Planung – Viele Kunden beginnen sofort mit der Planung und laufen einfach den neuesten Technologietrends hinterher. Legen Sie zunächst Ihre Ziele fest, und nehmen Sie eine Einschätzung vor. So erhalten Sie eine klare Vorstellung davon, welche Migrationsansätze am besten zu bestimmten Integrationsmodellen passen.
Umsetzung – Nachdem Sie Ihre Ziele festgelegt und Ihre Planung abgeschlossen haben, müssen Sie sicherstellen, dass Sie die notwendigen Fähigkeiten und genügend Zeit haben, um die Umstellung voranzutreiben. Es gibt keinen perfekten Migrationspfad und keinen Automatismus, um Ihre Software einfach in einer modernen Cloud-Architektur zu betreiben. Finden Sie heraus, wie Sie Ihre Geschäftsziele am besten erreichen können, und definieren Sie messbare Kriterien für Ihren Erfolg.
Entwickeln Sie Ihre neue Integrationsstrategie
Ganz gleich, wohin Sie Ihre Integrationsservices verlagern, ein guter erster Schritt ist immer die Definition einer API-Strategie, um Ihre IT-Landschaft zu modernisieren. Dann finden Sie heraus, wo sich der Großteil der Daten für die einzelnen Integrationsservices befindet und entscheiden, welche Integrationsform am besten dazu passt. Wir raten, mit Quick Wins zu beginnen, beispielsweise mit dem Rehosting von Anwendungen. So bekommen Sie ein Gefühl dafür, was es bedeutet, in der Cloud zu arbeiten. Behalten Sie die Kosten im Auge, achten darauf, ob bislang versteckte Probleme zu Tage treten, berücksichtigen Sie die Netzwerktopologie sowie rechtliche Aspekte in Bezug auf Ihre Daten, schließen Sie Wissenslücken usw.
Der nächste einfache Schritt kann ein Plattformwechsel sein, das gilt insbesondere, wenn Sie Integrationen zwischen neuen SaaS-Anwendungen erstellen. Dabei hilft Ihnen webMethods.io mit seiner intuitiven Benutzeroberfläche und einer Vielzahl von Lösungswegen, die es für die Erstellung solcher Integrationen bereitstellt.
In der Zwischenzeit kann Ihr Unternehmen nach und nach die Fähigkeiten erwerben, Integrations-Microservices in einer Container-Orchestrierungsumgebung zu implementieren und bereitzustellen. Da Sie am Ende viele verschiedene Integrationen haben werden, müssen Sie sich darauf vorbereiten, all diese auf eine skalierbare Weise zu verwalten.