Batchbehandling och orkestrering av arbetsuppgifter: En översikt

Vad är batchbehandling av arbetsbelastning?

Batchbehandling av arbetsbelastning avser grupper av jobb (batcher) som planeras att behandlas samtidigt. Traditionellt sett behandlas batcharbetsbelastningar under batchfönster, dvs. perioder då den totala CPU-användningen är låg (vanligtvis över natten). Anledningen till detta är tvåfaldig:

  1. Batcharbetsbelastningar kan kräva höga CPU:er, vilket upptar resurser som behövs för andra operativa processer under affärsdagen
  2. Batcharbetsbelastningar används vanligen för att bearbeta transaktioner och för att producera rapporter, t.ex. för att samla alla försäljningsposter som skapats under loppet av affärsdagen

I dag sker batchbearbetning genom jobbplaneringsverktyg, batchbearbetningssystem, lösningar för automatisering av arbetsbelastning och program som är inbyggda i operativsystemen. Verktyget för batchbehandling tar emot indata, tar hänsyn till systemkraven och samordnar schemaläggningen för bearbetning av stora volymer. Batchbehandling skiljer sig från strömbearbetning genom att batchbehandling kräver icke-kontinuerlig information.

En historia om batchbehandling

Batchbehandling har sina rötter i datorernas förhistoria. Redan 1890 använde United States Census Bureau en elektromekanisk tabulator för att registrera information från den amerikanska folkräkningen. Herman Hollerith, som uppfann tabulatorn, grundade sedan det företag som i sin tur blev IBM.

Superdatorn CDC 6600, cirka 1964 / Foto av Arnold Reinhold

I mitten av 1900-talet kördes batchjobb med hjälp av data som stansades på kort. På 1960-talet, i och med utvecklingen av multiprogrammering, började datorsystemen köra flera batchjobb samtidigt för att bearbeta data från magnetband i stället för hålkort.

I takt med att stordatorerna utvecklades och blev kraftfullare kördes fler batchjobb och därför utvecklades tillämpningar för att se till att batchjobb endast kördes när det fanns tillräckliga resurser, för att undvika förseningar. Detta bidrog till att ge upphov till moderna batchbehandlingssystem.

Exempel på batchbehandling

Användningsfall för batchbehandling kan hittas i banker, sjukhus, bokföring och alla andra miljöer där en stor mängd data måste behandlas. Exempelvis körs rapportgenereringar efter affärsstängning, när alla kreditkortstransaktioner har slutförts. Försörjningsföretag samlar in data om kundernas användning och kör batchprocesser för att fastställa faktureringen.

I ett annat användningsfall kör ett företag som hanterar finansiella data över natten batchprocesser som ger finansiella rapporter direkt till de banker och finansinstitut som de betjänar.

Fördelar och nackdelar med batchbehandling

Batchbehandling är användbart eftersom det är en metod för att bearbeta stora datamängder utan att uppta viktiga dataresurser. Om en vårdgivare behöver uppdatera faktureringsposter kan det vara bäst att köra en batch under natten, när kraven på resurserna är låga.

På samma sätt bidrar batchbehandling till att minska stilleståndstiden genom att utföra jobb när datorresurserna är tillgängliga.

Verktygen för batchbehandling är dock ofta begränsade i fråga om räckvidd och kapacitet. Det krävs ofta anpassade skript för att integrera batchsystemet med nya datakällor, vilket kan ge upphov till problem med cybersäkerheten om känsliga uppgifter ingår. Traditionella batchsystem kan också vara dåligt rustade för att hantera processer som kräver realtidsdata, till exempel strömbehandling eller transaktionsbehandling.

Håller ditt datacenter jämna steg med verksamheten?

Utforska hur du kan övervinna datacentrets komplexitet med en lösning för schemaläggning av företagsjobb.

Moderna system för batchbehandling

Moderna system för batchbehandling erbjuder en rad funktioner som gör det lättare för team att hantera arbetsbelastningar med stora volymer. Detta kan omfatta händelsebaserad automatisering, begränsningar och övervakning i realtid. Dessa moderna funktioner bidrar till att se till att batchjobben endast utförs när alla nödvändiga data är tillgängliga, vilket minskar förseningar och fel.

För att ytterligare minska förseningar innehåller moderna batchbehandlingssystem algoritmer för lastbalansering som ser till att batchjobben inte skickas till servrar med lågt minne eller otillräckligt med tillgängliga CPU:er.

Men avancerade funktioner för schemaläggning av datum/tid gör det möjligt att schemalägga batchjobben samtidigt som man tar hänsyn till anpassade helgdagar, skattekalendrar, flera tidszoner och mycket mer.

På grund av det ökande behovet av data i realtid och den ökande komplexiteten i modern databehandling väljer dock många IT-organisationer plattformar för automatisering av arbetsbelastning och orkestrering som tillhandahåller avancerade verktyg för datahantering och integration.

Batch Processing Takes to the Cloud

Den moderna IT-avdelningen är mångsidig, distribuerad och dynamisk. Istället för att förlita sig på homogena stordatorer och datacenter på plats körs batchprocesser i hybridmiljöer. Det finns en god anledning till detta.

Som tidigare nämnts är batchprocesser ofta resurskrävande. Idag, med tillväxten av stora data och onlinetransaktioner, kan batcharbetsbelastningar kräva ganska mycket. Att utnyttja molninfrastruktur ger IT möjlighet att tillhandahålla beräkningsresurser baserat på efterfrågan, i stället för att behöva installera fysiska servrar som under en stor del av dagen sannolikt skulle vara inaktiva.

Mängden data som IT måste hantera för att tillgodose verksamhetens behov fortsätter att öka, och verktygen för batcharbetsbelastning utvecklas för att tillgodose dessa behov. IT har till exempel inte de resurser som behövs för att manuellt utföra varje ETL-process, eller för att manuellt konfigurera, tillhandahålla och ta bort virtuella maskiner. Istället används batcharbetsbelastningsverktyg för att automatisera och orkestrera dessa uppgifter i end-to-end-processer.

Till exempel kan ett automations- och orkestreringsverktyg användas för att flytta data till och från olika komponenter i ett Hadoop-kluster som en del av en end-to-end-process som innefattar tillhandahållande av virtuella maskiner, utförande av ETL-jobb i en BI-plattform och sedan leverans av dessa rapporter via e-post.

I takt med att organisationer blir mer beroende av molnbaserade resurser och applikationer kommer förmågan att orkestrera jobbplanering och batcharbetsbelastning mellan olika plattformar att bli kritisk.

Batch Workload Orchestration

Automations- och orkestreringsverktyg är alltmer utbyggbara, och flera lösningar för automatisering av arbetsbelastning erbjuder redan universella anslutningar och REST API-adaptrar med låg kodning som gör det möjligt att integrera i stort sett alla verktyg eller tekniker utan skript.

Det här är viktigt, för i stället för att ha jobbplanerare, automatiseringsverktyg och batchprocesser som körs i silos kan IT-avdelningen använda ett orkestreringsverktyg för arbetsbelastning för att centralt hantera, övervaka och felsöka alla batchjobb.

Orkestreringsverktyg för IT kan till exempel automatiskt generera och lagra loggfiler för varje batchinstans, vilket gör att IT-avdelningen snabbt kan identifiera grundorsaker när problem uppstår. Övervakning och varning i realtid gör det möjligt för IT-avdelningen att reagera på eller förebygga förseningar, fel och ofullständiga körningar, vilket påskyndar svarstiderna när problem uppstår.

Automatiska omstarter och arbetsflöden för automatisk åtgärdande blir också allt vanligare, samtidigt som batchjobb kan prioriteras för att se till att resurser finns tillgängliga vid körning.

Det är dessutom möjligt att konsolidera äldre skript och batch-applikationer med hjälp av utbyggbara verktyg för batch-arbetsbelastning, vilket gör det möjligt för IT-avdelningen att förenkla och minska driftskostnaderna.

Framtiden för batch-bearbetning

Traditionella verktyg för batch-schemaläggning har fått ge vika för högpresterande automations- och orkestreringsplattformar som ger den utbyggbarhet som behövs för att hantera förändringar. De gör det möjligt för IT att arbeta i hybrid- och flermolnsmiljöer och kan drastiskt minska behovet av mänskligt ingripande.

Maskininlärningsalgoritmer används för att på ett intelligent sätt allokera virtuella maskiner till batcharbetsbelastningar för att minska slack time och outnyttjade resurser. Detta är kritiskt för team som hanterar arbetsbelastningar med hög volym eller med ett stort antal virtuella eller molnbaserade servrar.

Med maskininlärning som körs i realtid kan ytterligare resurser reserveras om en SLA-kritisk arbetsbelastning riskerar att överskridas. Detta inkluderar tillhandahållande av ytterligare virtuella eller molnbaserade maskiner baserat på dynamisk efterfrågan. Tillsammans med automatisk korrigering ger detta ett kraftfullt verktyg för att se till att tjänsteleveransen inte försenas till slutanvändaren eller den externa kunden.

På lång sikt blir IT allt mer diversifierad och distribuerad, och de typer av arbetsbelastningar som IT ansvarar för kommer att fortsätta att expandera. Mognaden av ny teknik – artificiell intelligens, IoT, edge computing – kommer att ställa nya krav på IT-teamen att snabbt integrera nya tillämpningar och tekniker.

IT förändras snabbt, men vissa saker, t.ex. batchbehandling, förblir desamma.

Är du redo att se hur vi gör automatisering av arbetsbelastning enkelt?

Boka en demo för att se våra experter köra jobb som matchar dina användningsfall i ActiveBatch. Få svar på dina frågor och lär dig hur enkelt det är att bygga och underhålla dina jobb i ActiveBatch

Brian McHugh

Brian är en av de anställda skribenterna på bloggen IT Automation Without Boundaries, där han täcker IT-nyheter, evenemang och tankeledarskap. Han har skrivit för flera publikationer i New York City-metroområdet, både i tryckt form och online, och han fick sin B.A. i journalistik från Rowan University. När han inte skriver om IT-orkestrering och modernisering är han djupt försjunken i en bra bok eller bygger Lego-rymdfarkoster med sina barn.

Lämna ett svar

Din e-postadress kommer inte publiceras.