Migration von monolithischen zu Microservices: verbesserte Antwortzeiten

Innowise hat die Plattform des Kunden erfolgreich von einer monolithischen Architektur auf Microservices migriert und dabei sowohl Backend als auch Frontend für eine bessere Skalierbarkeit und Leistung verbessert.

Der Kunde

Branche
Gesundheitswesen
Region
EU
Kunde seit
2023

Our client is a top-tier healthcare staffing service that helps healthcare providers handle soaring staffing needs and simplify the hiring process. On the other side, job seekers get to choose positions that fit their schedules and preferences perfectly. Our client is all about matching the right people with the right jobs.

Detaillierte Information über den Kunden kann aufgrund der Bestimmungen des NDA nicht veröffentlicht werden.

Herausforderung

Mit der steigenden Nachfrage Schritt halten, ohne die Bank zu sprengen

Als das Geschäft des Kunden schnell expandierte, sah er sich mit wachsenden technischen und betrieblichen Herausforderungen konfrontiert, die seinen Fortschritt zu bremsen drohten. Das einst zuverlässige monolithische System konnte mit den steigenden Anforderungen von Gesundheitseinrichtungen und medizinischem Personal nur schwer Schritt halten. Infolgedessen kam es zu Leistungsengpässen, verzögerten Funktionseinführungen und betrieblichen Ineffizienzen.

Der Kunde benötigte eine Systemüberholung, um weiter zu wachsen, wollte aber nicht zu viel Personal einstellen und zusätzliche Kosten verursachen. Er war auf der Suche nach einem IT-Outsourcing-Partner, der eine flexible Skalierung der Ressourcen auf der Grundlage spezifischer Aufgaben und Fristen bieten und gleichzeitig die Kosten unter Kontrolle halten konnte. Da kam Innowise ins Spiel und brachte das Unternehmen mit seinem Expertenwissen wieder auf Kurs.

Lösung

Umstellung auf Microservices für bessere Skalierbarkeit und Geschwindigkeit

Innowise hat für den Kunden eine skalierbare Microservices-Architektur entwickelt, die das Wachstum seiner Plattform erleichtert. Wir haben sowohl Backend als auch Frontend aktualisiert, sodass alles reibungslos läuft, schnell bereitgestellt werden kann und den Nutzern ein deutlich besseres Erlebnis bietet. Außerdem sorgten unsere Experten mit automatisierten Tests und kontinuierlicher Bereitstellung dafür, dass alles zuverlässig und so läuft, wie es laufen soll.

Eingehende Analyse und Planung

Innowise begann mit einer gründlichen Prüfung des monolithischen Systems des Kunden, bei der die Komponenten aufgezeigt und Engpässe identifiziert wurden. Wir arbeiteten eng mit den Teams des Kunden zusammen, um wichtige Geschäftsfunktionen zu bewerten und sicherzustellen, dass alle Bedürfnisse der Beteiligten bei der Planung berücksichtigt wurden.

Wir ermittelten die Bereiche, die von dieser Umstellung am meisten profitieren würden, und erstellten einen detaillierten Migrationsfahrplan. Unser Team konzentrierte sich auch auf Strategien zur Risikominderung, um sich auf Probleme bei der Datenmigration vorzubereiten und gleichzeitig den reibungslosen Geschäftsbetrieb während der Umstellung aufrechtzuerhalten.

Migration von Monolithen zu Microservices

Nach einer soliden Planung begann unser Team mit einer reibungslosen Migration von einem monolithischen System zu Microservices. Wir teilten die wichtigsten Komponenten der Plattform in unabhängige Microservices auf, die jeweils für sich skalieren konnten. Durch diesen modularen Aufbau wurden Leistungsengpässe behoben, sodass die Dienste Bedarfsänderungen bewältigen konnten, ohne die gesamte Plattform zu verlangsamen.

Außerdem richteten wir dienstspezifische Datenbanken ein, um den Datenfluss zu verbessern und Abhängigkeiten, die zu Verzögerungen führten, zu reduzieren. Mit Kubernetes und Docker hat unser Team die Bereitstellung und Skalierung der einzelnen Microservices automatisiert. Auf diese Weise kann die Plattform Nutzungsspitzen ohne manuellen Aufwand bewältigen.

Service-Orchestrierung und Kommunikation

Wir haben eine Microservice-Orchestrierungsschicht eingerichtet, Apache Kafka für die nachrichtengesteuerte Kommunikation verwendet. Dadurch blieben die Dienste lose miteinander verbunden, so dass sie unabhängig voneinander skaliert werden konnten. Durch den Einsatz asynchroner Kommunikation konnten unsere Experten die Latenzzeit verringern und das System reaktionsschneller machen.

Frontend-Refactoring

Während wir Backend aktualisierten, schenkten wir Frontend die Aufmerksamkeit, die es verdiente. Unser Team überarbeitete die Benutzeroberfläche, indem es sie mit Angular in modulare Komponenten zerlegte, um die Entwicklung zu beschleunigen und das Hinzufügen von Funktionen ohne Kopfschmerzen zu gewährleisten. Unsere Spezialisten haben auch die Verbindung Frontends mit Backend mit Hilfe von benutzerdefinierten CRUD-APIs optimiert, um Echtzeit-Updates und minimale Latenzzeiten zu gewährleisten.

Integrationstests

Um sowohl den Legacy-Code als auch die neuen Microservices stabil zu halten, haben wir mit JUnit einen soliden Satz von Integrationstests zusammengestellt. Wir haben diese Tests auf wichtige Interaktionen wie Datensynchronisierung und Benutzerauthentifizierung ausgerichtet, um Fehler bei der Einführung neuer Funktionen zu vermeiden.

Durch die Arbeit in unserer bestehenden Testumgebung konnten wir konsistente Tests für alle wichtigen Anwendungsfälle durchführen. Bei jedem Test wurde das Zusammenspiel zwischen den neuen und den alten Komponenten gründlich untersucht, was die Migrationsrisiken reduzierte und die Stabilität der Plattform erhöhte.

Technologien

Frontend

Angular, TypScript

Backend

Java 11

Container

Docker, Docker Compose, Kubernetes

VCS

VCS: Git, BitBucket

Test

JUnit

Cloud

Azure

Verarbeiten Sie

Bei diesem Projekt arbeiteten wir nach einer Scrum-Methode, die auf die Bedürfnisse des Kunden zugeschnitten war, und führten fokussierte zweiwöchige Sprints durch, um den Fortschritt auf Kurs zu halten. Unser Team nutzte Jira, um jede Aufgabe zu überwachen und so einen vollständigen Überblick über die Meilensteine und Ergebnisse des Projekts zu erhalten. Die tägliche Koordination über Slack hielt das Team in Verbindung und ermöglichte es uns, Probleme schnell zu lösen.

Our project manager held weekly meetings with the client, sharing detailed updates on development, discussing any challenges, and gathering feedback to keep everyone in sync. This tried-and-tested approach minimized downtime and kept steady progress throughout the project.

Team

1

Projektmanager

1

Software-Architekt

3

Java-Entwickler

2

Angular-Entwickler

2

DevOps-Ingenieure

2

QA-Ingenieure

1

Business-Analyst

Expected results

Our team revamped the client’s platform, boosting operational efficiency. The system now handles more requests without slowing down. Switching to a microservices architecture helped drop response times so that healthcare providers could connect with available medical personnel faster and more reliably.

Durch die Automatisierung der Bereitstellung und Skalierung wurden der manuelle Aufwand und die Betriebskosten reduziert, so dass der Kunde Nachfragespitzen ohne zusätzliches Personal und steigende Infrastrukturkosten bewältigen konnte.

Zusätzlich automatisierte Prüfung reduced system failures and made the platform much more stable. New features could now roll out smoothly without disrupting ongoing services.

Projektdauer
  • Oktober 2023 - Mai 2024

25%

schnellere Reaktionszeiten

30%

Steigerung der betrieblichen Effizienz

    Kontaktieren Sie uns

    Anruf buchen oder füllen Sie das Formular aus. Wir kontaktieren Sie, sobald wir Ihre Anfrage bearbeitet haben.

    Sprachnachricht senden
    Datei beifügen
    Datei hochladen

    Sie können 1 Datei mit bis zu 2 MB anhängen. Gültige Dateiformate: pdf, jpg, jpeg, png.

    Mit dem Klicken auf Senden erklären Sie sich damit einverstanden, dass Innowise Ihre personenbezogenen Daten gemäß unserer Datenschutzrichtlinie verarbeitet, um Ihnen relevante Informationen bereitzustellen. Mit Angabe Ihrer Telefonnummer stimmen Sie zu, dass wir Sie per Sprachanruf, SMS oder Messaging-Apps kontaktieren. Es können Gebühren für Anrufe, Nachrichten und Datenübertragung anfallen.

    Sie können uns auch kontaktieren
    Jetzt contact@innowise.com
    Wie geht es weiter?
    1

    Sobald wir Ihre Anfrage erhalten und geprüft haben, melden wir uns bei Ihnen, klären erste Fragen und unterzeichnen bei Bedarf ein NDA, um die Vertraulichkeit zu gewährleisten.

    2

    Nach der Analyse Ihrer Ziele, Anforderungen und Erwartungen erstellt unser Team einen Projektvorschlag mit Leistungsumfang, Teamgröße sowie Zeit- und Kostenschätzung.

    3

    Wir vereinbaren einen Termin, um das Angebot gemeinsam zu besprechen und alle Details festzulegen.

    4

    Abschließend unterzeichnen wir den Vertrag und starten umgehend mit der Umsetzung Ihres Projekts.

    Pfeil