Keeping it up: 2 populaire stemtesten gehost bij Stone

De afgelopen weken werkten we samen met verschillende partijen aan het online brengen en online houden van 2 populaire stemtesten.  Wij verzorgden de hosting voor zowel de stemtest van de VRT / De standaard / RTBF en een reeks franstalige kranten ( http://stemtest2014.deredactie.be ) als de stemtest van Het Nieuwsblad, Het Belang van Limburg en Gazet Van Antwerpen ( http://www.uwregering.be ). Twee verschillende testen die bij ons ook een verschillende aanpak vergden.

Waar de ene test de meest geteste was, daar was de andere de meest originele:

Beide platformen werden voorzien van dezelfde toeters en bellen, al verschilt het nut van elk door ons aangeboden bouwblok voor elke test. Voor de stemtest bleek  onze CDN de cruciale enabler in het project, terwijl we voor uwregering.be de nodige schaalbaarheid konden halen uit de automatische schalingsfunctionaliteiten van ons platform.

• Content Delivery Network

Als lid van de Onapp CDN federatie bieden we bandbreedte en servercapaciteit aan voor het aanbieden van statische bestanden op daarvoor geoptimaliseerde servers. Dit ontlast de front end servers van het serveren van statische bestanden.  We hebben meer dan voldoende capaciteit in België (in Brussel en Antwerpen)  en hebben de volldedige kwaliteit van de edge server voor het Belgische doelpubliek in handen.  In het geval er wat zou mislopen met onze eigen edge servers kunnen we terugvallen op netwerk en servercapaciteit van meer dan 100 partners  in het buitenland die we selecteerden op kwaliteit.  De CDN zorgt ervoor dat steeds voldoende capaciteit beschikbaar. We kunnen via de federatie bijgevolg de nodige capaciteit bieden om iedereen snel en vlot de stemtesten te serveren.  En in tegenstelling tot CDN’s van derde partijen (die vaak door concullega’s aangeboden worden) kunnen we de kwaliteit in België garanderen, het zijn immers onze servers, in ons beheer, in ons eigen netwerk. Het inzetten van de CDN verlaagt ook de kosten: er is minder server capaciteit nodig om hetzelfde te doen.

• Applicatie en database gespreid over 2 datacentra

Dit is onze default setup voor projecten van dit kaliber. We voorzien servercapaciteit op onze platformen zowel in Brussel als in Antwerpen. Zo blijft de applicatie online bij een mogelijke storing op datacenter of netwerkniveau.

• SSD powered SAN

In deze projecten gebruiken we uitsluitend supersnelle SSD disks zodat de snelheid van de harde schijven geen bottleneck kan vormen. We halen per ingezette server 25000 schijfoperaties en meer, wat het equivalent is van een honderdtal traditionele schijven.  En SSD is de toekomst, we investeerden zonet in 40TB SSD storage, goed voor bijna 4.000.000 iops.  Goed voor de performance van 20.000 oude harde schijven.

• Automatische Schaling en facturatie per uur

Automatische schaling was heel belagrijk in dit project, het was moeilijk te voorspellen hoeveel personen er tegelijk de test zouden afnemen. Om dit op te lossen werden waar mogelijk de componenten elastisch voorzien: er worden extra front end servers opgestart bij verhoogde belasting. Vooral bij het uwregering.be platform was dit essentieel: onze initiële testen toonden aan dat het genereren van de afbeeldingen met de regeringsfoto het zwaartepunt was. We hebben het proces samen met ontwikkelaar Nascom zodanig geoptomaliseerd dat regeringen in recordtempo werden gevormd. We testten het process tot 130 afbeeldingen per seconde.

  • Loadtesting en samenwerking met de stakeholders

Beide stemtesten werden grondig getest door het verwacht aantal bezoekers te simuleren.  We meten alles en met tools als newrelic kunnen we duidelijk de pijnpunten in kaart brengen. We rapporteren deze dan ook aan onze partners.

De stemtest van VRT/De Standaard/Universiteit Antwerpen/ Treecompany slaagde met glans bij de eerste run, we hadden geen verdere feedback voor Wieni en konden enkel bevestigen dat het samen met wieni uitgewerkte platform en de code het aan zou kunnen.  De initiële kickoff gesprekken en de expertise van Wieni waren voldoende.

Bij het project uwregering met nascom waren er meer werkpuntjes na onze testen – de applicatie en eisen van de eindklant waren dan ook veel complexer: we tuneden verder ons platform en maakten we samen met nascom nog een essentiële change om de schaalbaarheid te kunnen garanderen: het samenstellen van de regeringen wordt gedaan met aparte workers zodat testers niet lang zouden moeten wachten op het vormen van de regering.  Door het samenstellen van de regering in de achtergrond te laten lopen konden we de nood aan servers grondig reduceren. Ook onze suggestie voor een wachtboodschap tijdens het genereren werd ingevoerd:

Bij plotse bezoekerspieken werd er gewoon automatisch extra afbeeldingsverwerkingscapaciteit toegevoegd en hop: regeringen werden aan een sneltempo gevormd bij welke piekbelasting ook. En allemaal binnen het hostingbudget.

Lees hier meer over wat nascom gedaan heeft voor uwregering.

En uiteindelijk ging het allemaal heel snel, te snel zelfs voor sommigen:

Ze mogen onze servers altijd gebruiken bij de volgende regeringsvorming.

Last but not least: Samenwerking met stakeholders is key

Tenslotte een pluim voor zowel Wieni (agency achter de stemtest) als Nascom (agency achter uwregering) voor de constructieve samenwerking  bij deze projecten. Dit voor, tijdens en na de launch. Onze expertise als infrastructuur specialist en de expertise in de ontwikkeling van applicaties was in beide gevallen een winnende combinatie.

Hosting the Madness: Hoe Stone de websites en applicaties van Tomorrowland recht hield

Sinds eind 2012 is Stone hosting partner van ID&T België en Tomorrowland. De Symfony API, de apps, de preregistratie, de Drupal website en ticket activaties werden door ons gehost. We haalden alle tools boven om de sites online en performant te houden.

Net geen 10 Miljoen pageviews tijdens het festivalweekend en net geen 5 miljoen bezoekers op de website. Voor een website is dit: Madness. Ter vergelijking: het andere grote belgische festival Rock Werchter kreeg 110.000 bezoekers op de eerste festivaldag. Het bereik van tomorrowland is dus 10x dit van Rock Werchter en wellicht meer indien we de twitter, facebook en youtube stats vergelijken. Zelfs de grote elektronische dancefestivals als Electric Daisy Carnival en Ultra verbleken bij de cijfers van tomorrowland.

Google Stats tomorrowland.com:

Aantal volgers op twitter:

It really was Madness!

We hebben het dan niet eens over de mobile apps en het verkeer op de website van het Amerikaanse broertje Tomorrowworld.

Om de piek te realiseren werden de websites en applicaties geclustered over onze datacentra in Diegem en Antwerpen, dit liet ons toe capaciteit te spreiden én ervoor te zorgen dat de websites en applicaties ten allen tijde bereikbaar zou blijven indien er zich een probleem zou voordoen op datacenter niveau.

Projecten van dit kaliber zijn normaal enkel weggelegd voor de Amazons, Googles en Microsofts van deze wereld. We slaagden er in als lokale speler de nodige schaal en internationale footprint te bieden voor dit project en gecombineerd met onze persoonlijke,  lokale ondersteuning was dit doorslaggevend voor ID&T om voor ons te kiezen.

Enkele uitdagingen in dit project:

  • Hoe kunnen we anticiperen op 3 miljoen mensen die één van de 180.000 tickets willen bemachtigen?
  • Hoe kunnen we vlot 1 miljoen preregistratie mails binnen het uur verweken?
  • Hoe zorgen we ervoor dat de website te allen tijde snel en responsief blijft, overal te wereld?
  • Hoe werken we een oplossing uit die op kritieke momenten NIET offline kan gaan?

Testen, testen en testen

Voorafgaand aan elke fase in de cyclus van het festival werd elk onderdeel door ons team grondig geloadtest, we simuleerden het verwachtte aantal bezoekers en op basis van onze feedback kon Nascom, het web agency dat de website bouwde, optimaliseringen doorvoeren op code niveau en waren we bugs die voor performance problemen kunnen zorgen steeds een stapje voor. Elk onderdeel werd grondig getest: de preregistratie formulieren, de social en app API, de Drupal website en de formulieren die instaan voor de activatie van de bandjes. Onze expertise werd door ID&T ook ingezet om problemen met aan tomorrowland gebonden applicaties bij derde partijen op te lossen. Overleg met ID&T, Nascom en andere stakeholders was een belangrijke factor die bijdroeg aan een technisch optimale website en applicaties. Nascom werd ook voorzien van een staging omgeving en de nodige tools om zelf releases te doen op het platform (via Capistrano), al gebeurden deze deploy momenten in overleg. We volgden het project op de voet en waren steeds stand by op de kritieke momenten.

Content Delivery Network (CDN) en caching strategie

Gezien het enorme internationale karakter van Tomorrowland was het belangrijk om de content zo dicht mogelijk bij de eindgebruiker te brengen, dankzij ons lidmaadschap in de Onapp federatie hebben wij toegang tot meer dan 160 locaties ter wereld waar wij content ter beschikking kunnen stellen. Voor bezoekers uit het buitenland werd de website steeds geserveerd door een partner in de CDN federatie die zich het dichtst bij de bezoeker bevindt, resultaat: snelle laadtijden voor de eindgeberuiker én een ontlasting van het netwerk waar de applicaties zelf draaien. Zelf voorzagen we de nodige capaciteit in Brussel en Antwerpen om zo ook de Belgen een optimale site beleving te bezorgen. We testten alle locaties waar we toegang tot hadden en beperkten ons uiteindelijk tot de eindpunten die voldoende bandbreedte ter beschikking hadden voor de verwachte bezoekers. Onze internationale partner in dit verhaal stond ons hierbij bij en gaf ons inzage in de SLA en performance metrics van de partners in onze federatie. Als Belgische speler kunnen we dankzij deze federatie een gigantische internationale schaal aanbieden.

Verkeer in Mbit op de CDN

Het uitwerken van een caching strategie was uiteindelijk de moeilijkste hersenbreker in het project: wanneer een pagina geupdated wordt moet dit snel verspreid kunnen worden. TTL en caching waarden werden zorgvuldig gekozen en indien nodig werd de CDN API aangesproken om de caches snel te flushen. Daarnaast mogen sommige pagina’s niet gecached worden (zoals het activeren van de bandjes en de respons van het formulier) en diende er een lijst met uitsluitingen opgesteld te worden. Deze elementen van de site dienen immers verwerkt te worden door de servers in Brussel en Antwerpen.

Caching werd gebruikt op verschillende niveau’s: MemCached voor database caching, PHP-APC voor opcode caching, Varnish voor het cachen van de API en website en ten slotte houden de CDN edge servers ook voor langere tijd een kopie bij van de statische elementen.

Een echt flexibel en schaalbaar cloud platform

Ons cloud platform heeft als bijkomende troef dat – mits goed opgezet – we applicaties en server clusters up en down kunnen schalen naar gelang de vraag. Op piekmomenten zoals bij de preregistratie werd er automatisch geschaald tot 24 front end servers en een handvol servers voor database en mail diensten. In ‘dalperiodes’ gaat de setup automatisch terug naar de minimale noodzakelijke setup. Dit zorgt ervoor dat ID&T de kosten onder controle kan houden er niet het gehele jaar de capaciteit voor 2 miljoen bezoekers per dag afgenomen dient te worden. Ook dient men zich geen zorgen te maken indien de pieken groter zijn dan verwacht. Zo was dit jaar het aantal bezoekers van de website op festvaldag enkele factoren hoger dan vorig jaar en volgde er een onverwachte extra piek toen de youtube livestream er door de storm even uit lag. We vingen dit perfect op.

Op naar tomorrowworld!

Oh, een een filmpje met meer info is te vinden op de website van onze partner Onapp.

Ook een uitdagend webproject in de pijplijn?

Contacteer ons voor een offerte en advies op maat