Modernisierung einer Web-Anwendung: Effizienzsteigerung durch Microservice-Architektur
Projektreferenz
Herausforderung
Die ursprüngliche Anwendung des Kunden war ineffizient und schwer skalierbar. Sie basierte auf einer MS Access-Datenbank und einer nicht mehr zeitgemäßen Architektur. Ziel des Projekts war es, die Anwendung zu modernisieren, um die Betriebskosten zu senken und die Effizienz sowie die Erweiterbarkeit der Anwendung zu verbessern. Zudem sollte eine Schnittstelle für externe Kunden geschaffen werden, um Daten abzurufen.
Die Modernisierung führte zu einer erheblichen Verbesserung der Anwendungseffizienz und -skalierbarkeit. Die Betriebskosten konnten signifikant gesenkt und die Flexibilität der Anwendung erhöht werden. Externe Kunden unseres Kunden können nun problemlos auf die notwendigen Daten zugreifen, was zu einer verbesserten Zusammenarbeit und höherer Kundenzufriedenheit führte.
Modernisierung einer Web-Anwendung
Zusammenfassung
In diesem Projekt unterstützte eBiz Consulting GmbH einen Fachbereich eines der weltweit führenden Wirtschaftsprüfungsgesellschaften bei der Modernisierung einer bestehenden Anwendung. Diese war zuvor in einer ineffizienten und veralteten Architektur implementiert und verursachte hohe Betriebskosten sowie Schwierigkeiten in der Weiterentwicklung und Skalierung. Durch die Einführung einer Microservice-Architektur, die Nutzung von Kubernetes und die Implementierung moderner Technologien konnte die Anwendung signifikant verbessert werden, was zu einer erhöhten Effizienz, Stabilität und Flexibilität führte.
Eingesetzte Technologien und Methoden
-
Programmiersprachen: Node.js, Angular, TypeScript
-
Frameworks: Express.js, TypeORM
-
Datenbank: Microsoft SQL
-
Versionsverwaltung: GitLab
-
Container-Orchestrierung: Kubernetes
-
Deployment: Helm
Kunde
Der Kunde hat ein weitreichendes Netzwerk und führt Prüfungen im Bereich der finanziellen Förderung von Filmen in Deutschland durch.
Lösung
eBiz Consulting implementierte eine moderne Microservice-Architektur unter Verwendung von Node.js und Angular für das Frontend sowie MSSQL für die Datenbank. Node.js wurde für das Backend eingesetzt, weil bereits wesentliche darin implementierte Bestandteile der alten Anwendung übernommen werden mussten. Die Anwendung wurde in einem Kubernetes-Cluster betrieben und mit Helm bereitgestellt. Ein Virenscanner (ClamAV) wurde integriert, um hochgeladene Dokumente auf Viren zu prüfen. Darüber hinaus wurde eine REST-API entwickelt, um externen Kunden den Zugriff auf bestimmte Daten zu ermöglichen. Die Codebasis wurde umfassend refaktoriert, um technische Schulden zu reduzieren und die Weiterentwicklung zu erleichtern.
Schlüsselerkenntnisse
Die Wahl der richtigen Technologien ist entscheidend für den langfristigen Erfolg einer Anwendung. Node.js erwies sich als weniger geeignet für komplexe Business-Anwendungen mit tiefgehender Logik. Hier bevorzugen wir andere, mächtigere und weniger volatile Technologien.
Eine klare Architektur und die Trennung von Geschäftslogik und Datenbankzugriff sind essenziell, um technische Schulden zu vermeiden.
Transparente Kommunikation und enge Zusammenarbeit mit dem Kunden sind entscheidend, um Vertrauen aufzubauen und die Projektherausforderungen erfolgreich gemeinsam zu bewältigen.
Frühzeitiges Refactoring und die Einführung von Standards (z.B. Style Guides) können spätere Probleme und hohe Aufwände vermeiden.