maandag 26 januari 2015

Service Load Balancing via ‘Copy mdb’

Cloud computing is in een aantal opzichten ‘another cup of tea’ dan niet-cloud computing. Maar soms valt het ook wel mee als je denkt in termen van diensten.

Omgevingen worden ingericht om bepaalde soorten diensten optimaal te kunnen leveren. Bij cloud is het bekendste onderscheid in soorten diensten: Infrastructuur, Platform en Software (“As A Service”).

Bij het inrichten van een omgeving worden ‘patronen’ gebruikt om it-bouwblokken op een bepaalde manier te combineren. Een zo’n patroon is “Service Load Balancing”. Het doel daarvan is om belasting ten gevolge van servicegebruik dynamisch te verdelen over aanwezige resources.

Tijdens het lezen daarover moest ik denken aan zo'n situatie eind jaren negentig. Het ging om een applicatie die steeds meer werd gebruikt, waardoor het MsAccess .mdb bestand dat werd gebruikt tegen de 255-gebruikers grens aanliep. Het signaal daarvan kwam niet, zoals in een cloud, van een monitor-agent, maar van de 251e gebruiker die het bij de Helpdesk meldde.

Om het probleem op te lossen moesten er meer (dezelfde) resources beschikbaar komen om aan de toenemende vraag te kunnen voldoen. De "service load balancing oplossing" was om een batchscript te maken dat iedere nacht (na aanmaak van het .mdb bestand) 10 keer het commando “copy telefoon.mdb telefoon-i.mdb” uitvoerde (waarbij 'i' opliep van 1 tot 10). De betreffende applicatie koos voortaan bij het opstarten willekeurig 1 van de 10 .mdb bestanden en via deze simpele vorm van "horizontaal schalen" werden alle benodigde diensten weer geleverd.

Okee, het is natuurlijk een stuk mooier als op- en afschalen automatisch gebeurt op de momenten dat het nodig is. Laat dat nou net een van de redenen zijn waarom thee in een cloud anders smaakt...