Referenz
Smart Factory: DB-Performance in der Cloud
Die technisch-fachliche Prüfung, ob sich die Bestandsanwendungen für den Einsatz in der AWS-Cloud eignen sowie Konzeptionierung und Realisierung der nötigen Anpassungen – stets vor dem Hintergrund von Zukunftsfähigkeit, Skalierbarkeit und Kosteneffizienz – war Scope des PoCs für einen großen Akteur der deutschen Automotive-Industrie.
Smart Factory: Mit Micromata die Potenziale entdecken
Die deutsche Automotive-Industrie durchläuft derzeit einen beschleunigten Digitalisierungsprozess. Ziel ist es nicht nur, eine nachhaltige Mobilität (E-Mobility, Hybridantrieb, autonomes Fahren) voranzutreiben, sondern sämtliche Produktionsprozesse nach dem Leitbild der Smart Factory neu zu denken und zu automatisieren.
Auch in diesem Erfahrungsbericht geht es um die Digitalisierung der Auto-Produktion – von der Bestellung der einzelnen Wagen über die Zusammenstellung der nötigen Bauteile und den Transport des Materials über das Werksgelände bis hin zur robotik-getriebenen Fertigung der Wagen und deren Auslieferung an den Kunden.
Ein wichtiger Baustein dafür ist die Cloud – bietet sie doch beste Bedingungen, zukunftssichere Lösungen zu realisieren, weil sie ein Maximum an Flexibilität, Skalierbarkeit und Kosteneffizienz ermöglicht.
Die Rahmenbedingungen
- nach Möglichkeit serverless und als FaaS
- hohe Skalierbarkeit, ggf. automatische Skalierung
- hohe Performance
- geringe Antwortzeiten
- wirtschaftliches Kostenmodell
Die Technologien
- AWS Lambda als event-getriebene, serverlose Cloud-Plattform
- AWS Aurora als relationaler Datenbankdienst
- NodeJS als plattformübergreifende Laufzeitumgebung
- TypeScript als Programmiersprache, die perfekt mit NodeJS kooperiert
- Sequelize als ORM im NodeJS-Umfeld
- AppSync als GraphQL-API, um die verschiedenen Lambda-Funktionen in einer Schnittstelle zu vereinen
- Serverless als Hilfe für das einfache Deployment von Lambda-Funktionen und Cloud-Formation-Templates
Durch den PoC zum Erfolg
PoCs sind ein etabliertes Mittel, Bestehendes zu hinterfragen und Verbesserungspotenziale freizulegen. Sie helfen, mögliche Lösungen schnell durchzutesten und anhand von Funktionalität und Mehrwert gezielt zu evaluieren.
Die Aufgabe unseres Teams in diesem Kontext war folgender PoC: die technisch-fachliche Prüfung, ob sich die Bestandsanwendungen für den Einsatz in der AWS-Cloud eignen sowie Konzeptionierung und Realisierung der nötigen Anpassungen – stets vor dem Hintergrund von Zukunftsfähigkeit, Skalierbarkeit und Kosteneffizienz.
So haben wir mit unserem PoC geprüft, ob die Bestandsapplikation, namentlich eine SAP-Anwendung auf Basis einer relationalen Datenbank, cloud-tauglich ist und ob/wo wir sie hinsichtlich Nutzung, Verwaltung und Suche weiter optimieren können. Um es vorwegzunehmen: Ja, die Bestandsanwendung ist cloud-kompatibel und ja, sie kann hinsichtlich Rechenleistung und Nutzerfreundlichkeit noch verbessert werden.
Für uns als Tüftler und Macher war es eine große Freude, dass uns der Auftraggeber sämtliche Freiheiten gelassen hat. Die einzige Vorgabe war der Konzernstandard AWS, alle anderen Technologien durften wir frei wählen, durchtesten, vergleichen – um am Ende die tatsächlich beste Lösung in Bezug auf Performance und Wirtschaftlichkeit vorzulegen.
Bestandsanwendungen und Ziele des PoC
Die derzeitige Bestandsanwendung des Auftraggebers wird dafür genutzt, Materiallisten von Fahrzeugen zu importieren, die darin enthaltenen Posten entweder anhand vordefinierter Regeln oder auch manuell über eine Benutzeroberfläche anzupassen und diese dann freizugeben, um sie anschließend in eine andere Anwendung zu übertragen.
Unser PoC konzentrierte sich vor allem auf den Import der Materiallisten sowie die Definition und Ausführung sinnvoller Regeln. Ein Kernaspekt war dabei die Geschwindigkeit der Verarbeitung sowie die Darstellung der Materiallisten und der Regeln in der Benutzeroberfläche.
Im Wesentlichen haben wir dazu verschiedene Datenbankkonfigurationen und -technologien getestet und bewertet. Um die Ergebnisse des PoCs möglichst gut mit der Bestandsanwendung vergleichen zu können, wurden uns dafür Daten aus der Bestandsanwendung zur Verfügung gestellt: etwa 400.000 Datensätze und damit praktisch die reale Datenmenge, die in der Bestandsanwendung verarbeitet wird.
Neben der Performance der Datenbank haben wir in unserem PoC auch die Geschwindigkeit des Frontends auf den Prüfstand gestellt.
Ziel war also, herauszufinden, wie sich Verarbeitungs- und Antwortzeiten durch neue, cloud-kompatible Technologien verbessern lassen.
Die Herausforderungen
Da neben einer hohen Performance immer auch die Wirtschaftlichkeit einer Anwendung betrachtet werden muss, war es wichtig, dies als Faktor bei allen einzukalkulieren. Ich schreibe das deshalb so ausdrücklich, weil das gerade in einem Cloud-Umfeld schnell übersehen werden kann, weil man seine Ressourcen hier ja mit nur einem Klick vervielfachen kann, während es vom Entwickler zumeist einen höheren Aufwand erfordert, Performance-Engpässe z. B. bei der Architektur, bei der Datenbank-Design oder bei der Schnittstellen-Definition ausfindig zu machen und zu beheben.
Diese Überlegungen waren uns als erfahrene Softwareentwickler wichtig, bei den einzusetzenden Technologien mitzudenken. So lassen sich bspw. mit einer In-Memory-Datenbank sehr gute Ergebnisse bei Antwortzeiten erzielen. Jedoch sind die Kosten auch höher als bei einer klassischen Datenbank. Deshalb war es für uns entscheidend, nicht mit der vermeintlich schnellsten aber dafür auch teuren Datenbanktechnologie zu starten, sondern zunächst eine relationale Datenbank einzusetzen und so im Vergleich mit der Bestandsanwendung, ebenfalls eine relationale DB, zu sehen, ob wir auch damit von der Cloud profitieren können.
Ein weiterer Aspekt des PoCs war es, wie schon gesagt, die Benutzeroberfläche zumindest in Teilen zu überdenken und zu entscheiden, ob wir mit kleineren Änderungen eine bessere Benutzerführung erreichen können. Da dies parallel zur Backendentwicklung geschehen sollte, konnte die Schnittstelle zum Frontend nicht von Anfang an festgelegt werden und blieb im Laufe des PoCs flexibel anpassbar.
Testen ohne Vorurteile
Das Fazit
Der PoC zur Datenbank-Performance hat uns gezeigt, dass wir trotz der Vielzahl an Möglichkeiten für einfache Skalierbarkeit und der großen Auswahl an Technologien in der Cloud immer zunächst prüfen sollten, ob wir die Möglichkeiten der bestehenden Lösung bereits ausgeschöpft haben – bevor wir zu anderen u. U. teureren Maßnahmen greifen.
Und er hat auch gezeigt, dass Legacy-Software durchaus gute Voraussetzungen für die Cloud mitbringt. Wer sie vorurteilsfrei und objektiv durchtestet, wird nicht selten erleben, dass das Bestehende gut funktioniert und sich statt für eine komplett neue Lösung für eine Optimierung der alten entscheiden.
Die Digitalisierung, ein ganzer Kosmos an Möglichkeiten! Wir finden heraus, welche davon für Sie die besten sind: Smart. Zukunftsweisend. Wertschöpfend. Brechen wir gemeinsam in Ihre digitale Zukunft auf – wir freuen uns auf Ihre Nachricht!