Zurück zur Übersicht
AWS

Entwicklung eines skalierbaren Datenportals mit Open Source CMS und AWS

Kunde: ONE8Y

Das Unternehmen ONE8Y hat unter dem Namen ONE8Y DB die weltweit erste lizenzbasierte Marktforschungsplattform im Sportbusiness gebaut/konzipiert. Dabei können die Kunden über verschiedene Abo-Modelle auf alle in der Datenplattform erstellten Marktforschungsstatistiken zugreifen.

Um das Geschäftsmodell von Anfang an auf Basis technischer Best Practices zu etablieren und es gleichzeitig am Markt schnellstmöglich validieren zu können, wählte ONE8Y die Implementierung einer cloudbasierten, skalierbaren IT-Infrastruktur. Dies ermöglicht den Aufbau einer benutzerfreundlichen Plattform, die mit dem rasanten Wachstum der komplexen Datengrundlage und den standardisierten Sicherheitsanforderungen dauerhaft Schritt halten kann.

Für die technische Realisierung entschied sich ONE8Y für eine Zusammenarbeit mit uns, einem der führenden deutschen IT-Dienstleister für innovative IT-Lösungen mit dem Schwerpunkt auf Softwareentwicklung, AWS Cloud Services und Marketing Production Automation. Gemeinsam konnten wir nicht nur ein maßgeschneidertes und mitwachsendes Datenplattformsystem in der AWS-Cloud aufbauen, sondern auch eine kundenspezifische User-Experience schaffen.

Die Herausforderung

Die ONE8Y DB Plattform beinhaltet als Key Feature eine umfangreiche Suchfunktion. Somit bestand eine große Herausforderung darin, die Datenkomplexität durch eine nutzerfreundliche Bedienung verständlich aufzubereiten und leicht zugänglich zu machen. Herausforderungen ergaben sich beispielsweise aus einer semantischen, Taxonomie-basierten Suche und dem Ranking der Taxonomien.

Zum anderen gab ONE8Y vor, dass die Statistikdaten über ein Open Source CMS eingepflegt werden sollten. Der Grund hierfür war ein limitiertes Budget in der Aufbau-Phase. Nach einem betriebsinternen Vergleich entschied sich ONE8Y für das etablierte und flexible Open Source CMS von Neos. Somit war es unsere Aufgabe, für das CMS eine moderne und zukunftsfähige Cloud-Infrastruktur bereitzustellen.

Ein großer Vorteil für beide Unternehmen bestand darin, die Infrastruktur und Architektur autark neu definieren zu können. Dies erlaubte uns, eine Lösung zu erarbeiten, die das Geschäftsmodell von ONE8Y DB von Anfang an optimal und passgenau unterstützt.

Für ONE8Y war die agile Entwicklung eines echten MVPs wichtig, da ihr Produkt zeitnah an den Markt gehen sollte. So konnte frühestmöglich Feedback gesammelt und Verbesserungspotenziale ausgewertet werden.

Neben der umfangreichen Suchfunktion, der Integration eines CMS sowie Budget- und Zeitlimitierungen betrafen die weiteren Zielvorgaben eine Userverwaltung mit PayWall, den Datenschutz und zentrale Datensicherheitsthemen.

Um die Anforderungen von ONE8Y nach den oben genannten Vorgaben mit dem begrenzten Budget eines internen Start-up-Vorhabens bereitstellen zu können, bieten sich die etablierten AWS Cloud Services bestens an.

Die Infrastruktur mit Amazon Web Services

Alle Statistiken von ONE8Y DB sind bei Datawrapper als Rohdaten hinterlegt. Grafiken werden dort erzeugt und anschließend im CMS integriert. ONE8Y hat sich hierbei in Absprache mit uns für eine preiswerte Datawrapper-Custom-Lösung entschieden.

Die Erstellung von Content-Seiten mit Statistiken erfolgt anschließend über das CMS. Die Applikation wird mithilfe von AWS Elastic Beanstalk als EC2 Instanz betrieben. Elastic Beanstalk erstellt im Rahmen von Automatisierungsprozessen dabei alle benötigten Cloud-Ressourcen selbst.

Für die Provisionierung der Infrastruktur haben wir von Beginn an auf Infrastructure as Code (IaC) gesetzt (mittels Terraform). Dabei wurden die Codes bewusst übersichtlich gehalten und für einzelne Anwendungsbereiche separat erstellt: So managed beispielsweise ein Code die CMS-Infrastruktur, während ein weiterer die von uns entwickelte, serverless Infrastruktur verwaltet.

In diesem Zusammenhang haben wir auf unser etabliertes IaC-AWS- Template zurückgegriffen und dieses separat vom serverless Part in unterschiedlichen Repositories untergebracht. Das hat den Vorteil, dass ein gleichzeitiges Arbeiten möglich war. Änderungen in der serverless Infrastruktur hatten so keine Auswirkungen auf das zuvor erstellte Template. Eine saubere Trennung ohne Abhängigkeiten ist gerade dann wichtig, wenn mit Elastic Beanstalk gearbeitet wird.

Infrastrukturdiagramm

AWS OpenSearch Integration

Dank unserer ausgereiften IaC-AWS- Templates war es uns möglich, mit minimalem Aufwand eine standardkonforme und auf allen Ebenen sichere Infrastruktur für die gesamte Applikation in kurzer Zeit bereitzustellen. Dadurch konnten wir uns verstärkt auf das Anpassen und Individualisieren der Applikation konzentrieren.

Für die semantische Suchfunktion in Verbindung mit einer hochgradig skalierbaren, komplexen Datenmenge wählten wir AWS OpenSearch. OpenSearch ist ein gemanagter ElasticSearch als Service. Unsere Entwickler konnten sich damit auf die Integration und optimale Nutzbarkeit im CMS fokussieren.

Hierfür wurde zunächst eine verfügbare OpenSearch-Extension als Basis genommen. Diese stieß jedoch schnell an ihre Grenzen, z. B. wenn es um Updates aus den von OpenSearch erzeugten Content-Seiten ging. Um sicherzustellen, dass Suchanfragen und Suchergebnisse stets performant und up-to-date waren, wurde die Extension geforked und die Anbindung an OpenSearch optimiert.

Um die Suchtreffer für den User leichter zugänglich zu machen, wurde ein facettierter Ansatz für die Taxonomie gewählt. Wird eine Suchanfrage gestellt, sucht das System nach konkreten Übereinstimmungen. Anschließend werden die Ergebnisse noch einmal nach Taxonomiegruppe gewichtet.

So sollte nicht nur Statistiküberschriften gefunden werden, sondern auch Taxonomien selbst, um zu den jeweiligen Statistikseiten geleitet zu werden. Des Weiteren können Synonyme gepflegt werden, um unterschiedliche Schreibweisen abzufangen. Mit Elastic/OpenSearch liefert die zugrunde liegende Datenbank gleich passende Datenstrukturen, Mechaniken und Performance (insbesondere im Unterschied zu traditionellen, relationalen Datenbanksystemen). Für eine nahtlose Integration ins CMS wurde ein entsprechendes Plug-in entwickelt.

Der Betrieb auf AWS bringt für ONE8Y DB neben einem schnellen Markteintritt noch viele weitere Vorteile mit sich. Die konsequente Nutzung der serverless Paradigmen wirkt sich spürbar positiv auf Performance und Stabilität des klassischen CMS-Hostings aus. Damit profitiert ONE8Y DB gleichzeitig hinsichtlich Leistung und Kosten doppelt – denn die serverless Technologie arbeitet nach dem Pay-per-use-Prinzip.

Userverwaltung und Paywall Logik

Für die Benutzerverwaltung und die integrierte Paywall verwendeten wir statt des internen CMS-Usermanagements eine Implementierung auf Basis von Amazon Cognito in Verbindung mit einer Frontend-Authentifizierung innerhalb einer React-App. Für eine schnellere Reaktionszeit wurde die React-App mit Single Sign-on (SSO) entworfen.

Durch eine Kombination aus Amazon CloudFront und einer dahinter liegenden Lambda@Edge-Funktion, die die Authentifizierungstoken prüft, wird die Authentifizierung Cloud-native umgesetzt. Auf diese Weise können die authentifizierten Inhalte stets performant aus Caches geladen werden. Was klassischerweise Teil einer CMS-Logik ist, wurde in CloudFront ausgelagert. Damit wird das Backend entlastet und das System performanter bei gleichbleibender Sicherheit.

Des Weiteren wurde eine zeitliche Beschränkung implementiert, sodass einmal angesehene Inhalte pro eingesetztem Credit nur für eine begrenzte Zeit abrufbar sind. Credits, User-Erstellung und User-Status werden in einer DynamoDB persistiert und mit Lambda-Funktionen und API-Gateways in das CMS-Backend integriert.

Diese AWS-Service-basierte Architektur ermöglicht eine schlanke und leistungsstarke Implementierung der Anforderungen einer Credit-basierten Darstellungslogik inklusive Ablaufzeit und Authentifizierung sowie einer dynamischen Paywall-Logik. Gleichzeitig ist die Gesamtlösung durch die Integration von CloudFront als Caching-Layer auch bei Lastspitzen immer effizient und erweiterbar für zukünftige Payment- oder Credit-bezogene Features.

Datenschutz und Datensicherheit

Datenschutzbestimmungen sind für alle in Deutschland ansässigen Unternehmen ein besonders ernstes Kernanliegen. Deshalb haben wir sichergestellt, dass alle Daten verschlüsselt sind.

Ferner bietet CloudFront eine Web-Firewall zur Absicherung der Applikation. Um den Cloud-Sicherheitsstatus sowie die einzelnen AWS-Ressourcen in Echtzeit überprüfen zu können, wurden AWS Security Hub und Amazon CloudWatch aktiviert. Zur Nachverfolgung der Benutzeraktivitäten und API-Nutzung wurde von uns ebenfalls AWS CloudTrail implementiert. Dadurch wird ein Compliance-Management ermöglicht.

Das Deployment erfolgt über eine automatisierte CI/ CD Pipeline. Dazwischen wurde OpenID Connect ohne feste Credentials zur Verbindung mit dem AWS-Account geschaltet.

Ferner wird mithilfe von verschiedenen Landing Zones sichergestellt, dass die Accounts sauber voneinander getrennt werden. Personenaccounts werden ausgesiebt, während Entwickler direkt in die Infrastruktur geleitet werden.

Somit entspricht die IT-Sicherheit von ONE8Y DB modernen Entwicklungsstandards. In diesem Zusammenhang werden nicht nur AWS Best Practices, sondern auch Cloud-native Entwicklungs-Best-Practices (z. B. das Well-Architectured Framework) in Bezug auf das hohe Sicherheits- und Stabilisationslevel angewendet.

Zeit- und Budget Investition

Das MVP sollte innerhalb eines festen Budgets mit den definierten Leistungsindikatoren, Usability, Wartung, Datenschutz sowie Rollenmodell und Berechtigungen mit Paywall innerhalb einer definierten Zeit Go-To-Market ready sein.

Mit unserem Cloud-nativen Ansatz werden all diese Anforderungen mit Infrastruktur-Kosten in Höhe von ca. 500 € monatlich für die Live-Version abgebildet. Zusätzlich sind jeweils ca. 150 € für die Testumgebungen "Stage" und "Development", einschließlich aller notwendigen Komponenten wie Control Tower, Identity Access Management, Sicherheitsüberprüfungen, Log-in und Protokollierung, zu veranschlagen.

Von der Idee bis zum ersten Release waren ursprünglich knapp 6 Monate eingeplant. Die Datenplattform ging mit zusätzlichen, ungeplanten Optimierungen und erweiterten Funktionsumfang nach 8 Monaten Entwicklungszeit an den Markt.

Das Endprodukt: Mehr als nur ein MVP

In weniger als neun Monaten konnte ONE8Y ein echtes „viable Product“ auf dem Markt unter realen Bedingungen testen. Das Ergebnis war ein voller Erfolg, indem der Marktbedarf richtig erkannt und treffsicher von den Kunden angenommen wurde.

Wichtig für uns ist es, unseren Kunden am Ende einen sofort nutzbaren und reibungslos zu betreibenden Service zur Verfügung zu stellen. Als Partner des deutschen Mittelstands arbeiten wir stets auf Augenhöhe und liefern bestmögliche IT-Lösungen. Wir evaluieren zu Beginn gemeinsam mit unseren Kunden, was in dem vorgegebenen Umfang möglich und sinnvoll ist. So können diese realistisch kalkulieren, was ihnen ein MVP wert ist.

ONE8Y erhielt durch die Zusammenarbeit mit uns ein flexibles, passgenaues und prioritätsorientiertes Produkt mit Marktreife. Das AWS-Fundament ermöglicht es dem Team von ONE8Y DB, sich auf das Unternehmenswachstum zu konzentrieren, ohne sich Gedanken über die IT-Infrastruktur machen zu müssen. Denn durch die Automatisierung und Skalierbarkeit von AWS sind die Systeme bestens für exponentiell wachsende Datenmengen, Website-Traffic, Internationalisierungsstrategien und zukünftige IT-Herausforderungen gerüstet.

So profitierte ONE8Y konkret von der Zusammenarbeit mit uns

  • Erstellung eines MVPs mit funktionsfähiger Basis-Infrastruktur innerhalb von sechs Monate

  • Skalierbare IT-Infrastruktur inklusive aller Basisfunktionen für einen nachhaltigen Betrieb

  • Einfaches IT-Management durch IaC und Verwendung etablierter Standards

  • Automatisierung des klassischen CMS Deployments ermöglicht jederzeit Updates

  • Flexible Weiterentwicklung dank eines hohen IT-Standards als Grundlage und einfacher Integration weiterer AWS-Applikationen bei Bedarf

  • Internationale Aufstellung durch Cloud Front jederzeit möglich

  • Geringe Kosten durch das Pay-per-use- Prinzip der serverless Technologie