(Of, elke dag kan Black Friday zijn dankzij CORONA)
De cloud. Misschien heb je het al omarmd en heb je bedrijfskritische platforms gemigreerd naar een IaaS-provider. Misschien zit u in de planningsfase van zo’n migratie. Er zijn een heleboel redenen om dit te doen, geen servers van pizzadozen meer in datacenters, door vloeren en plafonds kruipen om kabels te trekken, back-up generatoren testen, enz. Laten we eerlijk zijn, er is veel dat je niet hoeft te missen. En vergeet de flexibiliteit niet, het horizontaal of verticaal schalen van je platform met een paar klikken of API-aanroepen.
Toen kwam het coronavirus om ons te laten zien dat al die T-shirts en laptopstickers die je op meetups en conventies hebt gezien (toen die nog mogelijk waren) waar waren: “Er is geen cloud, het is gewoon iemand anders zijn computer”.
De ongekende vraag naar veel online platforms herinnerde veel bedrijven aan de realiteit van het werken in de cloud. IaaS staat voor Infrastructure as a Service (infrastructuur als een dienst) en wordt soms, per ongeluk of opzettelijk, verward met SaaS of Software as a Service. Bij deze laatste ligt de verantwoordelijkheid om op de vraag te reageren met extra capaciteit en tegelijkertijd de SLA’s te handhaven inderdaad bij de leverancier.
Bij IaaS echter is uiteindelijk de platformeigenaar verantwoordelijk voor dit alles, samen met het onderliggende architectuurontwerp, monitoring en voorspelling om gebruik te kunnen maken van de flexibiliteit die de cloud biedt.
Niemand hoeft zich slecht te voelen over platformen die bezweken onder onverwacht hoge eisen op korte termijn als gevolg van het coronavirus, ik ben er vrij zeker van dat zelfs een paar SaaS-providers dezelfde pijn hebben gedeeld. Niemand vindt het echter leuk om meer dan eens zo verrast te worden en ik wil graag een aantal van mijn pre- en post-corona lockdown loadtest ervaringen delen die kunnen helpen om je platform toekomstbestendig te maken. Je hoeft maar te kijken naar een paar van de online diensten zoals Amazon die daadwerkelijk aanzienlijke omzetstijgingen realiseerden als gevolg van lockdowns om te zien waarom het een goed idee is.
1. Minder risico, het klonen van uw omgeving
Ten eerste, met een cloud-gebaseerd platform heb je theoretisch de mogelijkheid (en sommige bedrijven doen dat ook) om een exacte kloon van je productieplatform te maken en deze tot het uiterste te testen tijdens de meer beschaafde kantooruren in plaats van je teams om 02:30 uit bed te halen om tegen de productie te testen. Dat is natuurlijk als de licenties van uw platform dit toestaan. Als je dan een paar dagen later klaar bent, poef, terug de cloud in. Dat is een luxe die maar weinig zelfgehoste platforms hebben. En natuurlijk probeer je geen business case op te bouwen om CAPEX te bedelen, te lenen of te stelen om genoeg hardware te kopen om aan de verwachte vraag voor het volgende jaar te voldoen. Dit is waar IaaS echt in uitblinkt, je probeert eigenlijk alleen maar je ontwerp en schaalconfiguraties te valideren – iemand anders zorgt voor de servers, opslag enzovoort.
2. Eén maat is niet geschikt voor iedereen
Er zijn nog andere redenen om belastingstests in de cloud uit te voeren. We hebben een aantal platforms voor klanten getest (met name e-commerceplatforms) die weliswaar prima draaien in een IaaS-omgeving, maar die nog steeds een aantal oude beperkingen hebben, zoals dat er handmatige interventie nodig is om bijvoorbeeld front-end servers toe te voegen of te verwijderen. Ook gaan sommige platforms niet zo soepel om met auto-scaling (uit- of inschalen) als zou moeten en geven ze eindgebruikers soms stabiliteit- of prestatieproblemen terwijl servers worden toegevoegd aan of verwijderd uit een pool. Sommige klanten willen een recente baseline- en capaciteitstest van hun legacyplatform wanneer ze een “lift and shift” naar een IaaS-provider uitvoeren en dit proces vervolgens herhalen op het cloudgebaseerde platform. Hierdoor kunnen producteigenaren de voor en na foto’s van capaciteit en prestaties vergelijken voordat eindgebruikers dat doen. Tot slot heb ik met de meeste grote IaaS-aanbieders gewerkt en ik kan met een gerust hart zeggen dat ze niet allemaal gelijk zijn. Ze hebben allemaal hun sterke en zwakke punten en de vraag die het meest relevant is voor uw bedrijf is: “welke provider is het sterkst op de gebieden die het meest kritisch zijn voor mijn platform(en) en hoe kan ik dit valideren?”.
3. Prognosemodellering
U voert misschien al belastingstests uit op uw productiesystemen zonder dat u het weet. Marketing heeft besloten om een mailing te versturen tijdens uw dagelijkse piekuren? Uw monitoringgegevens kunnen al aanwijzingen geven over de prestaties van uw platform tijdens zowel verwachte als onverwachte piekbelastingen. De keerzijde van deze benadering is natuurlijk dat als je een gebruiker hebt kunnen overtuigen om een link in een e-mail te volgen, je niet wilt dat hij wordt begroet door een lege pagina, een draaiend wiel enz. In deze grafiek toont het onderste voorbeeld de gewenste lineaire relatie tussen vraag en doorvoer.
Het coronavirus heeft ook een zeer belangrijke factor aan het licht gebracht voor nauwkeurige belastingstests en, nou ja, platformontwerp in het algemeen. Goede voorspellingsmodellering is cruciaal. Naast de standaard baseline testniveaus, de rustige uren waarin je ops team de kans krijgt om hun koffie te drinken en te bladeren door alerts en tickets sinds hun laatste shift, raad ik nu prognosemodellering aan om ten minste de volgende 3 testverkeerniveaus te bepalen:
– Hoe verwacht je dat je piekseizoen eruit zal zien, niet alleen gebaseerd op historische cijfers, maar ook op andere factoren zoals organische groei, pandemie-gedreven toename van online business, enz.
– Hoe zou “de verwachtingen overtreffen” eruit zien? Het beste piekseizoen dat je je kunt voorstellen, iedereen zal dit jaar zijn bonus verdienen – niet alleen de CEO.
– Hoe ziet een onvoorstelbare vraag eruit als gevolg van, laten we zeggen een viruspandemie, zombie-apocalyps of buitenaardse invasie?
Niet elk bedrijf zal in staat zijn om de extreme verkeersdrukte van dat laatste punt op te vangen met de gewone gang van zaken, maar in veel gevallen kan er zeker beter mee worden omgegaan. Ik bestel bijvoorbeeld al jaren 2 of 3 keer per week online boodschappen, lang voordat het coronavirus in de mode kwam en ik werd teleurgesteld door het aantal lege pagina’s en ernstige 5xx-fouten die mijn online supermarkt me voorschotelde tijdens de lockdown-periode hier in Nederland.
4. Niet alle SaaS-providers zijn gelijk
Tot slot wil ik nog vermelden dat het soms zelfs een goed idee is om een SaaS-provider te testen op belasting – in ieder geval voor de verwachte piekseizoenen. Ik heb dit voor verschillende klanten gedaan en kan bevestigen dat ook niet alle SaaS-providers gelijk zijn. Er zijn extra overwegingen bij SaaS-providers, sommige staan helemaal geen belastingtests toe. Je moet je serviceovereenkomst controleren.
Veel SaaS-providers zullen loadtests alleen toestaan als ze ruim van tevoren worden aangevraagd om voldoende resources voor je huurder te plannen tijdens het gewenste testvenster, minstens 2 weken van tevoren en soms zelfs een maand. De meeste SaaS-providers ondersteunen hun SLA-beloften met kortingen op hun facturen als ze niet aan die SLA’s voldoen. Het is echter aan jou om te beslissen of deze kortingen echt een adequate compensatie zijn in vergelijking met de potentiële inkomstenderving voor een bepaald platform.
Je wil niet “penny wise, pound foolish” zijn als het op je bottom line aankomt!
Dit artikel is eerder gepubliceerd op LinkedIn.

