Creación de un trabajo de Batch mediante Azure Portal
Azure Batch ejecuta aplicaciones a gran escala de forma eficaz en la nube. Puede programar tareas de proceso intensivo y ajustar dinámicamente los recursos de la solución sin administrar la infraestructura. Azure Batch puede crear y administrar un grupo de nodos de proceso (máquinas virtuales o VM), instalar la aplicación que desea ejecutar y programar trabajos para que se ejecuten en los nodos de proceso.
Puede usar Azure Batch para compilar una aplicación de software como servicio (SaaS) o una aplicación cliente donde se requiere una ejecución a gran escala. Por ejemplo, puede usar Batch para compilar un servicio que ejecute una simulación de Monte Carlo para una empresa de servicios financieros o un servicio que procese muchas imágenes.
Funcionamiento de Azure Batch
Como se muestra en el diagrama siguiente, un escenario típico del mundo real para Azure Batch requiere datos y archivos de aplicación. El flujo de trabajo de Batch comienza cargando estos archivos de aplicación y datos en una cuenta de Azure Storage. En función de la demanda, se crea un grupo de Batch con tantos nodos de proceso virtuales de Windows o Linux como sea necesario. Si aumenta la demanda, los nodos de proceso se pueden escalar automáticamente.
Puede pensar en el diagrama en dos partes:
- El servicio
- Batch como plataforma de proceso subyacente
El servicio usa Azure como plataforma para completar el trabajo intensivo en términos computacionales mediante Batch y para recuperar los resultados mediante Azure Storage. En segundo plano, los grupos son colecciones de máquinas virtuales. Los grupos son los recursos en los que se ejecutan los trabajos y las tareas.
Batch usa Azure Storage para capturar las aplicaciones o los datos necesarios para completar una tarea en una máquina virtual y, a continuación, escribir la salida de la tarea. El servicio puede supervisar los trabajos y el progreso de las tareas a través de las API de Batch. A continuación, el servicio puede recuperar los resultados de Azure Storage una vez completados los trabajos y las tareas.
Creación de un grupo de Azure Batch en una red virtual
Para ejecutar un trabajo de Batch, es necesario agregar un grupo a la cuenta de Batch. Un grupo contiene nodos de proceso, que son necesarios para ejecutar el trabajo de Batch. Los nodos de proceso son máquinas virtuales que procesan las tareas que componen un trabajo. Al crear un grupo, puede especificar el número, el tamaño y el sistema operativo de los nodos en función de la demanda.
El servicio Batch debe comunicarse con un agente de nodo de Batch que se ejecute en cada nodo del grupo. Por ejemplo, el servicio indica al agente del nodo que ejecute una tarea, detenga una tarea u obtenga los archivos de una tarea. Uno o varios equilibradores de carga permiten la comunicación con el agente de nodo de grupo. El número de equilibradores de carga depende del número de nodos de un grupo.
Un equilibrador de carga reenvía la comunicación al nodo de grupo deseado. Cada nodo tiene un número de puerto único. De forma predeterminada, los equilibradores de carga tienen direcciones IP públicas asociadas.
También es posible acceder de forma remota a los nodos del grupo a través del Protocolo de escritorio remoto (RDP) o SSH, que están habilitados de forma predeterminada. Una vez más, la comunicación se realiza a través de los puntos de conexión del equilibrador de carga.
Al crear un grupo de Azure Batch, puede aprovisionarlo en una subred de una red virtual de Azure que especifique. Los nodos de proceso de un grupo pueden comunicarse entre sí para ejecutar tareas de instancias múltiples, sin necesidad de una red virtual independiente. De forma predeterminada, los puntos de conexión con direcciones IP públicas se usan para comunicarse con las cuentas de Batch, los grupos de Batch y los nodos de grupo.
Redes virtuales y subredes de Azure
Una red virtual es el bloque de creación básico de una red privada en Azure. Las redes virtuales permiten a muchos tipos de recursos de Azure, como máquinas virtuales, comunicarse de forma segura entre ellos, con Internet y con las redes locales.
Una red virtual es similar a una red tradicional que funcionaría en su propio centro de datos, pero aporta más ventajas de infraestructura de Azure, como la escala, la disponibilidad y el aislamiento.
Entre los escenarios clave que puede lograr con una red virtual se incluyen:
- Comunicación entre los recursos de Azure e Internet
- Comunicación entre los recursos de Azure
- Comunicación con recursos locales
- Filtrado del tráfico de red
- Enrutamiento del tráfico de red
- Integración con servicios de Azure
Una subred es un intervalo de direcciones IP en la red virtual. Una red virtual se puede dividir en varias subredes para facilitar su organización o por motivos de seguridad. Al configurar una red virtual, especifique la topología, incluidos los espacios de direcciones y las subredes disponibles. Si tiene previsto conectar la red virtual a otras redes virtuales o redes locales, debe seleccionar intervalos de direcciones que no se superpongan.
No hay ningún límite de seguridad entre subredes, por lo que las máquinas virtuales de cada subred pueden comunicarse entre sí, pero puede configurar grupos de seguridad de red que le permitan controlar el flujo de tráfico hacia y desde subredes y máquinas virtuales.