Umsetzung SBB-Adventskalender

www.sbb-adventskalender.ch
www.calendrierdelavent-cff.ch
www.calendariodellavvento-ffs.ch
www.sbb-adventcalendar.ch

Umsetzung und Beratung
Projektleitung: Nicolas Schneider

Umsetzung SBB Adventskalender 2018
Auch in diesem Jahr durften wir in Zusammenarbeit mit der SBB den SBB Adventskalender 2018 entwickeln und bereitstellen.

Im SBB Adventskalender konnten Besucherinnen und Besucher täglich eine Frage beantworten, um Punkte zu sammeln und einen Tagespreis zu gewinnen. Am 24. Dezember wurde dann unter allen Teilnehmenden mit der höchsten Punktezahl ein Generalabonnement verlost.

Drupal als CMS
Die Webseite für den SBB Adventskalender haben wir mit dem Open Source CMS Drupal umgesetzt. So konnten wir der SBB freien Zugriff auf den Webseiten-Inhalt ermöglichen und dem verantwortlichen Content Team eine vertraute Umgebung für die Webseiten-Erstellung bieten. Dadurch konnte das Team die Tagesfragen einfach in allen vier Sprachen bearbeiten, die Teilnahmen verwalten und exportieren. 

Hochverfügbarkeits-Infrastruktur
Da der SBB Adventskalender während der Adventszeit eine sehr hohe Anzahl Besucher verzeichnet, bestand unsere Herausforderung darin, eine Hochverfügbarkeits-Architektur mit Drupal als Backend zu gewährleisten. Umgesetzt haben wir die Infrastruktur auf Basis einiger Open-Source-Werkzeuge, die wir auch für den Betrieb unserer eigenen Webprojekte nutzen. So haben wir einen eigens von uns entwickelten Docker Container für Drupal verwendet. Als Datenbank hatten wir ein MariaDB Galera Cluster in Betrieb, das über drei Server eine Master-Master-Replikation gewährleistete. Als Orchestrator für die Container verwenden wir Kubernetes, um ein flexibles und skalierbares Management von Microservices anzuwenden. Um den Cluster-Intern-Traffic zu verteilen, kam NGINX als Load Balancer zum Einsatz. So konnten wir den Drupal-Container pro Server vertikal und mit Hilfe weiterer Server horizontal skalieren.

Um dem erwarteten Traffic gewachsen zu sein, haben wir uns für eine Failover-Architektur mit einem Aktiv/Passiv-Cluster mit Hot Standby entschieden. Zudem stand ein Content Delivery Network (CDN) im Einsatz, um einerseits statischen Inhalt zwischenzuspeichern und anderseits den Switchover auf das sekundäre Standby-System mit einem externen Load Balancer zu ermöglichen. Diese Architektur erwies sich als sehr fehlertolerant und robust, während der gesamten Adventszeit verzeichneten wir denn auch keine Ausfälle.

Statistik zum Adventskalender
Am ersten Adventstag massen wir über 70'000 eindeutige Besucher auf der Seite. Während dem gesamten Teilnahmezeitraum vom 1. bis zum 24. Dezember hatte die Webseite knapp 400’000 eindeutige Besucher mit über 3,2 Millionen Seitenaufrufen, aus denen 75 Millionen Serveranfragen resultierten. Am Ende konnte die SBB gesamthaft über eine Million Wettbewerbsteilnahmen verzeichnen.

Weiterführende Links