Scale
Blog

Bewezen: de cloud is NIET schaalbaar

De cloud is heel erg schaalbaar. Dat hoor, zie en lees je overal. Iedereen weet dat toch? Het is alleen niet waar. De cloud is niet schaalbaarder dan on premise werken. Ik zie je wenkbrauwen omhoog gaan. Vertel eens Hugo, waarom is de cloud niet zo schaalbaar als we met zijn allen denken?

Hardware bijplaatsen is niet hetzelfde als schalen

In de cloud kun je heel makkelijk een server bijbestellen. Of een database. Daarmee heb je meer capaciteit. Maar daarmee schaal je niet. Als je een extra kantoor verdieping huurt dan schaalt je bedrijf daar toch nog niet door? Daar is meer voor nodig. Het gaat niet alleen om extra mensen aannemen. Wanneer je je bedrijf echt schaalt dan moet je de inrichting van je organisatie daarop aanpassen, nieuwe functies of afdelingen creëren en anders gaan werken.

Als je in de cloud wilt schalen dan is dat niet anders. Dan moet je meer doen dan servers en databases bestellen. Als je niet anders gaat werken met je IT, dan kun je niet schalen.

De cloud helpt je geen centimeter vooruit

Veel van de schaalbaarheidsproblemen van onze klanten zijn niet op te lossen met het plaatsen van meer hardware. Of het kan wel opgelost worden met hardware, maar dat brengt hele hoge kosten met zich mee.

Bijvoorbeeld je database groeit met een factor 10, waardoor je queries 100 keer zo langzaam geworden zijn. 1/10e Seconde was acceptabel, 10 seconden is dat absoluut niet. Je moet je data anders gaan uitvragen om het volume van je data te kunnen schalen. Hier moet je anders gaan werken, want 100 keer zoveel hardware of cloud resources plaatsen is onbetaalbaar.

Ik heb nog stapels van dit soort voorbeelden van schaalbaarheidsproblematiek en voor allemaal geldt dat de cloud je geen centimeter vooruit helpt om ze op te lossen.

Niet elke applicatie of server kan horizontaal schalen

Jouw capaciteitsgrenzen worden bepaald door de maximale grootte die cloud-leveranciers kunnen leveren. Die grenzen zijn best ruim, maar als je ze bereikt moet je horizontaal schalen. Dus meer servers plaatsen in plaats van de server groter maken.

Horizontaal schalen geeft extra complexiteit. Als je meer servers hebt die hetzelfde werk doen dan moeten ze dat werk met elkaar ‘afstemmen’ – iets wat vaak over het hoofd wordt gezien. Bij een beleggingssysteem van een klant dat over twee servers verdeeld werd zagen we sommige transacties dubbel uitgevoerd worden en andere helemaal niet. Omdat de twee servers niet goed met elkaar afstemden. Dat wil je niet, en daarom moet je anders gaan werken. Alleen een server bijplaatsen is niet genoeg. Denk alsjeblieft niet ‘dat gebeurt bij ons niet’ want precies dat was wat deze klant eerder tegen mij zei.

NB: Sommige servers, bijvoorbeeld data warehouses, laten zich in de praktijk niet splitsen. Als je daar de grens bereikt kun je niet verder groeien.

Meer servers brengen meer beheer met zich mee, en dus kosten.

Natuurlijk is dit on premisse ook zo. Maar de belofte dat cloud schaalbaarder zou zijn wordt hier helaas niet waargemaakt. Dit moet je zelf doen, zelf managen en niet aan het toeval overlaten want dan … is het te laat en heb je problemen die weer geld kosten om op te lossen. Lang niet elke applicatie of server kan horizontaal schalen, onderzoek hoe dat bij jou zit.

Ook je netwerk schaalt niet vanzelf mee

Als je meer in de cloud gaat doen, dan moet er met je netwerkverbinding naar die cloud veel gebeuren. Bij de eerste paar applicaties gaat dat nog prima via je bestaande internetverbinding. Maar als er essentiële diensten, denk aan Active Directory, in de cloud staan dan wil je niet dat die verstoord worden omdat iemand een YouTube-filmpje zit te kijken. Of omdat 20 mensen een Teams call hebben.

Netwerkverbindingen naar de cloud zijn veel ingewikkelder dan even een lijntje leggen en wat bandbreedte inkopen. Het verkeer moet gereguleerd worden om te zorgen dat essentiële diensten niet verstoord worden en tegelijkertijd bulk diensten zoals email en printen voldoende bandbreedte hebben.

Als je in de cloud iets schaalt dan moet je netwerk mee schalen, anders loopt je verbinding met de cloud vast. Dat zien we regelmatig gebeuren.

Erger nog, het gebeurt aan de lopende band, ieder moment van de (werk)dag. Vaak hebben we dat niet door omdat mensen het of niet melden, of we niet weten waar de problematiek vandaan komt. Nu weet je het wel …

Microservices schalen wel, maar hun data niet

Cloud-leveranciers vertellen graag hoe makkelijk het is om microservices te schalen. Je ontwerpt en implementeert een microservice die een specifieke functionaliteit op een stuk data uitvoert. Vervolgens rol je deze uit en de cloud-provider zorgt voor voldoende capaciteit om je microservice op elke schaal te kunnen laten draaien.

Als die microservices op dezelfde database draaien, dan wordt dat de bottleneck. De CPU- en het memory-gebruik van de microservices zullen best schalen, maar de achterliggende database is een ander verhaal. Met een groeiend gebruik van microservices moet je database meegroeien. Een grotere database of een database die meer aanvragen verwerkt, moet anders gaan werken. Net als een groeiend bedrijf in het eerdere voorbeeld. Voor de techneuten: je moet je queries en je statistieken aanpassen.

Microservices lossen schaalbaarheidsissues alleen op als de schaalbaarheid van de gebruikte algoritmes opgelost worden. En als je dat gedaan hebt is het de vraag of je de microservices nog wel nodig hebt.

Je kunt restcapaciteit niet gebruiken

Als je grote servers of storage neerzet en je gebruikt de capaciteit niet de hele dag dan heb je de rest van de dag capaciteit over. En daar heb je in de cloud niets aan. De cloud provider wel, die monitort jouw gebruikspatroon en verkoopt de capaciteit die jij al betaald hebt gewoon nog een keer aan een ander.

On premisse kun je de restcapaciteit wel inzetten voor andere toepassingen, maar in de cloud niet. Dat kan je niet zelf in ieder geval.

Hoewel de cloud hier strikt genomen niet minder schaalbaar is dan on premisse, is schalen in de cloud hierdoor wel veel kostbaarder. Duurder om dat woord hier toch te gebruiken. Meer geld, minder waarde.

En als je autoscaling aan zet?

“Maar Hugo, dan zetten we toch gewoon autoscaling aan?” Daar kan ik heel kort over zijn. Als het bijplaatsen of groter maken van servers of storage niet helpt met schalen van je applicaties en je systemen, dan helpt het ook niet om dat automatisch te doen. Mocht je dit net denken, je bent niet de enige. Ik krijg die vraag echt vaker. Maar zoals ik al uitgelegd heb is er meer nodig om te schalen dan resources bijplaatsen. Je factuur, die schaalt wel automatisch mee.

Dus als ik wil schalen … moet ik niet in de cloud zitten?

In de cloud kun je prima schalen. Maar de cloud alleen is niet de oplossing om dat te doen. Er is meer voor nodig dan wat de cloudproviders je bieden. Want zij bieden je alleen het schalen van resources, en dat is wat anders dan het schalen van je toepassingen.

Wil je weten hoe je applicaties en systemen schaalt, in de cloud of on premisse? Dan maak je een vrijblijvende afspraak met mij. Ik help je graag verder. In die afspraak bespreken we hoe je de digitale kant van het bedrijf kunt laten groeien zodat het hele bedrijf kan groeien en de kostengroei in lijn blijft met de bedrijfsgroei.

Book your appointment here

Click Me