Immer mehr Unternehmen verlagern Anwendungen in die Cloud, um ihre aktuelle IT-Infrastruktur zu modernisieren und auf zukünftige Anforderungen vorzubereiten. Häufig beginnen sie mit einigen eher sekundären Abteilungslösungen, um dann erste geschäftskritische Anwendungen zu verlagern, und dann festzustellen, dass eine Cloud-Migration großer Teile ihres Lösungs-Portfolios sinnvoll ist.
Entwickler und Software-Architekten, die neue Anwendungen für den Betrieb auf Cloud-Infrastrukturen entwickeln, können dabei die neuesten best practices bzgl. Design, Entwicklung, Testing und Bereitstellung berücksichtigen. Mit der Bereitstellung ihrer Lösungen auf einer Cloud-basierten Infrastruktur können sie sofort deren Vorteile wie Skalierbarkeit und Elastizität, isolierte Prozesse, reduzierten operativen Aufwand, On-Demand-Provisioning und Automatisierung nutzen.
Gleichzeitig suchen viele Unternehmen nach Möglichkeiten, ihre bestehenden Anwendungen auf eine Cloud-basierte Infrastruktur zu verlagern, um von denselben Vorteilen wie bei Neuentwicklungen zu profitieren.
Die nachfolgenden Informationen helfen Ihnen beim Aufbau einer Migrationsstrategie für Ihre Organisation, indem die wichtigsten Planungsschritte erläutert werden.
1. Grobe finanzielle Bewertung
Grober TCO-Vergleich des Betriebes einer eigenen IT-Infrastruktur im Vergleich zu einer Cloud-basierten Infrastruktur.2. Sicherheit und Compliance
Prüfung Cloud-Angebote im Hinblick auf Einhaltung der IT-Sicherheitsrichtlinien und Compliance-Anforderungen.- Sicherheitsklassifikation der Datenbestände
- Klassifikation der Datenbestände hinsichtlich Verfügbarkeitsanforderungen
- Überprüfung von gesetzlichen und vertraglichen Verpflichtungen hinsichtlich der Datenspeicherung in bestimmten Ländern
- Einschätzung der Gefährdungslage und der Wahrscheinlichkeit von Angriffen auf die IT-Infrastruktur
- Beurteilung der Gefährdungslage hinsichtlich des Schutzes von geistigem Eigentum und der für Anwendungen und Daten geltenden rechtlicher Vorschriften
- Beurteilung der Möglichkeiten in dem Fall, dass alle Daten aus der Cloud zurückgeholt werden müssen
3. Technische und funktionelle Bewertung
Ermittlung des architektonischen und strategischen Eignungsgrades der einzelnen Anwendungen für eine Cloud-Migration. Ermittlung, welche Applikationen kurzfristig in die Cloud verlegt werden können, welche in einem späteren Schritt migriert und welche im eigenen Hause weiterbetrieben werden sollen.- Welche Geschäftsanwendungen sollten zuerst in die Cloud verschoben werden?
- Bietet die Cloud alle benötigten Infrastrukturkomponenten?
- Wie können bestehende Support-Verträge für Hardware, Software und Netzwerk beendet werden?
- Prüfung der Struktur aller Unternehmensanwendungen und Klassifizierung basierend auf ihren Abhängigkeiten, Risiken und Sicherheits- und Compliance-Anforderungen.
- Identifizierung aller Anwendungen und von deren Abhängigkeiten von anderen Komponenten und Diensten.
- Erstellung eines Abhängigkeitsbaumes, der alle Komponenten aller Anwendungen enthält und deren Aufwärts- und Abwärts-Abhängigkeiten zu anderen Anwendungen identifiziert.
- Erstellung einer Tabelle, die alle Anwendungen und Abhängigkeiten auflistet.
- Ãœbersicht aller Unternehmensanwendungen und ihrer Schnittstellen von shared Services der unteren Ebene wie LDAP-Servern bis hin zu fachlichen Anwendungen der oberen Ebene wie ERP- oder CRM-Systemen.
- Klassifikation aller IT-Assets in z.B. nachfolgende Kategorien: -> Vertraulichkeit
-> Compliance-Anforderungen
-> Daten-Besitzer(selbst, Partner, Kunde)
-> Kopplungsgrad, Schnittstellenkomplexität
-> Lizenzierung
- Untersuchung des Abhängigkeitsbaumes zur Identifizierung von Systemen, die schnell und einfach migriert werden können - z.B. lassen sich webbasierten Anwendung mit wenigen Aufwärts- und Abwärtsabhängigkeiten i.d.R. recht einfach migrieren. Anwendungen, die spezielle Hardware erfordern, wie zum Beispiel Mainframe-Applikationen, lassen sich eher schlecht migrieren.
- Untersuchung des Abhängigkeitsbaumes zur Identifizierung von Systemen, die schnell migriert werden sollten, da ansonsten kurzfristige Investitionen in die lokale IT-Infrastruktur notwendig wären (z.B. aufgrund aktueller Ressourcenprobleme).
- Kann die aktuelle Architektur einer für die Migration in Frage kommenden Anwendung der Cloud-Architektur zugeordnet werden? Wenn nicht, wie viel Aufwand würde ein Refactoring erfordern?
- Kann eine Anwendung in eine virtuelle Maschine (VM) verpackt und auf einer Cloud-Infrastruktur ausgeführt werden oder benötigt sie spezielle Hardware und / oder speziellen Zugriff auf Hardware, die in der Cloud-Infrastruktur nicht verfügbar ist?
- Wie viel Aufwand (in Bezug auf die Entwicklung neuer oder die Änderung bestehender Werkzeuge) ist erforderlich, um die Anwendung zu migrieren?
- Welche Komponenten müssen weiterhin lokal betrieben werden und welche können in die Cloud verschoben werden?
- Wie können Verbindungen zwischen weiterhin lokal betriebenen und in die Cloud verlagerten Komponenten geschaffen werden (hybride Cloud)?
- Wie sind die Latenz- und Bandbreitenanforderungen?
- Unterstützt die Cloud den benötigten Identitäts- und Authentifizierungsmechanismus?
4. Identifizieren wiederverwendbarer Werkzeuge
Identifikation der Werkzeuge, die ohne weitere Änderungen in der Cloud-Infrastruktur wiederverwenden können, bzw. Aufwandsabschätzung in Bezug auf Entwicklungs- und Bereitstellungsaufwand, um Cloud-Unterstützung für die Werkzeuge zu implementieren. Cloud-Dienste stellen i.d.R. Standard-SOAP-APIs, REST-Webdienst-APIs und SDKs für die Integration zur Verfügung.- Ressourcen-Management-Tools: In der Cloud werden abstrakte Ressourcen verwaltet (virtuelle Maschinen, App-Services, Storage-Services, …). Die benötigten Basis-Werkzeuge finden sich in den Verwaltungsportalen der Cloud-Umgebungen.
- Ressourcen-Konfigurationstools: Vor allem die automatisierte Steuerung von Cloud-Ressourcen beinhaltet ein großes Potential hinsichtlich Kosten- und Performanceoptimierung. Hierfür existieren mittlerweile zahlreiche Tools unterschiedlicher Drittanbieter.
- Systemverwaltungstools: Anpassungsbedarf bei Systemverwaltungstools (NOC) für Bereitstellung und Monitoring von Anwendungen in der Cloud.
- Integrationstools: Identifikation Frameworks/Bibliotheken/SDKs, die am besten in die eigene Entwicklungslandschaft passen, um eigene Tools für die Unterstützung eines Cloud-Dienstes zu erweitern und Ermittlung des Anpassungsaufwandes.
5. Ermittlung Lizenz-Migrationsmöglichkeiten
Ermittlung Migrationspfad für Lizenzen für eingesetzte Software.- Bring your own license (BYOL): Ein Großteil der ISVs erlaubt die Nutzung von vorhandenen On-Premise-Lizenzen für die Installation auf Cloud-basierten virtuellen Maschinen oder App-Services.
- Verwendung eines ISV SaaS-basierten Cloud Service: Viele ISVs haben ihre Software als Service angeboten und berechnen eine monatliche Abonnementgebühr. Sie bieten Standard-APIs und webbasierte Schnittstellen und sind relativ schnell implementierbar. Diese Option ist oft die einfachste und schnellste Möglichkeit, vorhandene On-Premise-Installation auf ein gehosetes On-Demand-Angebot durch denselben Anbieter oder ein gleichwertiges Angebot eines anderen Herstellers zu migrieren.
6. Definition von Erfolgskriterien
Definition von Kriterien zur Erfolgsmessung, z.B.:- Entwicklung der Investitionskosten für die IT-Infrastruktur
- Entwicklung der laufenden Kosten für die IT-Infrastruktur
- Bereitstellungszeiten für neue IT-Infrastruktur-Komponenten
- Systemverfügbarkeit
- Flexibilität der IT-Infrastruktur
7. Auswahl Cloud-Anbieter
Ermittlung des Cloud-Anbieters, der die sich aus den vorherigen Planungsschritten ergebenden Anforderungen am besten erfüllt.- Preis-Leistungs-Transparenz: Gute Nachvollziehbarkeit der nutzungsabhängigen Abrechnung der Cloud-Dienste
- Verfügbarkeit, SLAs
- Technologische Nachhaltigkeit