Project highlights
- Umstrukturierung einer monolithischen Legacy-App in Microservices
- Angebot einer Expertenberatung auf Abruf
- Sicherstellung der kontinuierlichen Bereitstellung mit täglichen Releases
- Branche:
- FinTech
- Zusammenarbeit:
- seit 2017
Geschäftliche Herausforderung
Da unser Kunde, ein europäischer Kreditmarktplatz, ein deutliches Nachfragewachstum für seine Kreditvermittlungslösung verzeichnete, musste er seine alte Softwareversion modernisieren, um den wachsenden Geschäftsbedürfnisse gerecht zu werden und sein Produkt auf ein neues Niveau zu heben. Sein Ziel war es, die Architektur des Systems von einem Monolithen zu Microservices zu strukturieren, ohne die bestehende Funktionalität und Geschäftslogik zu beeinträchtigen, um einen ununterbrochenen Kundenservicefluss zu gewährleisten.
Als bewährter FinTech-Anbieter hat Intellias diesem Kunden bereits beim Aufbau und der Verbesserung seiner Lösung geholfen. Natürlich wendeten sie sich an Intellias, um einen Monolithen zu Microservices umzugestalten. Die Modernisierung von Altsystemen und Infrastrukturen für Banken, Finanzinstitute und Kreditunternehmen ist seit langem eine unserer Kernkompetenzen bei Intellias. Der Bedarf unseres Kunden an Refactoring und der Entwicklung neuer Funktionen hat eine neue Phase der Zusammenarbeit zwischen unseren beiden Unternehmen eingeleitet.
Gelieferte Lösung
Um die Migration von Monolithen zu Microservices zu realisieren, haben wir zwei flexible, funktionsübergreifende Entwicklungsteams gebildet, die die Refactoring-Techniken in Agile beherrschen und unter der Aufsicht des CTO und des Chefarchitekten unseres Kunden an zwei getrennten Streams arbeiten. Während unser Technologie-Team für das Refactoring der monolithischen Altanwendung verantwortlich war, baute unser Business-Team neue Funktionen in Microservices auf und führte ein Refactoring entsprechend der Geschäftsbedürfnisse durch.
Im Laufe unserer Zusammenarbeit sind die Intellias-Entwickler zu einem Bestandteil der Organisation unseres Kunden geworden. Sie leisten wertvolle Beiträge zu vielen Aspekten der Produktentwicklung und bieten auf Abruf fachkundige Beratung. Wir haben auch einen effizienten Entscheidungsprozess aufgebaut, bei dem alle Beteiligten (technische Leitungen, Produktinhaber, Delivery Manager und Produktmanager etc.) direkt miteinander interagieren und ein klares Verständnis davon haben, wohin das Projekt geht, was die nächsten Schritte beim Refactoring von Monolithen zu Microservices sind und wie die Projektziele erreicht werden.
Innerhalb der letzten drei Jahre hat unser Entwicklungsteam unter der Leitung eines Intellias Delivery Managers eine Reihe von Produkt- und Prozessverbesserungen erarbeitet, einschließlich Testautomatisierung, Implementierung von CI/CD-Praktiken auf der gesamten Organisationsebene und Entwicklung von Lieferstrategien für den gesamten Software-Entwicklungslebenszyklus.
Eine weitere deutliche Verbesserung, die von unserem Team vorgeschlagen und umgesetzt wurde, war eine neue zweistufige Refactoring-Strategie, die eine schmerzfreie, risikofreie und schnelle Plattformmigration ermöglicht. Unser erster Schritt war, dem Monolithen keine weiteren Funktionen hinzuzufügen und alle neuen Funktionen in Microservices zu entwickeln. Dann begannen wir, nach und nach Dienste aus dem Monolithen herauszulösen und alle geschäftskritischen Bereiche mit jeder neuen Feature-Anfrage auf Microservices zu migrieren.
Um den Monolithen effizient in Microservices umzuwandeln, identifizierten wir wichtige Codebereiche, die 90 bis 99 % der Geschäftsanforderungen erfüllten, überprüften die Relevanz bestimmter Funktionen für die Geschäftsprozesse und setzten Prioritäten für die zu entwickelnde Funktionalität. Durch die Überwachung der Auswirkungen des Codes in der Produktion auf das Geschäft unseres Kunden und den Einsatz fortschrittlicher Refactoring-Techniken in Java entkoppelten wir nach und nach Verbindungen und Abhängigkeiten im System und schafften es, neue Funktionalität als Dienste in der neuen Architektur zu implementieren. Außerdem migrierten wir geschäftsrelevante Daten aus der alten Datenbank des Monolithen in die Microservices-Datenbanken.
Aus technischer Sicht haben wir die Blau/Grün-Bereitstellung und die Schattentests in drei Phasen angewendet:
- Sichern aller Daten und Anfragen sowohl für die monolithische App als auch für Microservices
- Umschalten von Lese- und Schreibvorgängen zwischen der monolithischen App und den Microservices, Verfolgen von Änderungen und Beheben von Fehlern
- Bereinigen von unnötigem Code aus der monolithischen App
Diese Technik, eine monolithische Anwendung in Microservices umzuwandeln, ermöglichte es unserem Team, wichtige Funktionen herauszufiltern, sie anhand der geschäftlichen Bedürfnisse und Anforderungen zu testen, geschäftskritische Bereiche sauber zu trennen und in Microservices zu platzieren. Die Kombination aus enger, wechselseitiger Kommunikation zwischen den Teams, rechtzeitigem Feedback des Kunden und gut koordinierter Arbeit trug zum Gesamterfolg des Projekts bei.
Geschäftsergebnis
Unsere Zusammenarbeit hat die digitale Modernisierung des Unternehmens unseres Kunden stark beschleunigt, was aufgrund der schnellen Geschäftsexpansion sein dringendster Bedarf war. Wir halfen unserem Kunden, seinen gesamten Businessbereich in 1,5 Jahren von einem Monolithen auf Microservices umzustellen, was zu einem stabilen, wartbaren und skalierbaren Produkt führte. Es gelang uns auch, das System während des gesamten Refactoring-Prozesses zu 100 % betriebsbereit zu halten, die Geschäftskontinuität zu wahren und den ROI-Zyklus in einem Jahr zu erreichen.
Gemeinsam mit den Produktteams unseres Kunden erarbeiteten wir die richtigen betrieblichen Abläufe. Dies führte zu einem optimierten, transparenten und vorhersehbaren Entwicklungsprozess, der Folgendes umfasst:
- Eine effiziente Planungsstrategie mit einer 80/20-Balance zwischen geplanten und ungeplanten Projektaktivitäten
- Eine effektive und ausgewogenere Zuordnung von Nacharbeitsaufgaben pro Sprint (von 25 % auf 10 %)
- Ein täglicher Freigabezyklus und zeitnahe Produktauslieferungen durch das CI/CD-Modell
- Automatisierung aller QS-Prozesse
Die Vorteile, die unser Kunde durch die Zusammenarbeit mit Intellias erhalten hat, gehen weit über das ursprüngliche Ziel hinaus, die monolithische Architektur in eine Microservices-Architektur umzuwandeln:
- Unser vollwertiges Entwicklungsteam mit technischen Leitern und Entwicklungsleitern an unserer Seite agiert als funktionale Einheit des Unternehmens-Ökosystems unseres Kunden.
- Unsere End-to-End-Dienste umfassen jeden Schritt von der Ideenfindung, Anforderungsklärung und Planung bis hin zur Überwachung nach der Produktion und dem Support auf Abruf.
- Wir gewährleisteten Einblick in die Leistung des Systems, Geschwindigkeit, Belastbarkeit, Stabilität, Optimierung, Datennormalisierung etc.
- Die Intellias-Experten aus den Centers of Excellence versorgen unsere Kunden mit Fachwissen in den Bereichen DevOps, Testautomatisierung, Geschäftsanalyse und anderen Bereichen.