• Newsroom
  • Karriere
  • Kontakt
Micromata
  • Leistungen
    • Leistungsübersicht
      • Unser 360°
        Leistungsportfolio auf 
        einen Blick
    • Leistungen
      • Künstliche Intelligenz & Data Science
      • IT Beratung & Potenzialanalysen
      • Softwareentwicklung & DevOps
      • Projekt- & Qualitätsmanagement
      • CX/UX-Design
    •  
      • IT Security & Cloud Defense
      • Cloud Solutions & Operations
      • Change Management & Digitalisierung
      • Support & Maintenance
      • Barrierefreiheit
    • Weitere Themen
      • SAP to Cloud
      • KI-Corporate Chatbot
      • AR & VR Workshop
      • KI-Workshop für Unternehmen
      • Invaider ↗
      • Kubernetes
  • Branchen
    •  Logistik
    •  Automotive
    •  Verkehr & Versorgung
    •  Life Science
    •  Rohstoffe
    •  Forschung & Entwicklung
  • Unternehmen
    •    Über Micromata
    •    Karriere
    •    Forschung & Entwicklung
    •    Publikationen & Vorträge
    •    Micromata Magazin
    •    Kontakt
  • Blog
  • Jetzt anfragen
  • Menü Menü
  • Leistungen
    • Leistungsübersicht
    • Künstliche Intelligenz & Data Science
    • IT-Beratung & Potenzialanalysen
    • CX/UX-Design
    • Barrierefreiheit
    • Softwareentwicklung & DevOps
    • Projekt- & Qualitätsmanagement
    • Change Management & Digitalisierung
    • IT Security & Cloud Defense
    • Support & Maintenance
    • Cloud Solutions & Operations
    • SAP to Cloud
    • KI-Corporate Chatbot
    • Apple Vision Pro Workshop
    • KI-Workshop für Unternehmen
    • Invaider ↗
    • Kubernetes
  • Branchen
    • Automotive
    • Forschung & Entwicklung
    • Life Science
    • Logistik
    • Rohstoffe
    • Verkehr & Versorgung
  • Unternehmen
    • Über Micromata
    • Karriere
    • Newsroom
    • Micromata Magazin
    • Forschung & Entwicklung
    • Publikationen & Vorträge
    • Rückruf anfordern
    • Kontakt
  • Karriere
  • Blog
  • Jetzt anfragen

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.

Jetzt Projekt anfragen

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

Weiterlesen

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

Weiterlesen

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

Weiterlesen

Nachdem die Architektur aufgebaut und die Anwendung auf Korrektheit bzgl. der fachlichen Anforderungen geprüft war, starteten wir den PoC. Dabei ging es vor allem darum, Antwort- und Ausführungszeiten zu messen und zu prüfen, an welcher Stelle es zu Engpässen kommt.

Wie erwartet haben wir die Datenbank als wichtigste Komponente für Performance-Verbesserungen ausgemacht. Um eine Paginierung im Frontend zu ermöglichen – bei so großen Datenmengen einfach unverzichtbar – ist es notwendig, neben den angefragten Daten auch die Anzahl der Datensätze für die gemachte Anfrage seitens der Datenbank berechnen zu lassen. Nur so ist es möglich, dem Endnutzer anzuzeigen, auf welcher Seite er sich befindet und wie viele Inhalte es noch mit dem angegeben Filter gibt. Doch genau diese Berechnung kann zu höheren Antwortzeiten führen, wenn der Filter nur wenig einschränkt ist und somit die Berechnung über eine größere Datenmenge stattfindet. Deshalb waren die ersten Ergebnisse ernüchternd.

Doch bevor wir wg. sowas die gewählte Technologie in Frage stellen, sollten wir uns immer zunächst fragen, ob wir die Technologie überhaupt korrekt eingesetzt haben. Bei einer Datenbank fällt der erste Blick dabei immer auf die Indizes. Dort sind die meisten Performance-Verbesserungen zu erreichen.

Nachdem wir die Indizes überprüft hatten und feststellen mussten, dass an dieser Stelle nicht mehr viel Performance rauszuholen war, widmeten wir uns der SQL-Query, die in diesem Fall vom ORM erstellt wurde. Dabei konnten wir sehen, dass die Abfrage für die Anzahl der vorhandenen Daten im gegebenen Filter nicht auf PostgreSQL optimiert war. Dank der Cloud konnten wir dies dann sehr schnell durch den Umzug der Aurora-Engine von PostgreSQL auf MySQL ändern. Allein durch diesen Wechsel der Engine haben wir die Antwortzeit von 11 Sekunden auf einige hundert Millisekunden drastisch gesenkt.

Da wir schon festgestellt hatten, dass die Berechnung der Anzahl der Datensätze einen relativ hohen Aufwand seitens der Datenbank erfordert, versuchten wir im nächsten Schritt, diesen Nachteil zu mildern, indem wir die Abfrage der Daten von der Abfrage der Datenmenge entkoppelten und diese in der Schnittstelle als zwei separate Abfragen bereitstellten. Somit war es möglich, im Frontend beide Abfragen parallel abzufragen, so dass die Antwortzeiten sich nicht mehr aufsummierten.

Nachdem wir die Performance-Engpässe ausgemacht, behoben und so gute Antwortzeiten erreicht hatten, ging es nun an das eigentliche Testen, um zu zeigen, welche Vor- und Nachteile der Einsatz anderer Technologien sowie das Skalieren der Ressourcen bringen. Dazu wurde zunächst die vorhandene Aurora-Datenbank in ihrer Serverless-Version einer EC2-Version gegenübergestellt und skaliert. Beide Versionen verhielten sich sehr ähnlich und brachten keine Nennenswerte Performance-Steigerung. Auch das Hochskalieren der Datenbank zeitigte keine nennenswerten sprich messbaren Verbesserungen. Somit konnten wir festhalten, dass für den PoC bereits eine gering skalierte (2-8 CUs) Aurora-Datenbank ausreichend war.

Im nächsten Schritt haben wir geprüft, ob es Vorteile bringen kann, eine dokument-basierte Datenbank einzusetzen. Auch hier war es dank der Cloud-Infrastruktur einfach möglich, dies zu testen. Dafür haben wir zwei DynamoDB-Tabellen aufgesetzt und zunächst den Import der Daten gestartet. Dabei war es nötig, relativ hohe Werte für die Schreibzugriffe (1000 Write-CUs) zu genehmigen, um den Import der etwa 400.000 Datensätze weiterhin so schnell wie möglich abzuarbeiten. Dies führte jedoch zu erhöhten Kosten, die durch die nur unwesentlich verbesserten Abfragezeiten nicht ausgeglichen werden konnten.

Der Test einer In-Memory-Datenbank war am Ende nicht mehr notwendig, da wir bereits mit den klassischen Datenbanklösungen ausreichend gute Antwort- und Ausführungszeiten erreicht hatten.

Das Fazit

Weiterlesen

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.

Micromata berät Sie gern

Sprechen Sie uns an!

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!

Rückruf anfordern Nachricht senden

Rechtliches

Impressum
Datenschutzerklärung

Kontakt

Nachricht senden
Rückruf Service
Anfahrt

Social Media

© Micromata | Datenschutzerklärung | Impressum
Link to: 24/7 Service: Die DHL Online-Frankierung Link to: 24/7 Service: Die DHL Online-Frankierung 24/7 Service: Die DHL Online-FrankierungLink to: Business Development mit KPIs Link to: Business Development mit KPIs Business Development mit KPIs
Nach oben scrollen Nach oben scrollen Nach oben scrollen