Procesamiento de lotes y orquestación de cargas de trabajo: Una visión general

¿Qué es el procesamiento de cargas de trabajo por lotes?

El procesamiento de cargas de trabajo por lotes se refiere a grupos de trabajos (lotes) que se programan para ser procesados al mismo tiempo. Tradicionalmente, las cargas de trabajo por lotes se procesan durante las ventanas de lotes, períodos de tiempo en los que el uso general de la CPU es bajo (normalmente durante la noche). La razón de esto es doble:

  1. Las cargas de trabajo por lotes pueden requerir una gran cantidad de CPU, ocupando recursos que se necesitan para otros procesos operativos durante el día de trabajo
  2. Las cargas de trabajo por lotes se utilizan normalmente para procesar transacciones y producir informes, por ejemplo, reuniendo todos los registros de ventas que se crearon en el transcurso del día de trabajo

Hoy en día, el procesamiento por lotes se realiza a través de programadores de trabajos, sistemas de procesamiento por lotes, soluciones de automatización de cargas de trabajo y aplicaciones nativas de los sistemas operativos. La herramienta de procesamiento por lotes recibe los datos de entrada, tiene en cuenta los requisitos del sistema y coordina la programación para el procesamiento de grandes volúmenes. El procesamiento por lotes se diferencia del procesamiento de flujo en que el procesamiento por lotes requiere información no continua.

Una historia del procesamiento por lotes

El procesamiento por lotes tiene sus raíces en la prehistoria de los ordenadores. Ya en 1890, la Oficina del Censo de los Estados Unidos utilizaba un tabulador electromecánico para registrar la información del censo estadounidense. Herman Hollerith, que inventó el tabulador, pasó a fundar la empresa que a su vez se convirtió en IBM.

El superordenador CDC 6600, alrededor de 1964 / Foto de Arnold Reinhold

A mediados del siglo XX, los trabajos por lotes se realizaban utilizando datos perforados en tarjetas. En la década de 1960, con el desarrollo de la multiprogramación, los sistemas informáticos empezaron a ejecutar múltiples trabajos por lotes al mismo tiempo para procesar datos de cintas magnéticas en lugar de tarjetas perforadas.

A medida que los mainframes evolucionaban y se hacían más potentes, se ejecutaban más trabajos por lotes, por lo que se desarrollaron aplicaciones para asegurarse de que los trabajos por lotes sólo se ejecutaban cuando había recursos suficientes, con el fin de evitar retrasos. Esto ayudó a dar lugar a los modernos sistemas de procesamiento por lotes.

Ejemplos de procesamiento por lotes

Los casos de uso del procesamiento por lotes pueden encontrarse en bancos, hospitales, contabilidad y cualquier otro entorno en el que sea necesario procesar un gran conjunto de datos. Por ejemplo, las generaciones de informes se ejecutan después del cierre del negocio, cuando todas las transacciones de las tarjetas de crédito han finalizado. Las empresas de servicios públicos recopilan datos sobre el uso de los clientes y ejecutan procesos por lotes para determinar la facturación.

En otro caso de uso, una empresa de gestión de datos financieros ejecuta procesos por lotes durante la noche que proporcionan informes financieros directamente a los bancos e instituciones financieras a las que sirven.

Ventajas y desventajas del procesamiento por lotes

El procesamiento por lotes es útil porque proporciona un método para procesar grandes cantidades de datos sin ocupar recursos informáticos clave. Si un proveedor de servicios sanitarios necesita actualizar los registros de facturación, podría ser mejor ejecutar un lote durante la noche, cuando las demandas de recursos serán bajas.

De forma similar, el procesamiento por lotes ayuda a reducir el tiempo de inactividad mediante la ejecución de trabajos cuando los recursos informáticos están disponibles.

Las herramientas de procesamiento por lotes, sin embargo, suelen estar limitadas en su alcance y capacidad. A menudo se requieren scripts personalizados para integrar el sistema por lotes con nuevas fuentes de datos, lo que puede plantear problemas de ciberseguridad cuando se incluyen datos sensibles. Los sistemas por lotes tradicionales también pueden estar mal equipados para manejar procesos que requieren datos en tiempo real, por ejemplo, el procesamiento de flujos o de transacciones.

¿Su centro de datos sigue el ritmo del negocio?

Explore cómo puede superar la complejidad del centro de datos con una solución empresarial de programación de trabajos.

Sistemas modernos de procesamiento por lotes

Los sistemas modernos de procesamiento por lotes proporcionan una serie de capacidades que facilitan a los equipos la gestión de cargas de trabajo de gran volumen. Esto puede incluir la automatización basada en eventos, las restricciones y la supervisión en tiempo real. Estas capacidades modernas ayudan a garantizar que los lotes sólo se ejecutan cuando todos los datos necesarios están disponibles, reduciendo los retrasos y los errores.

Para reducir aún más los retrasos, los sistemas modernos de procesamiento por lotes incluyen algoritmos de equilibrio de carga para asegurarse de que los trabajos por lotes no se envíen a servidores con poca memoria o insuficientes CPUs disponibles.

Mientras tanto, las capacidades avanzadas de programación de fecha y hora hacen posible programar lotes teniendo en cuenta los días festivos personalizados, los calendarios fiscales, las múltiples zonas horarias y mucho más.

Sin embargo, debido a la creciente necesidad de datos en tiempo real y a la mayor complejidad del procesamiento de datos moderno, muchas organizaciones de TI están optando por plataformas de automatización y orquestación de cargas de trabajo que proporcionan herramientas avanzadas para la gestión e integración de datos.

El procesamiento por lotes se lleva a la nube

El departamento de TI moderno es diverso, distribuido y dinámico. En lugar de depender de mainframes homogéneos y centros de datos locales, los procesos por lotes se ejecutan en entornos híbridos. Hay una buena razón para ello.

Como se ha mencionado anteriormente, los procesos por lotes suelen consumir muchos recursos. Hoy en día, con el crecimiento de los big data y las transacciones en línea, las cargas de trabajo por lotes pueden requerir bastante. Aprovechar la infraestructura de la nube ofrece al departamento de TI la capacidad de aprovisionar recursos informáticos en función de la demanda, en lugar de tener que instalar servidores físicos que, durante una buena parte del día, probablemente estarían inactivos.

La cantidad de datos que el departamento de TI tiene que gestionar para satisfacer las necesidades del negocio sigue creciendo, y las herramientas de carga de trabajo por lotes están evolucionando para satisfacer estas necesidades. Por ejemplo, el departamento de TI no dispone de los recursos necesarios para ejecutar manualmente cada proceso ETL, o para configurar, aprovisionar y desaprovisionar manualmente las máquinas virtuales. En su lugar, se están utilizando herramientas de carga de trabajo por lotes para automatizar y orquestar estas tareas en procesos integrales.

Por ejemplo, se puede utilizar una herramienta de automatización y orquestación para mover los datos dentro y fuera de varios componentes de un clúster Hadoop como parte de un proceso integral que incluye el aprovisionamiento de máquinas virtuales, la ejecución de trabajos ETL en una plataforma de BI y la posterior entrega de esos informes por correo electrónico.

A medida que las organizaciones se vuelven más dependientes de los recursos y aplicaciones basados en la nube, la capacidad de orquestar la programación de trabajos y las cargas de trabajo por lotes a través de plataformas dispares se volverá crítica.

Orquestación de cargas de trabajo por lotes

Las herramientas de automatización y orquestación son cada vez más extensibles, con varias soluciones de automatización de cargas de trabajo que ya proporcionan conectores universales y adaptadores de API REST de bajo código que permiten integrar prácticamente cualquier herramienta o tecnología sin necesidad de scripts.

Esto es importante, porque en lugar de tener programadores de trabajos, herramientas de automatización y procesos por lotes que se ejecutan en silos, el departamento de TI puede utilizar una herramienta de orquestación de la carga de trabajo para gestionar, supervisar y solucionar los problemas de todos los trabajos por lotes de forma centralizada.

Las herramientas de orquestación de TI pueden, por ejemplo, generar y almacenar automáticamente archivos de registro para cada instancia por lotes, lo que permite al departamento de TI identificar rápidamente las causas raíz cuando surgen problemas. La supervisión y las alertas en tiempo real permiten al departamento de TI responder o prevenir retrasos, fallos y ejecuciones incompletas, acelerando los tiempos de respuesta cuando se producen problemas.

Los reinicios automáticos y los flujos de trabajo de remediación automática también son cada vez más comunes, mientras que los trabajos por lotes pueden priorizarse para garantizar que los recursos estén disponibles en el momento de la ejecución.

Además, las herramientas de carga de trabajo por lotes extensibles hacen posible consolidar los scripts y las aplicaciones por lotes heredados, lo que permite al departamento de TI simplificar y reducir los costes operativos.

El futuro del procesamiento por lotes

Las herramientas tradicionales de programación por lotes han dado paso a plataformas de automatización y orquestación de alto rendimiento que proporcionan la extensibilidad necesaria para gestionar el cambio. Permiten al departamento de TI operar en entornos híbridos y multicloud y pueden reducir drásticamente la necesidad de intervención humana.

Los algoritmos de aprendizaje automático se están utilizando para asignar de forma inteligente las máquinas virtuales a las cargas de trabajo por lotes para reducir el tiempo de inactividad y los recursos ociosos. Esto es fundamental para los equipos que gestionan cargas de trabajo de gran volumen o con un gran número de servidores virtuales o basados en la nube.

Con el aprendizaje automático que se ejecuta en tiempo real, se pueden reservar recursos adicionales si una carga de trabajo crítica para el SLA corre el riesgo de sobrepasarse. Esto incluye el aprovisionamiento de máquinas virtuales o basadas en la nube adicionales en función de la demanda dinámica. Junto con la auto-remediación, esto proporciona una poderosa herramienta para asegurar que la entrega del servicio no se retrase al usuario final o al cliente externo.

A largo plazo, la TI se está volviendo más diversa y distribuida, y los tipos de cargas de trabajo de los que es responsable la TI continuarán expandiéndose. La maduración de las nuevas tecnologías -inteligencia artificial, IoT, edge computing- supondrá nuevas presiones para que los equipos de TI integren rápidamente las nuevas aplicaciones y tecnologías.

La TI está cambiando rápidamente, pero algunas cosas, como el procesamiento por lotes, siguen siendo las mismas.

¿Preparado para ver cómo facilitamos la automatización de la carga de trabajo?

Programe una demostración para ver cómo nuestros expertos ejecutan trabajos que coinciden con sus casos de uso en ActiveBatch. Obtenga respuesta a sus preguntas y aprenda lo fácil que es crear y mantener sus trabajos en ActiveBatch

Brian McHugh

Brian es escritor del blog IT Automation Without Boundaries, donde cubre noticias de TI, eventos y liderazgo de pensamiento. Ha escrito para varias publicaciones de la zona metropolitana de Nueva York, tanto en formato impreso como en línea, y se licenció en periodismo por la Universidad de Rowan. Cuando no está escribiendo sobre orquestación y modernización de TI, está sumergido en un buen libro o construyendo naves espaciales de Lego con sus hijos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.