¿Qué es Azure Batch?
Son pocas las organizaciones que tienen los recursos para mantener implementaciones permanentes de plataformas de proceso extremadamente eficaces, que solo en algunas ocasiones se podrían utilizar en toda su capacidad. Por lo general, se necesita una solución de proceso flexible y escalable, como Azure Batch, para brindar la potencia de cálculo necesaria.
Como parte del proceso de realizar OCR en las imágenes cargadas de los medidores de potabilidad de agua con Azure Batch, se deben comprender los componentes principales de un flujo de trabajo de Azure Batch.
Aquí verá para qué está diseñado Azure Batch y cómo los componentes de Batch se usan en un flujo de trabajo típico.
Cargas de trabajo paralelas y tareas de procesos intensivos
Algunas cargas de trabajo requiere una gran potencia computacional. Algunos ejemplos son el modelado de riesgos financieros, la representación de imágenes 3D, la transcodificación de elementos multimedia y el análisis de secuencias genéticas. En algunos casos, estas cargas de trabajo se pueden dividir en subtareas independientes y se pueden ejecutar en paralelo para que las tareas se lleven a cabo en mucho menos tiempo. Tres máquinas virtuales (VM) pueden hacer el trabajo de una en un tercio del tiempo.
Como parte del proyecto de OCR para organizaciones sin ánimo de lucro, es posible usar Azure Batch para particionar el trabajo de realizar OCR, de manera que el procesamiento se realice en paralelo y tarde mucho menos tiempo en completarse.
Los componentes de Azure Batch
Azure Batch se puede usar para estas tareas paralelas a gran escala e intensivas en términos de cálculo en Azure. En un nivel elevado, Azure Batch implica muchos componentes trabajando en conjunto. Todo debe ocurrir dentro del contexto de una cuenta de Azure Batch, que actúa como contenedor de todos los recursos de Batch.
En algunos casos de uso, podría querer asociar esta cuenta con una cuenta de Azure Storage para descargar archivos de entrada y aplicaciones para usar durante la ejecución y almacenar sus resultados. Dentro de su cuenta de Azure Batch, se pueden crear grupos de nodos de ejecución virtuales, ya sea con Windows o Linux, del número y tamaño de memoria y CPU especificados, que el servicio de Azure Batch administrará y programará por usted. Una cuenta de Batch puede contener muchos grupos de Batch.
Una vez que ha creado uno o más grupos, crea trabajos individuales, que actúan como contenedores lógicos para todas las tareas que programa y pueden compartir propiedades comunes. Como ya dijimos, es perfectamente posible tener muchos trabajos.
Y, por último, puede crear tareas, las que describen cómo se hace realmente el trabajo. Puede usar tareas para invocar directamente la línea de comandos o las tareas pueden ejecutar aplicaciones que el usuario carga en Azure Storage. En el ejercicio siguiente, veremos todos los componentes principales de Azure Batch trabajando en conjunto.
Flujo de trabajo típico de Azure Batch
¿Qué aspecto tiene realmente un flujo de trabajo de Azure Batch típico? Como se muestra en el gráfico siguiente, un escenario típico del mundo real para Azure Batch requiere datos y archivos de aplicación. El flujo de trabajo de Batch empieza al cargar estos archivos de aplicación y datos en una cuenta de Azure Batch. A continuación, puede crear un grupo de Batch con todos los nodos de ejecución virtuales de Windows o Linux que sean necesarios. También se pueden escalar automáticamente según las exigencias de sus cargas de trabajo si estas cambian con el tiempo.
El servicio Batch luego controla cómo se ponen en línea los nodos y cómo se programan las tareas para su ejecución en los nodos. Antes de que las tareas empiecen a ejecutarse, es posible que descarguen del almacenamiento todos los archivos de aplicación y los datos que necesitan para realizar el procesamiento. Mientras se ejecutan las tareas, es posible consultar el estado de los nodos y el progreso de las tareas. Una vez que los nodos completan sus tareas, las salidas de sus tareas se pueden examinar o insertar en Azure Storage.