Ausgangssituation:

In etlichen Software-Architekturen finden sich monolithische Anwendungen, welche zum Teil seit Jahrzehnten ihren Dienst verrichten, zum Beispiel als klassische Client-Server-Anwendungen. Die digitale Transformation zwingt uns auch hier zum Umdenken, da die fortlaufende Weiterentwicklung digitaler Technologien zu  tiefgreifenden Veränderungsprozessen führt.

Problem:

Mit dem exponentiellen Anstieg der Softwarekomplexität erwiesen sich monolithische Codebasen jedoch als schlecht skalierbar. Die Veröffentlichung neuer Releases bedeuten in der Regel hohen administrativen Aufwand und verursachen Block- oder Ausfallzeiten.

Lösung:

Eine Lösung für dieses Problem bieten IT-Container. Im Kern sind Microservices eine architektonische Methode zur Entwicklung von Softwareanwendungen oder Funktionen als verteiltem Satz von unabhängig bereitstellbaren und verwaltbaren Modulen, die verschiedene Anwendungsdienste ausführen. Jeder Dienst hat eine eindeutige Funktion, die über wohldefinierte Programmierschnittstellen (APIs) mit anderen kommuniziert. Diese Herangehensweise an die Softwareentwicklung ermöglicht eine schnellere Entwicklung und Skalierbarkeit von Anwendungen im Vergleich zur traditionellen monolithischen Methode. Microservices werden als verteilte Anwendungskomponenten entwickelt, sodass Dienste unabhängig arbeiten können, aber bereitgestellt, aktualisiert und skaliert werden können, um die Gesamtleistung der Anwendung zu unterstützen.

Moderne Softwareentwicklung verwendet Cloud-Technologien und setzt bei der Architektur auf den Einsatz von Containertechnologie und die Nutzung von Microservices. Einer der vielen Vorteile dieser modularen Anwendungen ist, dass die Einführung neuer Funktionalitäten oder der Austausch von Softwarekomponenten praktisch “on the Fly” und ohne Ausfallzeiten erfolgen kann. Die Verwaltung der einzelnen Module, Container, Schnittstellen und Services erfolgt automatisiert mithilfe von Orchestrierungssoftware, sodass Wartbarkeit der Anwendung erheblich verbessert werden kann. Diese Herangehensweise ermöglicht also insgesamt eine schnellere Entwicklung und deutlich verbesserte Skalierbarkeit von Anwendungen. Hierdurch werden Effizienzsteigerungen bei gleichzeitiger Kosteneinsparung ermöglicht.

Neben privatwirtschaftlichen Unternehmen sehen auch IT-Verantwortliche in der öffentlichen Verwaltung, das Potential der Containertechnologie und lösen monolithische Anwendungen ab. Der folgende Projektsteckbrief stammt aus einem Projekt, welches wir für unseren Kunden erfolgreich abgeschlossen haben. Das skizierte Beispiel lässt sich jedoch gut auf ähnliche Vorhaben übertragen.

Zielsetzung:

  • Die produktive monolithische Client Server Anwendung sukzessive in eine Cloudanwendung unter Einsatz von Containertechnologie und Microservices überführen.

 

Projektkomponenten:

  • Entwicklung und Migration der Serveranwendung
  • Entwicklung und Ablösung der Benutzeroberfläche (GUI)
  • Dokumentenentwicklung
  • Aufbau, Pflege und Wartung der Infrastruktur
  • Deployment von Releases und Aufrechterhaltung des Betriebes
  • Unser Verantwortungsbereich im Projekt:
  • Projektorganisation (Methodik und Werkzeuge)
  • Mitwirkung bei der Zieldefinition
  • Projektplanung, Aufgabenverteilung
  • Verantwortlichkeit für das Projektteam
  • Steuerung der Projektaktivitäten
  • Berichten an Auftraggeber
  • Kommunikation und Konfliktmanagement innerhalb des Teams und mit Stakeholdern
  • Repräsentation des Projekts nach außen
  • Erstellen von Projektstatusberichten
  • Projektdokumentation
  • Vorbereitung und Herbeiführen von Abstimmungen und Entscheidungen

Von der RS GROUP besetzte Projektrollen:

  • Projektleitung

RS GROUP Unternehmensberatung – Ablösung von Monolithische Anwendungen, durch IT-Container in der öffentlichen Verwaltung.