Die Herausforderung
Um ein Marketing-Programm zum Erfolg zu führen, muss eine kontinuierliche Analyse der Leistungskennzahlen erfolgen, damit fundierte Entscheidungen zu Kooperationen und Kampagnen getroffen werden können. Und wenn man ein Global Player im Digitalen Marketing ist, benötigt man leistungsfähige und skalierbare Systeme, um die täglich anfallenden riesigen Datenmengen analysieren zu können. PCG wurde beauftragt, ein Analysesystem auf Basis von Amazon OpenSearch Service (Nachfolger von Amazon Elasticsearch) zu bewerten, mögliche Kostenoptimierungen zu identifizieren und zu Verbesserungen in Betrieb und Wartung zu beraten.
Unser Kunde bietet umfangreiche Tools zum Monitoring von Leistungsindikatoren innerhalb von Marketingkampagnen – Klicks, Page Impressions, Umsatzraten etc. Das Projekt fokussierte das Tracking- und Analysesystem, das kundenorientierte Berichte über Klickraten und Page Impressions liefert. Sämtliche Daten werden hier über Apache Kafka in das System gestreamt, durch Spring Boot Microservices angereichert, in einem Elasticsearch-Cluster auf Amazon OpenSearch Service indiziert und regelmäßig durch Spark-Aufträge aggregiert. Die Verwendung von Elasticsearch als Analysetool führte zu einer guten und stabilen Performance, insbesondere in Zeiten mit hoher Last wie am Black Friday. Amazon OpenSearch Service vereinfachte zudem die Wartung des Clusters in der Anfangsphase erheblich, obwohl das Team nur begrenzte Erfahrung damit hatte.
Das Ziel des Projekts bestand darin, hierauf aufzubauen und das System auf eine höhere Ebene zu bringen. Folgende Themen wurden behandelt:
- Überprüfung der aktuellen Cluster-Konfiguration; Ermittlung möglicher Ineffizienzen und Kosteneinsparungen
- Verbesserung der Wartungsautomatisierung, insbesondere für die Erstellung von Staging-Umgebungen für Tests und QA, anstatt die AWS-Konsole für alle Vorgänge zu verwenden
- Evaluierung des Index- und Abfrage-Set-ups, um Auswirkungen von Aggregationsaufträgen auf die Abfragelatenz zu verringern, die gelegentlich die Benutzererfahrung beeinträchtigten
- Beratung zu zeitnahen, reproduzierbaren Benchmarking-Experimenten in Elasticsearch, um alternative Abfragen und Einstellungen zu bewerten.
Die Lösung
Zunächst überprüften wir die Einstellungen des Amazon OpenSearch Service, werteten Cluster- und Nutzungsstatistiken aus und validierten die Kapazitätsplanung. Es ergaben sich kostensparende Optimierungen von bis zu 10.000 Euro monatlich.
Cluster-Konfiguration
Wir stellten fest, dass die Elasticsearch-Instanztypen bezüglich CPU und Speicherkapazität überdimensioniert waren. Deshalb schlugen wir Cluster-Konfigurationen vor, die den tatsächlichen Bedürfnissen besser entsprachen, sowie Richtlinien für ihre iterative Evaluierung ohne Beeinträchtigung des Produktionssystems. Durch Änderungen des Abonnementmodells und der Speicherkonfiguration (Verkleinerung von EBS und Verwendung von UltraWarm) könnten weitere Einsparungen erzielt werden. Zudem könnten die empfohlenen Optimierungen hinsichtlich der (Ausfall-)Sicherheit des Clusters versteckte Kosten von Betriebsunterbrechungen verringern.
Wartung
Infrastructure as Code ist ein wesentlicher Bestandteil von DevOps und ein PCG Best Practice. Wir stellten unseren Kunden Terraform-Module zur Verfügung, um in einer bestimmten Umgebung einen Amazon-OpenSearch-Cluster aufzubauen, zu aktualisieren und abzubauen. Die Vorlage enthielt eine Lambda-Funktion zum Booten von Daten aus Snapshots, die in Amazon S3 gespeichert sind, und automatisierte die Erstellung von ephemeren Clustern für Leistungstests und QA.
Zudem berieten wir unseren Kunden zu Verbesserungen bei der Verwaltung und Aufbewahrung von Daten und schlugen vor, das selbst erstellte Skript durch die integrierte Amazon-OpenSearch-Funktion Index State Management zu ersetzen. Diese beinhaltet ausgefeiltere Rollover- und Löschrichtlinien – und es gibt ein Skript weniger zu pflegen.
Indizierung und Abfrage
Das Problem der Abfragelatenz gingen wir an, indem wir zunächst das Index-Set-up überprüften. Wir diskutierten gemeinsam mit dem Kunden eine alternative Sharding-Strategie für seine indexlastige Anwendung und empfahlen größere, gleichmäßig verteilte Shards, um die durch die Spark-Aufträge verursachte Last besser bewältigen zu können. Weitere kleine, aber wirkungsvolle Änderungen an der Indexzuordnung und den Einstellungen könnten zusätzliche Verbesserungen bringen. Anschließend diskutierten wir alternative Optionen, die die Auswirkung der Aufträge auf die Clusterleistung verringern könnten. Diese reichten von der Identifizierung besserer Zeitfenster für ihre Ausführung bis hin zum Überdenken des Aggregationsprozesses mithilfe von Elasticsearch-Funktionen wie Roll-ups oder Transformationen.
Benchmarking
Wir erstellten ein Runbook, um Benchmarking-Experimente in Amazon OpenSearch teilweise zu automatisieren und das Vertrauen in die Ergebnisse zu erhöhen. Vor dem Hintergrund unserer Erfahrungen und Best Practices passten wir das Runbook an das Click- and-Impression-Analysesystem an und überprüften im Team, ob Wiederholbarkeit und Reproduzierbarkeit der Methodik gegeben sind.
Resultate und Vorteile
Zweifellos hat unser Kunde mit Elasticsearch als Grundbaustein seines Analysesystems digitaler Marketingdaten die richtige Wahl getroffen. Der Einsatz von Amazon OpenSearch Service beschleunigte die Markteinführung, ließ aber Raum für Optimierungen. Als zertifizierter AWS- und Elasticsearch-Partner arbeitete PCG gemeinsam mit dem Kunden an der Steigerung der Betriebs- und Kosteneffizienz des Systems. Letztendlich konnten wir veritable Konfigurations- und Prozessoptimierungen, die die AWS-Kosten nahezu halbieren sollten, sowie Tools zur verbesserten Automatisierung und zu transparenteren Wartungseingriffen erarbeiten.
Über PCG
Die Public Cloud Group (PCG) unterstützt Unternehmen bei ihrer digitalen Transformation durch den Einsatz von Public Cloud-Lösungen.
Mit einem Portfolio, das darauf ausgerichtet ist, Unternehmen aller Gr öße auf ihrer Cloud Journey zu begleiten, sowie der Kompetenz von zahlreichen zertifizierten Expert:innen, mit denen Kunden und Partner gerne zusammenarbeiten, positioniert sich PCG als verlässlicher und vertrauenswürdiger Partner der Hyperscaler.
Als erfahrener Partner der drei relevanten Hyperscaler (Amazon Web Services (AWS), Google Cloud und Microsoft Cloud) hält PCG die höchsten Auszeichnungen der jeweiligen Anbieter und berät Sie als unsere Kunden in Ihrer Cloud Journey unabhängig.