¿Qué es el procesamiento por lotes?
El procesamiento por lotes es el método que utilizan las computadoras para completar periódicamente trabajos de datos repetitivos y de gran volumen. Ciertas tareas de procesamiento de datos, como las copias de seguridad, el filtrado y la clasificación, pueden requerir un esfuerzo de computación intensivo y ser ineficientes para ejecutarse en transacciones de datos individuales. En cambio, los sistemas de datos procesan estas tareas en lotes, a menudo en horas de menor actividad, cuando los recursos de computación están disponibles con mayor frecuencia, como al final del día o de la noche a la mañana. Por ejemplo, imagine un sistema de comercio electrónico que reciba pedidos a lo largo del día. En lugar de procesar todos los pedidos a medida que se producen, el sistema podría recopilar todos los pedidos al final de cada día y compartirlos en un lote con el equipo de cumplimiento de pedidos.
¿Por qué es importante el procesamiento por lotes?
Las organizaciones usan el procesamiento por lotes porque requiere una interacción humana mínima y hace que las tareas repetitivas se ejecuten de forma más eficiente. Puede configurar lotes de trabajos compuestos por millones de registros para que procesen juntos cuando haya más potencia de computación, lo que supone menos esfuerzo para sus sistemas. El procesamiento por lotes moderno también requiere una supervisión o administración humana mínima. Si hay algún problema, el sistema notifica automáticamente al equipo correspondiente para que lo resuelva. Los gerentes adoptan una estrategia de no intervención y confían en que su software de procesamiento por lotes hará su trabajo. A continuación se ofrecen más beneficios del procesamiento por lotes.
¿Cuál es el historial del procesamiento por lotes?
El procesamiento por lotes tiene más de un siglo de antigüedad, aunque los aspectos técnicos de su funcionamiento han ido evolucionando continuamente. La primera instancia del procesamiento por lotes se remonta a 1890, cuando se utilizó un tabulador electrónico para registrar información para la Oficina del Censo de los Estados Unidos. Los trabajadores marcaron las tarjetas de datos (conocidas como “tarjetas perforadas”) y las procesaron en lotes a través de un dispositivo electromecánico. Para la década de 1960, los desarrolladores podían programar por lotes en cinta magnética para que las computadoras se ejecutaran secuencialmente a lo largo del día. Los trabajos por lotes también se hicieron comunes a medida que la computadora central mejoró y se hizo más potente y eficiente. Las organizaciones modernas utilizan aplicaciones por lotes basadas en software para procesos comerciales comunes, como la generación de informes, la impresión de documentos o la actualización de la información al final del día.
¿Cuáles son ejemplos de trabajos que el procesamiento por lotes puede automatizar?
Los sistemas de procesamiento por lotes se utilizan para procesar varios tipos de datos y solicitudes. Algunos de los tipos más comunes de trabajos de procesamiento por lotes incluyen:
- Facturación semanal o mensual
- Nóminas
- Procesamiento de inventario
- Generación de informes
- Conversión de datos
- Ciclos de suscripción
- Gestión de la cadena de suministro
¿Cuáles son algunos casos de uso de los sistemas de procesamiento por lotes?
Hay varios casos de uso de los sistemas de procesamiento por lotes. A continuación se presentan ejemplos clave.
Servicios financieros
Las organizaciones de servicios financieros, desde tecnologías financieras ágiles hasta empresas heredadas, han utilizado el procesamiento por lotes en áreas como la computación de alto rendimiento para la administración de riesgos, el procesamiento de transacciones al final del día y la vigilancia del fraude. Utilizan el procesamiento por lotes para minimizar los errores humanos, aumentar la velocidad y la precisión, y reducir los costos con la automatización.
Software como servicio
Las empresas que ofrecen aplicaciones de software como servicio (SaaS) a menudo tienen problemas en lo que respecta a la escalabilidad. Mediante el procesamiento por lotes, puede escalar la demanda de los clientes y automatizar la programación de trabajos. La creación de entornos de aplicaciones en contenedores para escalar la demanda de procesamiento de grandes volúmenes es un proyecto que puede tardar meses o incluso años en completarse, pero los sistemas de procesamiento por lotes sirven para lograr el mismo resultado en un plazo mucho más corto.
Investigación médica
El análisis de grandes cantidades de datos, o macrodatos, es un requisito común en el campo de la investigación. Puede aplicar el procesamiento por lotes en aplicaciones de análisis de datos, como química computacional, modelado clínico, dinámica molecular y pruebas y análisis de secuenciación genómica. Por ejemplo, los científicos utilizan el procesamiento por lotes para obtener mejores datos a fin de comenzar el diseño de fármacos y obtener una comprensión más profunda de la función de un proceso bioquímico en particular.
Medios digitales
Las empresas de medios y entretenimiento requieren sistemas de procesamiento por lotes altamente escalables para procesar datos automáticamente, como archivos, gráficos y efectos visuales, para el contenido de video de alta resolución. Puede usar el procesamiento por lotes para acelerar la creación de contenido, escalar dinámicamente el empaquetado de medios y automatizar la carga de trabajo de medios.
¿Cómo funciona el procesamiento por lotes?
Si bien las aplicaciones de procesamiento por lotes varían según el tipo de tarea que se deba realizar, los conceptos básicos de cualquier trabajo por lotes siguen siendo los mismos. El usuario puede ejecutar trabajos por lotes al especificar los siguientes detalles:
- Nombre de la persona que presenta el trabajo
- Procesos por lotes o programas que deben ejecutarse
- Ubicación del sistema de la entrada de datos
- Ubicación del sistema para la salida de datos procesados
- Tiempo, o periodo de gestión de lotes, en el que se debe ejecutar el trabajo por lotes
El usuario también especifica el tamaño del lote o el número de unidades de trabajo que el sistema necesita procesar en una operación de lote completa. Algunos ejemplos de tamaño de lote incluyen:
- Número de líneas de archivos por lotes para su lectura y almacenamiento en la base de datos.
- Número de mensajes que se van a leer y procesar de una cola.
- Número de transacciones para su clasificación y envío a la siguiente aplicación.
Durante el periodo de gestión de lotes, el sistema de procesamiento por lotes utiliza la información de su tamaño a fin de asignar los recursos necesarios para ejecutar el trabajo por lotes de manera eficiente. Los sistemas modernos pueden ejecutar cientos de miles de trabajos por lotes en las instalaciones o en la nube.
Dependencias
Las tareas de trabajo por lotes pueden ejecutarse de forma secuencial o simultánea. Las secuencias pueden variar en función de si una tarea anterior se ha completado correctamente. Algunos ejemplos de dependencias incluyen que un cliente haga un pedido en una tienda virtual o pague una factura. También se puede configurar una dependencia para iniciar un ciclo de procesamiento del trabajo.
Comandos cron
Un comando cron es un trabajo por lotes que se ejecuta con regularidad. Puede configurar patrones de recurrencia para los trabajos por lotes, por ejemplo, configurar un trabajo para facturar las suscripciones al final de cada mes.
¿Cómo se puede monitorear el procesamiento por lotes?
Si bien los sistemas de procesamiento por lotes funcionan con una participación mínima del personal, aún necesitan cierta supervisión. Para monitorear los procesos por lotes, puede configurar alertas (o excepciones) que se envían cuando el trabajo por lotes se ejecuta correctamente, se produce un error o se termina de ejecutar.
Monitores
Los monitores de los procesos por lotes buscan anomalías, como un trabajo que tarda más de lo debido en completarse. En esta instancia, detendría el siguiente trabajo desde el comienzo e informaría al personal correspondiente de la excepción.
Análisis de posprocesamiento
Puede ver el historial de un trabajo por lotes después de que se haya procesado. La mayoría de los procesos por lotes incluyen archivos de registro que registran los mensajes mientras se estaba ejecutando el trabajo.
¿Cuál es la diferencia entre el procesamiento por lotes y el procesamiento de transmisiones?
Mientras que los sistemas por lotes procesan grandes volúmenes de datos y solicitudes en orden secuencial, el procesamiento de secuencias analiza continuamente los datos que fluyen a través de un sistema o entre dispositivos. El procesamiento de transmisiones monitorea los datos en tiempo real y los transmite continuamente a la red. Requiere más potencia de procesamiento para monitorear las grandes cantidades de datos.
Cuando el tamaño de los datos que se transmiten no se conoce o es infinito, los datos de transmisión pueden ser preferibles al procesamiento por lotes. Como resultado, el procesamiento de transmisiones se usa comúnmente para funciones empresariales como la ciberseguridad, el Internet de las cosas (IoT), los servicios de marketing personalizados y el monitoreo de registros.
Dadas sus capacidades complementarias, algunas empresas han implementado un sistema híbrido que incluye el procesamiento por lotes y el procesamiento de transmisiones en sus operaciones diarias.
¿Cómo contribuye AWS al procesamiento por lotes?
Puede ahorrar hasta un 90 % en el procesamiento por lotes totalmente administrado conAWS Batch. AWS Batch aprovisiona dinámicamente la cantidad y el tipo óptimos de recursos de computación, como instancias optimizadas para CPU o memoria y elimina la necesidad de instalar y administrar la infraestructura del sistema de procesamiento por lotes. Puede dedicar menos tiempo a administrar la infraestructura y más tiempo a analizar los resultados y resolver problemas.
También puede ejecutar sus cargas de trabajo por lotes en instancias de spot de Amazon Elastic Compute Cloud (Amazon EC2). Las instancias de spot de Amazon EC2 son la capacidad no utilizada de Amazon EC2 disponible con hasta un 90 % de descuento en comparación con los precios de las instancias bajo demanda. Las instancias de spot son ideales para aplicaciones de procesamiento por lotes porque puede ejecutar cargas de trabajo a hiperescala con un ahorro de costes significativo o puede acelerar sus cargas de trabajo ejecutando tareas paralelas.
Comience con el procesamiento por lotes creando una cuenta de AWS.
Siguientes pasos del procesamiento por lotes en AWS
Obtenga acceso instantáneo al nivel Gratuito de AWS.
Comience a crear con AWS Batch en la consola de administración de AWS.