Wat is batchverwerking van werklasten?
Batchverwerking van werklasten verwijst naar groepen taken (batches) die zijn gepland om op hetzelfde moment te worden verwerkt. Traditioneel worden batch-workloads verwerkt tijdens batch-windows, perioden waarin het totale CPU-gebruik laag is (meestal ’s nachts). De reden hiervoor is tweeledig:
- Batch workloads kunnen veel CPU’s vergen, waardoor resources worden bezet die nodig zijn voor andere operationele processen gedurende de werkdag
- Batch workloads worden doorgaans gebruikt om transacties te verwerken en rapporten te produceren, bijvoorbeeld om alle verkooprecords te verzamelen die in de loop van de werkdag zijn aangemaakt
Heden ten dage wordt batchverwerking uitgevoerd door middel van job schedulers, batchverwerkingssystemen, oplossingen voor automatisering van de werklast, en applicaties die in het besturingssysteem zijn ingebouwd. Het batchverwerkingsprogramma ontvangt de invoergegevens, houdt rekening met de systeemvereisten en coördineert de planning voor verwerking van grote volumes. Batch processing verschilt van stream processing doordat batch processing niet-continue informatie vereist.
Een geschiedenis van Batch Processing
Batch processing is geworteld in de pre-historie van computers. Al in 1890 gebruikte het Census Bureau van de Verenigde Staten een elektromechanische tabulator om informatie van de Amerikaanse volkstelling vast te leggen. Herman Hollerith, de uitvinder van de tabulator, richtte later het bedrijf op dat op zijn beurt IBM werd.
In het midden van de 20e eeuw werden batchtaken uitgevoerd met behulp van gegevens die op kaarten waren geponst. In de jaren zestig, met de ontwikkeling van multiprogrammering, begonnen computersystemen meerdere batchtaken tegelijk uit te voeren om gegevens van magnetische tape in plaats van ponskaarten te verwerken.
Toen mainframes zich ontwikkelden en krachtiger werden, werden meer batchtaken uitgevoerd en dus werden toepassingen ontwikkeld om ervoor te zorgen dat batchtaken alleen werden uitgevoerd als er voldoende bronnen waren, om vertragingen te voorkomen. Zo ontstonden de moderne batch-verwerkingssystemen.
Voorbeelden van Batch Processing
Batch processing use cases zijn te vinden in banken, ziekenhuizen, boekhouding, en elke andere omgeving waar een grote set gegevens moet worden verwerkt. Bijvoorbeeld, rapportgeneraties draaien na sluiting van de zaak, wanneer alle creditcardtransacties zijn afgerond. Nutsbedrijven verzamelen gegevens over het gebruik van klanten en voeren batch-processen uit om de facturering te bepalen.
In een andere use case voert een bedrijf voor financieel gegevensbeheer ’s nachts batch-processen uit die financiële rapporten rechtstreeks aan de banken en financiële instellingen leveren die zij bedienen.
Voor- en nadelen van batch-verwerking
Batch-verwerking is nuttig omdat het een methode biedt om grote hoeveelheden gegevens te verwerken zonder de belangrijkste computerbronnen in beslag te nemen. Als een zorgverlener facturen moet bijwerken, kan het het beste zijn om ’s nachts een batch te draaien, wanneer er weinig van de resources wordt gevraagd.
Ook helpt batchverwerking bij het verminderen van downtime door taken uit te voeren wanneer er computerresources beschikbaar zijn.
Batchverwerkingstools zijn echter vaak beperkt in reikwijdte en mogelijkheden. Er zijn vaak aangepaste scripts nodig om het batchsysteem te integreren met nieuwe gegevensbronnen, wat problemen kan opleveren voor de cyberveiligheid als het om gevoelige gegevens gaat. Traditionele batchsystemen kunnen ook slecht zijn toegerust voor processen waarvoor real-time gegevens nodig zijn, zoals streamverwerking of transactieverwerking.
Is Your Data Center Keeping Pace with Business?
Ontdek hoe u de complexiteit van uw datacenter kunt verhelpen met een oplossing voor taakplanning.
Moderne batchverwerkingssystemen
Moderne batchverwerkingssystemen bieden een scala aan mogelijkheden die het voor teams eenvoudiger maken om grote hoeveelheden werk te beheren. Dit kan onder meer event-based automatisering, beperkingen, en real-time monitoring. Deze moderne mogelijkheden helpen ervoor te zorgen dat batches alleen worden uitgevoerd wanneer alle benodigde gegevens beschikbaar zijn, waardoor vertragingen en fouten worden beperkt.
Om vertragingen verder te beperken, bevatten moderne batchverwerkingssystemen load balancing-algoritmen om ervoor te zorgen dat batchjobs niet naar servers met weinig geheugen of onvoldoende beschikbare CPU’s worden gestuurd.
Tussen maken geavanceerde datum/tijd-planningsmogelijkheden het mogelijk batches te plannen met inachtneming van aangepaste feestdagen, fiscale kalenders, meerdere tijdzones en nog veel meer.
Maar vanwege de groeiende behoefte aan real-time gegevens en de toenemende complexiteit van moderne gegevensverwerking, kiezen veel IT-organisaties voor workload automation en orkestratieplatforms die geavanceerde tools bieden voor gegevensbeheer en -integratie.
Batch Processing Takes to the Cloud
De moderne IT-afdeling is divers, gedistribueerd en dynamisch. In plaats van te vertrouwen op homogene mainframes en on-premise datacenters, worden batchprocessen in hybride omgevingen uitgevoerd. Daar is een goede reden voor.
Zoals eerder gezegd, zijn batchprocessen vaak resource-intensief. Vandaag de dag, met de groei van big data en online transacties, kunnen batch workloads behoorlijk wat vergen. Het gebruik van cloudinfrastructuur biedt IT de mogelijkheid om computingresources op basis van de vraag beschikbaar te stellen, in plaats van fysieke servers te moeten installeren die waarschijnlijk een groot deel van de dag niet worden gebruikt.
De hoeveelheid gegevens die IT moet beheren om aan de bedrijfsbehoeften te voldoen, blijft groeien, en batchworkloadtools ontwikkelen zich om aan deze behoeften te voldoen. IT beschikt bijvoorbeeld niet over de middelen die nodig zijn om elk ETL-proces handmatig uit te voeren of VM’s handmatig te configureren, provisioneren en deproviseren. In plaats daarvan worden batch workload tools gebruikt om deze taken te automatiseren en te orkestreren in end-to-end processen.
Een automatiserings- en orkestratietool kan bijvoorbeeld worden gebruikt om data in en uit verschillende componenten van een Hadoop-cluster te verplaatsen als onderdeel van een end-to-end proces dat de provisioning van VM’s, het uitvoeren van ETL-taken in een BI-platform en vervolgens het leveren van deze rapporten via e-mail omvat.
Naarmate organisaties afhankelijker worden van cloudgebaseerde bronnen en toepassingen, wordt het vermogen om taakplanning en batchworkloads over ongelijksoortige platforms te orkestreren van cruciaal belang.
Batch Workload Orchestration
Automatie- en orkestratietools zijn in toenemende mate uitbreidbaar, waarbij verschillende workload automation-oplossingen al universele connectors en low-code REST API-adapters bieden die het mogelijk maken om vrijwel elke tool of technologie zonder scripting te integreren.
Dit is belangrijk, want in plaats van job schedulers, automatiseringstools en batchprocessen in silo’s te laten draaien, kan IT een workload orchestration tool gebruiken om alle batchjobs centraal te beheren, te monitoren en problemen op te lossen.
IT orchestration tools kunnen bijvoorbeeld automatisch logbestanden genereren en opslaan voor elke batch instance, waardoor IT snel de hoofdoorzaken kan identificeren wanneer zich problemen voordoen. Real-time monitoring en alarmering maken het mogelijk voor IT om te reageren op vertragingen, mislukkingen en onvolledige runs of deze te voorkomen, waardoor reactietijden worden versneld wanneer zich problemen voordoen.
Automatische herstarts en auto-remediation workflows komen ook steeds vaker voor, terwijl batch jobs kunnen worden geprioriteerd om ervoor te zorgen dat resources beschikbaar zijn tijdens runtime.
Daarnaast maken uitbreidbare batch workload tools het mogelijk om legacy scripts en batch applicaties te consolideren, waardoor IT de operationele kosten kan vereenvoudigen en verlagen.
Toekomst van Batch Processing
Traditionele batch scheduling tools hebben plaatsgemaakt voor high-performance automation en orchestration platforms die de uitbreidbaarheid bieden die nodig is om veranderingen te managen. Ze stellen IT in staat om in hybride en multi-cloud omgevingen te opereren en kunnen de behoefte aan menselijke tussenkomst drastisch verminderen.
Machine-learning algoritmen worden gebruikt om op intelligente wijze VM’s aan batch workloads toe te wijzen om slack time en idle resources te verminderen. Dit is van cruciaal belang voor teams die workloads met hoge volumes beheren of met grote aantallen virtuele of cloudgebaseerde servers.
Met machine learning die in real-time draait, kunnen extra resources worden gereserveerd als een SLA-kritieke workload het risico loopt te worden overschreden. Dit omvat de levering van extra virtuele of cloud-gebaseerde machines op basis van dynamische vraag. In combinatie met auto-remediation biedt dit een krachtig hulpmiddel om ervoor te zorgen dat de levering van diensten aan de eindgebruiker of externe klant geen vertraging oploopt.
Op de lange termijn wordt IT steeds diverser en gedistribueerder, en de soorten werklast waarvoor IT verantwoordelijk is, zullen blijven groeien. De rijping van nieuwe technologieën -artificial intelligence, IoT, edge computing- zal nieuwe druk leggen op IT-teams om nieuwe applicaties en technologieën snel te integreren.
IT verandert snel, maar sommige dingen, zoals batchverwerking, blijven hetzelfde.
Klaar om te zien hoe wij workload automation eenvoudig maken?
Steek een demo in om te zien hoe onze experts jobs uitvoeren die overeenkomen met uw use cases in ActiveBatch. Krijg antwoord op uw vragen en ontdek hoe eenvoudig het is om in ActiveBatch jobs te bouwen en te onderhouden