Batchbehandling og orkestrering af arbejdsbyrder: En oversigt

Hvad er Batch Workload Processing?

Batch Workload Processing henviser til grupper af job (batches), der er planlagt til at blive behandlet på samme tid. Traditionelt behandles batcharbejdsbelastninger i batchvinduer, dvs. i perioder, hvor den samlede CPU-anvendelse er lav (typisk natten over). Grunden til dette er todelt:

  1. Batch workloads kan kræve høje CPU’er, hvilket optager ressourcer, der er nødvendige til andre driftsprocesser i løbet af forretningsdagen
  2. Batch workloads bruges typisk til at behandle transaktioner og til at producere rapporter, f.eks. til at samle alle salgsposter, der blev oprettet i løbet af forretningsdagen

I dag foregår batchbehandling via job schedulers, batchbehandlingssystemer, løsninger til automatisering af workloads og applikationer, der er indbygget i styresystemer. Batchbehandlingsværktøjet modtager inputdataene, tager højde for systemkravene og koordinerer planlægningen til behandling af store mængder. Batchbehandling adskiller sig fra strømbehandling ved, at batchbehandling kræver ikke-kontinuerlig information.

En historie om batchbehandling

Batchbehandling har rødder i computernes forhistorie. Så langt tilbage som i 1890 brugte USA’s Census Bureau en elektromekanisk tabulator til at registrere oplysninger fra den amerikanske folketælling. Herman Hollerith, der opfandt tabulatoren, grundlagde senere det firma, der igen blev til IBM.

Supercomputeren CDC 6600, ca. 1964 / Foto af Arnold Reinhold

I midten af det 20. århundrede blev batchjobs udført ved hjælp af data, der var blevet udstanset på kort. I 1960’erne, med udviklingen af multiprogrammering, begyndte computersystemer at køre flere batchjobs på samme tid for at behandle data fra magnetbånd i stedet for stempelkort.

I takt med at mainframes udviklede sig og blev mere kraftfulde, blev der kørt flere batchjobs, og derfor blev der udviklet applikationer, der sikrede, at batchjobs kun blev kørt, når der var tilstrækkelige ressourcer, for at undgå forsinkelser. Dette var med til at give anledning til moderne batchbehandlingssystemer.

Eksempler på batchbehandling

Batchbehandling kan anvendes i banker, på hospitaler, i regnskaber og i ethvert andet miljø, hvor et stort sæt data skal behandles. F.eks. rapportgenerationer, der køres efter lukketid, når alle kreditkorttransaktioner er blevet afsluttet. Forsyningsvirksomheder indsamler data om kundernes forbrug og kører batchprocesser for at bestemme faktureringen.

I et andet anvendelsestilfælde kører en virksomhed, der håndterer finansielle data, batchprocesser om natten, som leverer finansielle rapporter direkte til de banker og finansielle institutioner, de betjener.

Fordele og ulemper ved batchbehandling

Batchbehandling er nyttig, fordi den giver en metode til at behandle store datamængder uden at optage vigtige computerressourcer. Hvis en sundhedsudbyder skal opdatere faktureringsposter, kan det være bedst at køre en batch om natten, når kravene til ressourcerne er lave.

Sådan hjælper batchbehandling med at reducere nedetid ved at udføre job, når der er computerressourcer til rådighed.

Batchbehandlingsværktøjer er dog ofte begrænsede i omfang og kapacitet. Der kræves ofte tilpassede scripts for at integrere batchsystemet med nye datakilder, hvilket kan give anledning til cybersikkerhedsproblemer, hvis der er tale om følsomme data. Traditionelle batch-systemer kan også være dårligt rustet til at håndtere processer, der kræver realtidsdata, f.eks. stream processing eller transaktionsbehandling.

Holder dit datacenter trit med forretningen?

Udforsk, hvordan du kan overvinde kompleksiteten i datacenteret med en løsning til jobplanlægning i virksomheden.

Moderne batchbehandlingssystemer

Moderne batchbehandlingssystemer tilbyder en række funktioner, der gør det lettere for teams at håndtere arbejdsbyrder med store mængder. Dette kan omfatte begivenhedsbaseret automatisering, begrænsninger og overvågning i realtid. Disse moderne funktioner er med til at sikre, at batches kun udføres, når alle nødvendige data er tilgængelige, hvilket reducerer forsinkelser og fejl.

For yderligere at reducere forsinkelser indeholder moderne batchbehandlingssystemer lastudligningsalgoritmer, der sikrer, at batchjobs ikke sendes til servere med lav hukommelse eller utilstrækkelige CPU’er til rådighed.

I mellemtiden gør avancerede dato/tidsplanlægningsfunktioner det muligt at planlægge batches, samtidig med at der tages højde for brugerdefinerede helligdage, skattekalendere, flere tidszoner og meget mere.

Men på grund af det stigende behov for realtidsdata og den stigende kompleksitet i moderne databehandling vælger mange it-organisationer automatisering af arbejdsbyrden og orkestreringsplatforme, der giver avancerede værktøjer til datastyring og integration.

Batch Processing Takes to the Cloud

Den moderne it-afdeling er mangfoldig, distribueret og dynamisk. I stedet for at være afhængig af homogene mainframes og datacentre på stedet køres batchprocesser på tværs af hybride miljøer. Det er der en god grund til.

Som tidligere nævnt er batchprocesser ofte ressourcekrævende. I dag, med væksten af store data og onlinetransaktioner, kan batcharbejdsbelastninger kræve ganske meget. Ved at udnytte cloud-infrastruktur får it-afdelingen mulighed for at stille beregningsressourcer til rådighed efter behov i stedet for at skulle installere fysiske servere, som i en stor del af dagen sandsynligvis ville være ubenyttede.

Mængden af data, som it-afdelingen skal håndtere for at opfylde forretningens behov, fortsætter med at vokse, og værktøjerne til batch workloads udvikler sig for at opfylde disse behov. IT har f.eks. ikke de nødvendige ressourcer til manuelt at udføre hver enkelt ETL-proces eller til manuelt at konfigurere, provisionere og deprovisionere VM’er. I stedet bruges batch workload-værktøjer til at automatisere og orkestrere disse opgaver i end-to-end-processer.

For eksempel kan et automatiserings- og orkestreringsværktøj bruges til at flytte data ind og ud af forskellige komponenter i en Hadoop-klynge som en del af en end-to-end-proces, der omfatter tilrådighedsstillelse af VM’er, udførelse af ETL-jobs i en BI-platform og derefter levering af disse rapporter via e-mail.

I takt med at organisationer bliver mere afhængige af cloud-baserede ressourcer og applikationer, vil evnen til at orkestrere jobplanlægning og batch-arbejdsbelastninger på tværs af forskellige platforme blive kritisk.

Batch Workload Orchestration

Automatiserings- og orkestreringsværktøjer er i stigende grad udvidelige, og flere løsninger til automatisering af arbejdsbelastninger tilbyder allerede universelle konnektorer og REST API-adaptere med lav kode, der gør det muligt at integrere stort set ethvert værktøj eller enhver teknologi uden scripting.

Det er vigtigt, for i stedet for at have job schedulere, automatiseringsværktøjer og batchprocesser, der kører i siloer, kan it-afdelingen bruge et orkestreringsværktøj til arbejdsbelastning til centralt at administrere, overvåge og fejlfinde alle batchjobs.

IT-orkestreringsværktøjer kan f.eks. automatisk generere og gemme logfiler for hver enkelt batchinstans, så it-afdelingen hurtigt kan identificere de grundlæggende årsager, når der opstår problemer. Overvågning og advarsler i realtid gør det muligt for it-afdelingen at reagere på eller forebygge forsinkelser, fejl og ufuldstændige kørsler, hvilket fremskynder svartiderne, når der opstår problemer.

Automatiske genstarter og arbejdsgange til automatisk afhjælpning er også stadig mere almindelige, mens batchjobs kan prioriteres for at sikre, at der er ressourcer til rådighed på køretid.

Dertil kommer, at udvidelige batch-workload-værktøjer gør det muligt at konsolidere ældre scripts og batch-applikationer, hvilket gør det muligt for it-afdelingen at forenkle og reducere driftsomkostningerne.

Fremtiden for batchbehandling

Traditionelle batchplanlægningsværktøjer har givet plads til højtydende automatiserings- og orkestreringsplatforme, der giver den udvidelighed, der er nødvendig for at håndtere ændringer. De gør det muligt for it at operere på tværs af hybride og multi-cloud-miljøer og kan drastisk reducere behovet for menneskelig indgriben.

Maskinlæringsalgoritmer bruges til intelligent at allokere VM’er til batch-arbejdsbelastninger for at reducere slack time og ubenyttede ressourcer. Dette er afgørende for teams, der administrerer arbejdsmængder med store mængder af arbejdsmængder eller med et stort antal virtuelle eller cloud-baserede servere.

Med maskinlæring, der kører i realtid, kan der reserveres yderligere ressourcer, hvis en SLA-kritisk arbejdsmængde risikerer at blive overskredet. Dette omfatter tilrådighedsstillelse af yderligere virtuelle eller cloud-baserede maskiner baseret på dynamisk efterspørgsel. Sammen med automatisk afhjælpning giver dette et effektivt værktøj til at sikre, at serviceleveringen ikke forsinkes til slutbrugeren eller den eksterne kunde.

På lang sigt bliver IT mere forskelligartet og distribueret, og de typer af arbejdsbelastninger, som IT er ansvarlig for, vil fortsat blive udvidet. Modningen af nye teknologier – kunstig intelligens, IoT, edge computing – vil lægge nyt pres på it-teams for hurtigt at integrere nye applikationer og teknologier.

IT ændrer sig hurtigt, men nogle ting, f.eks. batchbehandling, forbliver de samme.

Er du klar til at se, hvordan vi gør automatisering af arbejdsbyrder let?

Skemalæg en demo for at se vores eksperter køre jobs, der matcher dine brugssituationer i ActiveBatch. Få svar på dine spørgsmål, og lær, hvor nemt det er at opbygge og vedligeholde dine jobs i ActiveBatch

Brian McHugh

Brian er medarbejder på bloggen IT Automation Without Boundaries, hvor han dækker it-nyheder, begivenheder og tankeledelse. Han har skrevet for flere publikationer i New York City-metroområdet, både på tryk og online, og han har fået sin B.A. i journalistik fra Rowan University. Når han ikke skriver om it-orkestrering og -modernisering, sidder han med næsen i en god bog eller bygger Lego-rumskibe med sine børn.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.