Wahlwebsite zu den Parlamentswahlen 2019

Auf einen Blick

  • Branche: Staatliche Institution
  • Jahr: 2019
  • Leistungen: Beratung, KonzeptionUX-Design, Prototyping, Umsetzung, Hosting, Wartung & Support
  • Technologie: Node.js, Highcharts, Varnish, nginx, Sass, Handlebars, jQuery

 

Dank ausgefeilter Serverarchitektur konnte der Andrang von über 41 Millionen Anfragen am Wahlsonntag bedient werden.

Das Bundesamt für Statistik

Das Bundesamt für Statistik (BFS) ist das nationale Kompetenzzentrum der öffentlichen Statistik der Schweiz. Es produziert und publiziert statistische Informationen über den Stand und die Entwicklung von Bevölkerung, Wirtschaft, Gesellschaft, Bildung, Forschung, Raum und Umwelt.

Kunde im Rahmen des Projekts «Wahlwebsite zu den Parlamentswahlen 2019» war die Sektion POKU des BFS. Sie ist verantwortlich für die Publikation der offiziellen Resultate der nationalen Wahlen (National- und Ständeratswahlen), welche alle 4 Jahre stattfinden.


Das Projekt und seine Ziele

Um die Wahlresultate am Wahlsonntag sofort und live nach dem Bekanntwerden publizieren zu können, brauchte die Sektion POKU einen leistungsfähigen Webauftritt bestehend aus einer modernen, flexiblen Microsite und dem regulären Webauftritt auf der Website des BFS. Der starke Aktualitätsbezug (Live-Daten am Wahlsonntag) und die hohe Publikationsfrequenz an einzelnen Tagen stellen andere Anforderungen an eine Website, als die Standardveröffentlichungen auf dem Statistikportal des BFS.



Die Herausforderung

Sowohl die Einstiegsseite wie auch die interaktiven Grafiken sollten die folgenden Eigenschaften erfüllen:

  • Modernes und attraktives Layout / Responsive Design, das dem Benutzer verschiedene Interaktionsmöglichkeiten biete (z.B. Filtern und Sortieren von Daten in Tabellen und Grafiken, Regionalisierung)
  • Automatische Aktualisierung sämtlicher Inhalte beim Vorliegen neuer Ergebnisse
  • Vielfältige und Wiederverwendbarkeit der Inhalte und des Layouts im Vorfeld, am Wahlsonntag und für die Archivierung nach der Wahl
  • Sicherstellung der Barrierefreiheit, damit Informationen auch für Menschen mit erschwerten Zugangsbedingungen verständlich und konsumierbar sind
  • Hohe Verfügbarkeit am Tag X und Skalierung

Unsere Lösung: Serverinfrastruktur

Nach dem Zuschlag der öffentlichen Ausschreibung entwickelte Snowflake eine auf Open-Source-Technologien basierende Lösungsarchitektur, die den technischen und betrieblichen Herausforderungen gerecht wird. Die Architektur trennt zwischen einem Server zur Aufbereitung der Daten, sowie mehreren Servern, die parallel alle Nutzeranfragen bearbeiten. Um die Lastverteilung flexibel und feingranular steuern zu können, setzte Snowflake auf eine hyperkonkvergente Serverinfrastruktur. Nicht nur die Serverressourcen konnte schnell und flexibel pro Server gesteuert werden, sondern auch die Anzahl Server konnte beliebig nach oben skaliert werden. Die Lastverteilung wird mittels DNS-Service gesteuert. Zu diesem Zweck hat Snowflake die DNS-Verwaltung am Wahlwochenende übernommen. Effektive waren acht Server über drei Schweizer Rechenzentren im Einsatz, um prognostizierte Peaks von 10'000 User pro Stunde bedienen zu können.


Unsere Lösung: Performance und andere Teilprojekte

Aus Sicht der Performance war es nicht nur wichtig schnelle Antwortzeiten zu erreichen, sondern gleichzeitig auch die Menge der auszuliefernden Daten zu reduzieren. Der Cache mittels Varnish stellt die schnelle Reaktion sicher, während die Datenmenge durch das Aufbereiten und Ausliefern von statischen Daten reduziert wurde.

Für die Wiederverwendbarkeit der Daten auf Dritt-Websites stellte Snowflake JavaScript Widgets, die per Iframe eingebunden werden konnten, zur Verfügung. So konnten interessierte Medien wie z.B. Blick.ch, die Widgets im Vorfeld auf ihren Seiten integrieren. Die aktuellen Wahldaten wurden anschliessend direkt von den Servern der Snowflake bezogen.

Um alle Komponenten entsprechenden Stresstests zu unterziehen und die Gesamtarchitektur unter voller Belastung zu überprüfen, wurden zur Qualitätssicherung im Vorfeld Lasttests durchgeführt. Auf Basis der Ergebnisse konnte die finale Dimensionierung der Serverressourcen definiert werden.

Jeder Plan ist nur so gut wie der Notfallplan. Daher leistete Snowflake Pikettdienst zur aktiven Überwachung, Skalierung und die Möglichkeit Notfallszenarien zu aktivieren, falls die Umstände es erfordert hätten.

Das Ergebnis

Die Wahlen in Zahlen

  • Zugriffe Total: 41'509'305 Requests
  • Zugriffe auf Open Government Data: 1'543 Requests
  • Zugriffe auf Objekte: 6'690'739 Requests
  • Zugriffe auf Seite: 263'682 Requests
  • Peak Zugriffe (1 Min): 86'843 Requests
  • Übertragene Datenmenge: 265 GB