Con AWS Batch, simplemente empaqueta el código de sus trabajos por lotes, especifica sus dependencias y envía el trabajo por lotes con la consola de administración, las CLI o los SDK de AWS. AWS Batch le permite especificar parámetros de ejecución y dependencias de trabajos, y facilita la integración con una amplia variedad de lenguajes y motores de flujo de trabajo informático por lotes conocidos (p. ej., Pegasus WMS, Luigi, y AWS Step Functions). AWS Batch aprovisiona y escala de manera eficaz y dinámica instancias de Amazon EC2 y de spot en función de los requisitos de sus trabajos. AWS Batch proporciona definiciones de entornos de computación y colas de trabajos predeterminadas que le permiten comenzar a trabajar con rapidez.

Soporte para cargas de trabajo de HPC estrechamente acopladas

AWS Batch admite los trabajos paralelos de varios nodos, lo que le permite ejecutar trabajos individuales que abarcan varias instancias EC2. Esta característica le permite usar AWS Batch para ejecutar cargas de trabajo de forma fácil y eficiente, como aplicaciones de informática de alto rendimiento (HPC) a gran escala y estrechamente acopladas, o entrenamiento de modelos de GPU distribuidos. AWS Batch también admite Elastic Fabric Adapter, una interfaz de red que le permite ejecutar aplicaciones que requieren altos niveles de comunicación entre nodos a escala en AWS. 

Definiciones de trabajos detalladas

AWS Batch le permite especificar requisitos de recursos, como la vCPU y la memoria, funciones de AWS Identity and Access Management (IAM), puntos de montaje de volúmenes, propiedades de contenedores y variables de entorno, para definir cómo se van a ejecutar los trabajos. AWS Batch ejecuta sus trabajos como aplicaciones en contenedores que se ejecutan en Amazon ECS.

Modelado de dependencias de trabajos sencillo

AWS Batch le permite definir dependencias entre distintos trabajos. Por ejemplo, su trabajo por lotes se puede componer de tres fases distintas de procesamiento con diferentes necesidades de recursos. Con las dependencias, puede crear tres trabajos con diferentes requisitos de recursos, de manera que cada trabajo sucesivo dependa del trabajo anterior.

AWS Batch se puede integrar con lenguajes y motores de flujo de trabajo de código abierto y comerciales, como Pegasus WMS y Luigi, lo que le permite utilizar lenguajes de flujo de trabajo conocidos para modelar sus canalizaciones de informática por lotes.

Aprovisionamiento y escalado de recursos informáticos dinámicos

AWS Batch proporciona entornos informáticos administrados que aprovisionan y escalan de manera dinámica recursos informáticos basados en los requisitos de volumen y recursos de sus trabajos enviados. Puede configurar los entornos informáticos administrados de AWS Batch con requisitos como el tipo de instancias EC2, las configuraciones de subred de VPC, las vCPU mínimas/máximas/deseadas en todas las instancias y el monto que está dispuesto a pagar por las instancias de spot como un porcentaje del precio de las instancias bajo demanda.

De manera alternativa, puede aprovisionar y administrar sus propios recursos informáticos en los entornos informáticos no administrados de AWS Batch si necesita usar configuraciones diferentes (p. ej., volúmenes EBS de mayor tamaño o un sistema operativo distinto) para sus instancias EC2 de las proporcionadas por los entornos informáticos administrados de AWS Batch. Simplemente necesita aprovisionar instancias de EC2 que incluyan el agente de Amazon ECS y ejecutar versiones compatibles de Linux y Docker. Entonces AWS Batch ejecutará trabajos por lotes en las instancias EC2 que aprovisione.

Programación de trabajos basada en prioridades

AWS Batch le permite configurar varias colas con distintos niveles de prioridad. Los trabajos por lotes se almacenan en las colas hasta que se disponga de recursos informáticos para ejecutar el trabajo. El programador de AWS Batch evalúa cuándo, dónde y cómo ejecutar trabajos enviados a una cola en función de los requisitos de recursos de cada trabajo. El programador evalúa la prioridad de cada cola y ejecuta trabajos por orden de prioridad en recursos informáticos óptimos (p. ej., optimizados para memoria o para CPU), siempre y cuando los trabajos no tengan dependencias pendientes.

Monitorización y registro integrados

AWS Batch muestra métricas operativas clave para sus trabajos por lotes en la consola de administración de AWS. Puede ver métricas relacionadas con la capacidad informática, así como los trabajos en ejecución, pendientes y completados. Hay disponibles registros de sus trabajos (p. ej., STDERR y STDOUT) en la consola de administración de AWS, que también se escriben en Amazon CloudWatch Logs.

Control de acceso preciso

AWS Batch usa IAM para controlar y monitorear los recursos de AWS a los que sus trabajos pueden acceder, como tablas de Amazon DynamoDB. A través de IAM, también puede definir políticas para distintos usuarios en su organización. Por ejemplo, se puede conceder permiso pleno a los administradores para acceder a cualquier operación de la API de AWS Batch, permisos limitados a los desarrolladores para configurar entornos informáticos y registrar trabajos, y permisos restringidos a los usuarios finales para que solo puedan enviar y eliminar trabajos.

Más información sobre los precios de AWS Batch

Visite la página de precios
¿Listo para crear?
Introducción a AWS Batch
¿Tiene más preguntas?
Contacte con nosotros