Elaborazione batch e orchestrazione del carico di lavoro: Una panoramica

Cos’è l’elaborazione del carico di lavoro in batch?

L’elaborazione del carico di lavoro in batch si riferisce a gruppi di lavori (batch) che sono programmati per essere elaborati nello stesso momento. Tradizionalmente, i carichi di lavoro batch vengono elaborati durante le finestre batch, periodi di tempo in cui l’utilizzo complessivo della CPU è basso (in genere durante la notte). La ragione di ciò è duplice:

  1. I carichi di lavoro batch possono richiedere alte CPU, occupando risorse che sono necessarie per altri processi operativi durante la giornata lavorativa
  2. I carichi di lavoro batch sono tipicamente usati per elaborare le transazioni e produrre rapporti, per esempio, raccogliendo tutti i record di vendita che sono stati creati nel corso della giornata lavorativa

Oggi l’elaborazione batch è fatta attraverso job scheduler, sistemi di elaborazione batch, soluzioni di automazione del carico di lavoro e applicazioni native dei sistemi operativi. Lo strumento di elaborazione batch riceve i dati di input, tiene conto dei requisiti di sistema e coordina la programmazione per l’elaborazione ad alto volume. L’elaborazione in batch differisce dall’elaborazione in flusso in quanto l’elaborazione in batch richiede informazioni non continue.

Una storia dell’elaborazione in batch

L’elaborazione in batch ha radici nella preistoria dei computer. Già nel 1890, lo United States Census Bureau usava un tabulatore elettromeccanico per registrare le informazioni del censimento degli Stati Uniti. Herman Hollerith, che inventò il tabulatore, fondò l’azienda che a sua volta divenne IBM.

Il supercomputer CDC 6600, circa 1964 / Foto di Arnold Reinhold

Entro la metà del XX secolo, i lavori batch venivano eseguiti usando dati perforati su schede. Negli anni ’60, con lo sviluppo della multiprogrammazione, i sistemi informatici cominciarono a eseguire più lavori batch allo stesso tempo per elaborare i dati dal nastro magnetico invece che dalle schede perforate.

Con l’evoluzione dei mainframe e la loro maggiore potenza, venivano eseguiti più lavori batch e quindi furono sviluppate applicazioni per assicurarsi che i lavori batch fossero eseguiti solo quando c’erano risorse sufficienti, per evitare ritardi. Questo ha contribuito a dare origine ai moderni sistemi di elaborazione batch.

Esempi di elaborazione batch

I casi d’uso dell’elaborazione batch possono essere trovati in banche, ospedali, contabilità e in qualsiasi altro ambiente in cui è necessario elaborare un grande insieme di dati. Per esempio, le generazioni di report vengono eseguite dopo la chiusura degli affari, quando tutte le transazioni con carta di credito sono state finalizzate. Le società di servizi raccolgono dati sull’utilizzo dei clienti ed eseguono processi batch per determinare la fatturazione.

In un altro caso d’uso, una società di gestione dei dati finanziari esegue processi batch notturni che forniscono rapporti finanziari direttamente alle banche e alle istituzioni finanziarie che servono.

Vantaggi e svantaggi dell’elaborazione batch

L’elaborazione batch è utile perché fornisce un metodo per elaborare grandi quantità di dati senza occupare risorse di calcolo fondamentali. Se un fornitore di servizi sanitari ha bisogno di aggiornare i record di fatturazione, potrebbe essere meglio eseguire un batch durante la notte, quando le richieste di risorse saranno basse.

Similmente, l’elaborazione in batch aiuta a ridurre i tempi morti eseguendo i lavori quando le risorse di calcolo sono disponibili.

Gli strumenti di elaborazione in batch, tuttavia, sono spesso limitati nella portata e nelle capacità. Gli script personalizzati sono spesso necessari per integrare il sistema batch con nuove fonti di dati, il che può porre problemi di sicurezza informatica quando sono inclusi dati sensibili. I sistemi batch tradizionali possono anche essere mal equipaggiati per gestire processi che richiedono dati in tempo reale, per esempio l’elaborazione dei flussi o delle transazioni.

Il vostro centro dati sta tenendo il passo con il business?

Scopri come puoi superare la complessità del data center con una soluzione di job scheduling aziendale.

Sistemi moderni di elaborazione batch

I moderni sistemi di elaborazione batch forniscono una gamma di funzionalità che rendono più facile per i team gestire carichi di lavoro ad alto volume. Questo può includere l’automazione basata sugli eventi, i vincoli e il monitoraggio in tempo reale. Queste capacità moderne aiutano a garantire che i batch vengano eseguiti solo quando tutti i dati necessari sono disponibili, riducendo ritardi ed errori.

Per ridurre ulteriormente i ritardi, i moderni sistemi di elaborazione batch includono algoritmi di bilanciamento del carico per assicurarsi che i lavori batch non vengano inviati a server con poca memoria o CPU insufficiente.

Nel frattempo, le capacità avanzate di programmazione di data e ora rendono possibile programmare i batch tenendo conto di festività personalizzate, calendari fiscali, fusi orari multipli e molto altro.

Tuttavia, a causa della crescente necessità di dati in tempo reale e della crescente complessità della moderna elaborazione dei dati, molte organizzazioni IT stanno optando per piattaforme di automazione e orchestrazione del carico di lavoro che forniscono strumenti avanzati per la gestione e l’integrazione dei dati.

L’elaborazione dei lotti passa al cloud

Il dipartimento IT moderno è vario, distribuito e dinamico. Invece di fare affidamento su mainframe omogenei e data center on-premises, i processi batch vengono eseguiti in ambienti ibridi. C’è una buona ragione per questo.

Come menzionato prima, i processi batch sono spesso ad alta intensità di risorse. Oggi, con la crescita dei big data e delle transazioni online, i carichi di lavoro batch possono richiedere molto. Sfruttare l’infrastruttura cloud dà all’IT la possibilità di fornire risorse di calcolo in base alla domanda, invece di dover installare server fisici che, per una buona parte della giornata, sarebbero probabilmente inattivi.

La quantità di dati che l’IT deve gestire per soddisfare le esigenze aziendali continua a crescere, e gli strumenti di carico di lavoro batch si stanno evolvendo per soddisfare queste esigenze. Per esempio, l’IT non ha le risorse necessarie per eseguire manualmente ogni processo ETL, o per configurare, fornire e de-provisionare manualmente le VM. Invece, gli strumenti di carico di lavoro batch vengono utilizzati per automatizzare e orchestrare queste attività in processi end-to-end.

Per esempio, uno strumento di automazione e orchestrazione può essere utilizzato per spostare i dati dentro e fuori i vari componenti di un cluster Hadoop come parte di un processo end-to-end che include il provisioning delle VM, l’esecuzione di lavori ETL in una piattaforma di BI e quindi la consegna di quei report via e-mail.

Quando le organizzazioni diventano sempre più dipendenti dalle risorse e dalle applicazioni basate sul cloud, la capacità di orchestrare la programmazione dei lavori e i carichi di lavoro in batch su piattaforme diverse diventerà fondamentale.

Orchestrazione del carico di lavoro batch

Gli strumenti di automazione e orchestrazione sono sempre più estensibili, con diverse soluzioni di automazione del carico di lavoro che forniscono già connettori universali e adattatori REST API a basso codice che rendono possibile integrare praticamente qualsiasi strumento o tecnologia senza scripting.

Questo è importante, perché invece di avere job scheduler, strumenti di automazione e processi batch in esecuzione in silos, l’IT può utilizzare uno strumento di orchestrazione del carico di lavoro per gestire centralmente, monitorare e risolvere i problemi di tutti i lavori batch. Il monitoraggio e gli avvisi in tempo reale permettono all’IT di rispondere o prevenire ritardi, fallimenti ed esecuzioni incomplete, accelerando i tempi di risposta quando si verificano problemi.

Anche i riavvii automatici e i flussi di lavoro di riparazione automatica sono sempre più comuni, mentre i lavori batch possono essere prioritarizzati per garantire che le risorse siano disponibili in fase di esecuzione.

Inoltre, gli strumenti estensibili del carico di lavoro batch rendono possibile consolidare gli script e le applicazioni batch legacy, consentendo all’IT di semplificare e ridurre i costi operativi.

Il futuro dell’elaborazione batch

Gli strumenti tradizionali di pianificazione batch hanno lasciato il posto a piattaforme di automazione e orchestrazione ad alte prestazioni che forniscono l’estensibilità necessaria per gestire il cambiamento. Consentono all’IT di operare in ambienti ibridi e multi-cloud e possono ridurre drasticamente la necessità di intervento umano.

Algoritmi di apprendimento automatico vengono utilizzati per allocare in modo intelligente le VM ai carichi di lavoro in batch per ridurre i tempi morti e le risorse inattive. Questo è fondamentale per i team che gestiscono carichi di lavoro ad alto volume o con un gran numero di server virtuali o basati sul cloud.

Con l’apprendimento automatico in esecuzione in tempo reale, le risorse aggiuntive possono essere riservate se un carico di lavoro critico per gli SLA è a rischio di superamento. Questo include il provisioning di ulteriori macchine virtuali o basate sul cloud in base alla domanda dinamica. Accoppiato con l’auto-remediation, questo fornisce un potente strumento per assicurarsi che la consegna del servizio non sia ritardata all’utente finale o al cliente esterno.

Nel lungo periodo, l’IT sta diventando più diversificato e distribuito, e i tipi di carichi di lavoro di cui l’IT è responsabile continueranno ad espandersi. La maturazione di nuove tecnologie – intelligenza artificiale, IoT, edge computing – porrà nuove pressioni sui team IT per integrare rapidamente nuove applicazioni e tecnologie.

L’IT sta cambiando rapidamente, ma alcune cose, come l’elaborazione batch, rimangono le stesse.

Pronto a vedere come rendiamo facile l’automazione del carico di lavoro?

Prenota una demo per vedere i nostri esperti eseguire lavori che corrispondono ai tuoi casi d’uso in ActiveBatch. Ottieni risposte alle tue domande e scopri quanto sia facile costruire e mantenere i tuoi lavori in ActiveBatch

Brian McHugh

Brian è uno scrittore per il blog IT Automation Without Boundaries, dove copre notizie IT, eventi e leadership di pensiero. Ha scritto per diverse pubblicazioni nell’area metropolitana di New York, sia sulla stampa che online, e ha conseguito la laurea in giornalismo alla Rowan University. Quando non sta scrivendo di orchestrazione e modernizzazione IT, è immerso in un buon libro o sta costruendo astronavi Lego con i suoi figli.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.