Big Data meets Cloud

Case Study - One Data

Als Firma hinter der Open End-to-End Data-Product-Plattform ONE DATA befindet sich die One Data GmbH in einem stetig wachsenden und dynamischen Umfeld. Der hohe Konkurrenzdruck insbesondere durch neue Wettbewerber erfordert es daher, schnell und qualitativ hochwertig Innovationen stetig auszuliefern und Kundenwünsche erfüllen zu können.

Voraussetzung für den Erfolg ist dabei eine leistungsfähige und skalierbare Architektur, die es erlaubt, nicht nur heutige, sondern auch zukünftige Anforderungen bestmöglich zu erfüllen. Auf Basis der seit 2013 entwickelten, erfolgreichen flexiblen ONE DATA Plattform war es die Aufgabe von BUSCHMAIS, eine moderne Architektur unter Berücksichtigung individueller Geschäftsziele sowie fachlicher und technischer Constraints zu entwerfen und den Prozess der Modernisierung zu planen und zu begleiten.

Technologien

jQAssistant, AISE-Prozess, Microservices

Branche

Data Science

Die Herausforderung: Time-to-Market und Cloud-readiness

Die ONE DATA Plattform entwickelt sich stetig weiter, um neue Anwendungsfälle zu erschließen und schlussendlich dem Kunden zu jeder Zeit einen Mehrwert zu bieten. Dabei ist eine geringe Time-to-Market besonders wichtig, um sich gegen Konkurrenten durchsetzen und Kunden langfristig binden zu können. Eine wichtige Voraussetzung zur Optimierung dieser stellt dabei die gleichzeitige Entwicklung mehrerer Features verschiedener Fachlichkeiten dar. Dies ist in dem aktuellen monolithischen und technisch-orientierten System jedoch nicht optimal möglich, da sich eine Änderung schnell über das gesamte System verteilt. Auch das separate Ausrollen von Änderungen ist dadurch nur eingeschränkt möglich. Als erste zu optimierende Größe wurde daher mit BUSCHMAIS die Time-to-Market definiert.

Entwicklung der Aufwände für die Feature-Entwicklung in Abhängigkeit der umgesetzten Architektur über die Projektlaufzeit
Entwicklung der Aufwände für die Feature-Entwicklung in Abhängigkeit der umgesetzten Architektur über die Projektlaufzeit

Um neue Kunden zu binden und insbesondere den Betrieb und die Skalierung der Plattform zu vereinfachen, soll langfristig die Bereitstellung der ONE DATA Plattform nicht nur On-Premises auf Kundenhardware erfolgen. Um langfristig optimal von den Möglichkeiten der Cloud profitieren zu können, muss die ONE DATA Plattform daher hohe Anforderungen unter anderem in den Bereichen Skalierbarkeit und Resilienz erfüllen. Als zweite zu optimierende Größe wurde daher die Nutzbarkeit von Cloud-Features definiert, zu dessen Prüfung die Entkopplung technischer und fachlicher Aspekte genutzt wird.

Logo One Data

One Data strebt danach, Daten zielgenau bei Produktentwicklung, Marktprognosen, Forecasts und Co. einzusetzen und Unternehmen somit in die Lage zu versetzen, beliebige Daten schnell in nachhaltigen Mehrwert umzuwandeln. Mit der eigens entwickelten Open End-to-End Data-Product-Plattform ONE DATA lassen sich Data Science und der Weg zum feingeschliffenen Datenprodukt stark beschleunigen. Unsere Vision ist es, die Welt durch Wert und Wahrheit von Daten zu erleuchten.

Das Ziel: Eine leistungsfähige, zukunftssichere Architektur

Beginnend mit einem mehrtägigen Intensivworkshop hat BUSCHMAIS eine Analyse der bestehenden Architektur vorgenommen. Anhand der ISO 25010 (Software-Engineering - Qualitätskriterien und Bewertung von Softwareprodukten (SQuaRE) - Qualitätsmodell und Leitlinien) wurde der Ist- und Soll-Zustand dokumentiert. Besonders die Arbeit mit der ISO 25010 half dabei, Schwachstellen der aktuellen Architektur in Hinblick auf die definierten Geschäftsziele sichtbar zu machen.

Vergleich des Ist- und Soll-Erfüllungsgrades relevanter Softwarequalitäts-Eigenschaften nach ISO 25010 und dem entstehenden Risiko bei Nichterfüllung
Vergleich des Ist- und Soll-Erfüllungsgrades relevanter Softwarequalitäts-Eigenschaften nach ISO 25010 und dem entstehenden Risiko bei Nichterfüllung

Auf dieser Basis konnte anschließend die langfristige Zielarchitektur definiert werden. Hierbei zerfällt die ONE DATA Plattform in fachlich motivierte Microservices, um die separate Entwicklung und Veröffentlichung einzelner Fachlichkeiten zu ermöglichen, sowie das Geschäftsziel der geringeren Time-to-Market zu erreichen. Je nach Anwendungsfall kommunizieren die Services synchron oder asynchron Remote, um eine maximale Entkopplung und damit eine höhere Skalierbarkeit und Resilienz zu erreichen. Der Betrieb der Services ist mittels Kubernetes gelöst, um eine flexible und leistungsstarke Anpassung an Last und zukünftige Anwendungsfälle zu ermöglichen. Die Wahl einer Microservices-orientierten Architektur und der Nutzung von Kubernetes ist optimal, um die Vorteile der Cloud-Infrastruktur optimal zu nutzen und damit das zweite Geschäftsziel zu erreichen.

Der Lösungsweg: Modernisierung parallel zur Produktweiterentwicklung

Modernisierungsmaßnahmen, welche die Architektur eines Software-Systems betreffen, sind aufwändige Unterfangen. Sie betreffen Querschnittsaspekte des Systems und sind damit insbesondere in monolithisch aufgebauten, stark gekoppelten Systemen schwierig umzusetzen. Als zusätzliche Komplexitätsebene ergibt sich, dass aufgrund von architektureller Arbeit nicht die Umsetzung neuer Funktionalitäten ausgesetzt beziehungsweise zu stark behindert werden darf.

Die vier Phasen des iterativen AISE-Prozesses
Die vier Phasen des iterativen AISE-Prozesses

Unter Berücksichtigung der projektorganisatorischen Rahmenbedingungen wurde ein Migrationsplan inklusive der Umsetzung eines Pilotprojekts auf Basis des von BUSCHMAIS entwickelten AISE-Prozesses aufgestellt. Hauptaugenmerk war dabei die Vereinbarkeit von Modernisierung und Weiterentwicklung sowie der sukzessive Aufbau von Wissen im Team, zu dessen Erfüllung die Umsetzung eines Pilotprojekts für einen zukünftigen Service beiträgt.

Die Realisierung: Sicher in die Zukunft mit Software Analytics und aktivem Monitoring

Wichtig bei derartig weitreichenden Modernisierungsmaßnahmen ist die umfangreiche Vorbereitung, wie im AISE-Prozess skizziert. Dabei setzt BUSCHMAIS auf die Möglicheiten von Software Analytics gepaart mit dem präzisen und effizienten Open Source Tool jQAssistant. Durch den Einsatz dieses primär durch BUSCHMAIS entwickelten Tools erfolgt im Anschluss das kontinuierliche Monitoring der Fortschritte.

jQAssistant lässt sich nahtlos in den AISE-Prozess integrieren und unterstützt bei der initialen und kontinuierlichen Analyse, der Definition der konkreten Migrationsschritte, sowie der Dokumentation und Absicherung geschaffener Strukturen.

Mit der Unterstützung von BUSCHMAIS erfolgte das Set-Up von jQAssistant im Projekt, womit One Data bereits erste Analyseergebnisse über die Identifizierbarkeit von und Kopplung zwischen fachlichen Domänen vorliegen hatte. Die mit BUSCHMAIS definierten Metriken, u. a. dem Kopplungsgrad fachlicher Domänen auf Code-Ebene, sowie Hot-Spot-Analysen orientieren sich dabei direkt an den zuvor festgelegten KPIs und folgen demnach den Geschäftszielen.

Aufwand/Risiko mit/ohne Planung und Montioring mit jQA
Aufwand/Risiko mit/ohne Planung und Montioring mit jQA

Auf Basis der initialen Bestandsaufnahme konnten weitere Analysen durchgeführt werden, um die notwendigen Schritte zur Separierung der Fachlichkeiten und damit zur Umsetzung des Pilotprojekts zu definieren. Dank jQAssistant sind dabei die durchgeführten Analysen und Metriken direkt im Projekt verfasst und erlauben die kontinuierliche Validierung und Überwachung der Fortschritte. Die geschaffene Transparenz über den aktuellen Stand macht sowohl die Arbeit für Entwickler als auch für Projektverantwortliche planbar und minimiert Risiken.

Fazit: A Match Made in Heaven

Umfangreiche Arbeiten an der Software-Architektur bergen immer Risiken. Mit der Hilfe von BUSCHMAIS und jQAssistant konnten diese im Rahmen der Beratung aufgezeigt und deren potentielle Folgen reduziert werden. Die durchgeführten Softwareanalysen helfen dabei, einen Überblick über die Anwendung zu erhalten, fachliche Domänen zu identifizieren und den Schnitt in Microservices optimal vorzubereiten. Das kontinuierliche Monitoring unterstützt dabei, Risiken direkt zu identifizieren, zu kommunizieren und passend zu reagieren.

Es wurde das notwendige Wissen aufgebaut, um auch hinsichtlich weiterer fachlicher Domänen die Zielarchitektur umsetzen zu können.

Download (PDF)
Stand: 2023

Ihr Ansprechpartner

Abbildung: Stephan Pirnbaum

Ihr Ansprechpartner

Stephan Pirnbaum

Telefon: +49 351 3209230
E-Mail: stephan.pirnbaum@buschmais.com