Marco Bandner

In diesem Blog-Beitrag schließen wir nahtlos an die beiden ersten Teile dieser Blog-Serie an und gehen im Konkreten auf die Analysephase für ein Migrationsprojekt ein. Unvorhergesehene Probleme und Ereignisse führen durch unzureichende Vorüberlegungen und Planung zu erhöhten Aufwänden, deutlichen Verzögerungen und damit steigenden Kosten. Nicht selten steigt der Ärger durch die betroffenen Fachbereiche und zuletzt der Druck durch das Management.

Die wichtigsten Punkte im Rahmen einer SQL Server Migration mit einem Data Warehouse über die man sich frühzeitig und im Rahmen der Projektplanung Gedanken machen muss sind:

Analyse aller beteiligten Parteien
Es ist wichtig, alle beteiligten Projektparteien, Stakeholder, involvierte Personen und vor Allem Nutzer der BI Landschaft zu identifizieren, damit ein reibungsloser und transparenter Projektverlauf erfolgen kann. Das ist im Besonderen am Ende der Projektphase entscheidend, damit Codefreeze und benötigte Downtimes sauber abgestimmt sind und verlässlich eingehalten werden.

Analyse der zu migrierenden Systeme
Erfassung aller Systeme und Services auf Infrastrukturebene – welche Server und deren SQL Server Services werden migriert und welche nicht:

  • SQL Server Database Engine (SSDB)
  • SQL Server Agent
  • SQL Server Integration Services (SSIS)
  • SQL Server Analysis Services (SSAS)
  • SQL Server Reporting Services (SSRS)
  • Evtl. Services von Drittanbieter

Analyse der zu migrierenden Objekte
Es ist unerlässlich, alle zu migrierenden Objekte zu erfassen, wie bspw. Datenbanken, SSIS-Projekte/-Pakete (ETL Pakete), SSAS Datenbanken (Cubes), SSRS-Reports, etc. Eine saubere Aufnahme und Analyse ist ausschlaggebend für eine belastbare Aufwandschätzung, Ressourcenplanung, Risikobewertung sowie Test- und Ablaufplanung der Migration.

Analyse der Migrationsvoraussetzungen
Die Installationsvoraussetzungen für die jeweiligen Upgrades der SQL Server Versionen müssen identifiziert und getestet werden. Zusätzlich ist die Erfassung sämtlicher weiterer Softwarekomponenten, welche durch die künftige SQL Server Version benötigt werden notwendig – bspw. Aktualisierung von Visual Studio und Connectoren.

Analyse der Migrationstypen
Grundsätzlich sind drei Migrationstypen denkbar: – Neuinstallation – Parallelinstallation – Inplace-Upgrade Es ist zwischen den Vor- und Nachteilen der Varianten auf Basis der Gegebenheiten vor Ort zu entscheiden (Zeit/Budget, Umsetzbarkeit und last but not least Risikobereitschaft). Ein zu beachtendes Risiko wäre die Möglichkeit von Rollback Szenarien.

Festlegung des Testvorgehens
Mit steigender Anzahl zu migrierender Objekte steigt auch die Komplexität des zu migrierenden Systems. Ein unzureichendes Testvorgehen führt zwangsweise zu einem steigenden Risiko. Es empfehlen sich zumindest funktionale Tests von kritisch eingestuften Komponenten sowie der Test der migrierten Sourcen. Ebenso sei der Einsatz einer Abnahmeumgebung und die Durchführung eines Parallelbetriebes anzuraten. Test und Datenqualitäts-Prüfungen sollten so weit wie möglich automatisiert eingeplant werden. Das ORAYLIS Tool BI.Quality spart hier sehr viel Zeit und Budget.

Arbeitsumgebung für Entwicklung und Betrieb
Bis zur Ablösung des Altsystems sollten Entwicklung und Betrieb ungestört hierfür arbeiten können. Daher sollten die bisherigen Arbeitsumgebungen unangetastet bleiben. Stattdessen empfiehlt es sich, Entwicklern und Betrieb für die Migration separate Arbeitsumgebungen für die neuen Versionen der Clientsoftware zur Verfügung zu stellen. Hierzu bieten sich virtuelle Client besonders an.

Code-Freeze-Phase
Soll das „Altsystem“ bis zur Ablösung weiterentwickelt werden? Falls ja, muss eine Code-Freeze-Phase mit den Stakeholdern, vor allen den anfordernden bzw. treibenden Fachbereichen vereinbart und zwingend festgelegt werden – und zwar frühzeitig. Eine proaktive und kontinuierliche Kommunikation ist an dieser Stelle unerlässlich. Hierbei unterstützt die oben aufgeführte Analyse aller beteiligten Parteien.

Überblick über die Blog-Serie:

  1. Projekt und Überblick
  2. Organisation und Projektplanung
  3. Analysephase
  4. Client Arbeitsumgebungen
  5. Datenbanken
  6. Integration Services