Modernisierung einer SaaS-Anwendungen für einen Werbeanbieter
Kunde
Der Kunde ist eine Agentur für digitales Marketing und Branding für Unternehmen, die auf dem Gebiet Phytotherapie tätig sind. Der Kunde besitzt eine SaaS-basierte Werbeplattform, die seinen Kunden hilft, in einem speziellen Werbeumfeld fokussiert zu arbeiten. Über die Plattform können Unternehmen Medienwerbung schalten und sich dadurch mit ihrem engen Publikum weltweit verbinden.
Herausforderung
Der Kunde plante ein großes Update seiner alten Werbeplattform, um das automatisierte Management digitaler Werbekampagnen zu ermöglichen und dadurch erwartete Nutzerwachstum und Entwicklung in der Zukunft effektiv zu bewältigen. Der Kunde wollte ein großes Geschäftsziel erreichen und die Mandantenfähigkeit für seine Kunden implementieren, um die gemeinsame Nutzung und Verwaltung von Anwendungsressourcen zu ermöglichen und dabei die Daten voneinander zu isolieren und die Datensicherheit zu gewährleisten. Um die Plattform mandantenfähig zu machen, war ein völlig neuer Ansatz zur Plattformarchitektur erforderlich. Aber zu diesem Zeitpunkt wurden Pläne hinsichtlich des Updates verschoben, weil die Plattform auf alten Technologien basierte und schlecht aufgebaut war. Außerdem hatte der Kunde mehrere Teams in die Plattformentwicklung ganz am Anfang einbezogen und zu irgendeinem Zeitpunkt die Kontrolle über den Zustand der Plattform verloren.
Lösung
ScienceSoft wurde damit beauftragt, die alte Plattform komplett zu modernisieren. Unsere Experten in Application Services haben die volle Verantwortung für den Modernisierungsprozess übernommen und dem Kunden alle erforderlichen technischen Unterlagen bereitgestellt.
Das Team begann mit einem Audit. Alle Ergebnisse – aufgedeckte Probleme aus der Code- und Architekturebene – wurden in einem detaillierten Bericht beschrieben und priorisiert, was unseren Experten auch ermöglichte, eine Roadmap für die Modernisierung der Legacy-Plattform zu erarbeiten.
Um den Code zu bereinigen und die technischen Schulden zu beseitigen, führte das Team von ScienceSoft Refactoring-Aktivitäten durch. Um Code-Diskrepanzen besser zu lokalisieren und zu beheben, zerlegte das Team den Code in kleinere testbare Komponenten auf, um Unit-Tests durchzuführen. Refactoring-Aktivitäten halfen, die Lesbarkeit des Codes zu verbessern und die Einhaltung der Coding-Standards sicherzustellen. Das bildete eine Grundlage für das zukünftige Wachstum und die Weiterentwicklung der Plattform und minimisierte Risiken, die mit den zukünftigen Veränderungen verbunden sein könnten. Das Team von ScienceSoft verwendete AWS Elastic Beanstalk, um Codeänderungen bereitzustellen. Wir haben eine Staging-Umgebung eingerichtet, um den Code zu testen, bevor er live übertragen wird. Die erreichte Wartbarkeit und Erweiterbarkeit des Codes sicherte eine langfristige kostengünstige Anwendungsentwicklung.
Als nächsten Schritt hat ScienceSoft durch Reengineering-Aktivitäten die Plattform in eine mandantenfähige Anwendung umgewandelt. Dafür wurde ein Architekturansatz eingesetzt, bei dem alle Mandanten Computerressourcen gemeinsam nutzen und einen individuellen Zugriff durch die Authentifizierung erhalten können. Es wurde dabei gewährleistet, dass die Daten verschiedener Mandanten (Englisch Tenant) isoliert werden und unsichtbar für andere Mandanten bleiben.
Ergebnisse
Unser Team verbesserte die Marktfähigkeit der Plattform, indem es den Quellcode an einzelne Standards anpasste und die Anwendung unter Verwendung moderner Codierungsansätze wiederbelebte. Außerdem haben wir die Werbeplattform des Kunden mandantenfähig gemacht, was auch ermöglichte, den Aufwand für die Wartung und Betrieb zu reduzieren und Betriebskosten zu optimieren.
Technologien und Tools
Python 3.6, Flask, React, Redis, PostgreSQL Elasticsearch, AWS Elastic Beanstalk