Überblick
In dieser Fallstudie wird die erfolgreiche Migration und der Betrieb eines Vertragsmanagementsystems beschrieben, das auf Alfresco basiert und von einem Rechenzentrum des Kunden auf die Azure Plattform migriert wurde.
Diese Lösung nutzt modernste Technologien wie u. a. Azure Kubernetes Service (AKS), Azure Database for PostgreSQL Flexible Server und Azure File Storage, um höchste Effizienz, Skalierbarkeit und Zuverlässigkeit zu gewährleisten.
Ein besonderes Augenmerk liegt auf dem vollautomatisierten Deployment, das über GitLab CI/CD Pipelines mit Helmcharts realisiert wurde.
Anforderungen
1. Reibungslose Migration:
Die On-Premises-Alfresco-Applikation muss sicher und risikoarm zu Azure migriert werden.
2. Problemlose Skalierung:
Das System muss mit dem Unternehmenswachstum skalieren können, damit alle Mitarbeiter jederzeit Zugriff haben.
3. Maximale Zuverlässigkeit:
Hohe Verfügbarkeit und Ausfallsicherheit müssen gewährleisten, dass Verträge jederzeit einsehbar sind.
4. Höchstmögliche Automatisierung:
Deployments und Wartungsprozesse müssen weitgehend automatisiert werden, um den Betriebsaufwand zu minimieren.
5. Nahtlose Integration:
Das System muss sich vollständig in die bestehende IT-Infrastruktur und Anwendungen integrieren lassen.
Lösung
Das Unternehmen entschied sich, die bestehende Alfresco-Lösung auf die Azure Plattform zu migrieren, um von den Vorteilen der Cloud wie erhöhte Flexibilität, Skalierbarkeit und besseres Monitoring profitieren zu können.
Die Bereitstellung der Anwendung erfolgte im unternehmenseigenen Microsoft Azure Tenant, wobei der Azure Kubernetes Service (AKS) für die Container-Orchestrierung genutzt wurde.
Technologien
- Azure Kubernetes Service (AKS) ermöglicht das Management von containerisierten Anwendungen und deren Skalierung auf Basis der Orchestrierungsplattform Kubernetes.
- Helm Charts ermöglichen die effiziente Verwaltung von Kubernetes-Anwendungen über konfigurierbare Deploymentvorlagen. Zusätzlich bietet Helm einen paketmanagerähnlichen Aufbau, der Rollout- und Rollback-Mechanismen unterstützt, um Anwendungen flexibel zu aktualisieren oder auf frühere Versionen zurückzusetzen.
- Azure Database for PostgreSQL – Flexible Server dient als zuverlässige und leistungsstarke Datenbanklösung für die Speicherung und Verwaltung der Vertragsdaten.
- Azure File Storage dient als zuverlässiger und skalierbarer Speicher der persistenten Daten der Alfresco-Applikation.
- GitLab CI/CD Pipelines bieten ein Werkzeug, um Build-, Deployment- und Rolloutprozesse auf Basis von Code automatisiert umzusetzen. GitLab dient dabei sowohl als Code-Repository als auch zur Verwaltung von Secrets im integrierten Secret-Store. Die CI/CD Pipelines nutzen diese Grundlage, um die genannten Automatisierungen effizient auszuführen.
Implementierung
Vorbereitung der Migration
Vor der Migration analysierte und bewertete fme die bestehende On-Premises-Infrastruktur und deren Anwendungen. Anschließend entwickelte fme einen detaillierten Migrationsplan, der alle kritischen Schritte und potenziellen Risiken berücksichtigte.
Setup der Azure Infrastruktur
Die notwendige Infrastruktur, einschließlich AKS-Cluster und PostgreSQL-Datenbanken, baute fme mithilfe von Infrastructure as Code (IaC) und der Open-Source-Anwendung Terraform auf. Durch den IaC-Ansatz mit Terraform wird ein hoher Grad an Flexibilität erreicht: Testsysteme können schnell und automatisiert bereitgestellt und ebenso einfach wieder entfernt werden.
Automatisiertes Deployment
Die GitLab-Pipelines wurden für das vollautomatisierte Deployment der Alfresco-Anwendung und der zugehörigen Services konfiguriert. Zur Definition und Verwaltung der Kubernetes-Ressourcen setzte fme Helm Charts ein, was die Bereitstellung und Aktualisierung erheblich vereinfachte. Für die Alfresco-Anwendung mussten jedoch eigene Helm Charts entwickelt und angepasst werden, da Alfresco zu diesem Zeitpunkt lediglich Helm Charts für einen anderen Cloud-Provider bereitstellte.
Migration der Daten
fme stellte die Datenintegrität und -sicherheit während der Migration und Konvertierung der Vertragsdaten von der On-Premises Microsoft-SQL-Datenbank zur neuen PostgreSQL-Datenbank auf Azure sicher.
Kontinuierliche Integration und Bereitstellung
Die GitLab CI/CD-Pipelines wurden so konfiguriert, dass sie bei jedem Commit an das Repository automatisch Tests durchführen und Docker-Images erstellen. Die Nutzung von GitLab Secrets in den Pipelines ermöglicht die sichere Verwaltung sensibler Informationen wie Passwörter und Zertifikate sowie deren Einsatz in Produktionsumgebungen. Durch separate Pipelines können sowohl die Anwendung als auch reine Konfigurationsänderungen jederzeit ausgerollt werden. Dies stellt sicher, dass jede Änderung schnell und zuverlässig in die Produktionsumgebung überführt wird.
Fazit
Die Migration des Vertragsmanagementsystems von einem lokalen Rechenzentrum zur Azure Plattform hat es dem Unternehmen ermöglicht, seine Prozesse erheblich zu optimieren und die Effizienz zu steigern. Durch den Einsatz moderner Technologien wie AKS, Azure File Storage, Postgres, GitLab CI/CD Pipelines und Helm Charts konnten wir eine skalierbare, zuverlässige und automatisierte Lösung implementieren, die die Anforderungen unseres Kunden vollumfänglich erfüllt.
