Elasticiteit is afhankelijk van continue bewaking en geautomatiseerde besluitvorming. Je cloudplatform houdt statistieken bij over het gebruik van resources, zoals de CPU-bezetting, geheugengebruik, capaciteit voor cloudopslag, netwerkverkeer en responstijden van toepassingen. Deze statistieken worden doorgegeven aan bewakingsprogramma's die de huidige prestaties vergelijken met vooraf vastgestelde drempelwaarden.
De werkstroom volgt een vast patroon. Bewakingssystemen verzamelen om de paar seconden of minuten prestatiegegevens van je infrastructuur. Wanneer statistieken een door jou ingestelde drempelwaarde overschrijden, wordt een schaalbaarheidsactie geactiveerd. Als het CPU-gebruik bijvoorbeeld gedurende een langere periode 80% haalt, biedt het platform extra resources. Als het gebruik onder de 30% zakt, schaalt het terug.
Dit gebeurt via indelingslagen die het inrichtingsproces beheren:
Tijdens opschaalgebeurtenissen: het systeem start nieuwe compute-instanties, koppelt ze aan load balancers en stuurt verkeer naar de extra capaciteit. Apps beginnen binnen enkele minuten aanvragen te ontvangen op de nieuwe resources.
Tijdens afschaalgebeurtenissen: het platform voert verbindingen af van onderbenutte resources, beëindigt onnodige instanties en consolideert workloads op minder machines.
Zodra de vraag weer normaal is, wordt de basiscapaciteit van het systeem hersteld. Een retail-app kan tijdens normale kantooruren op vijf servers draaien, opschalen naar twintig tijdens een flash-sale en daarna teruggaan naar vijf zodra het verkeer afneemt.
De effectiviteit van elastische systemen hangt volledig af van de configuratie. Als je drempelwaarden te conservatief instelt, geef je te veel uit aan inactieve resources terwijl een te agressieve instelling het risico met zich meebrengt dat de prestaties achteruitgaan bij onverwachte pieken. Beleidsregels bepalen niet alleen wanneer er moet worden geschaald, maar ook hoe snel en met hoeveel.