С AWS Batch можно просто архивировать код для пакетных заданий, указывать зависимости и отправлять задания с помощью Консоли управления AWS, интерфейса командной строки или SDK. Для заданий можно указать зависимости и параметры запуска. AWS Batch облегчает интеграцию с большим количеством популярных движков и языков пакетных вычислений (например, Pegasus WMS, Luigi и AWS Step Functions). Сервис эффективно и динамически выделяет инстансы Amazon EC2 и спотовые инстансы, а также масштабирует их при необходимости. В AWS Batch доступны готовые определения очередей заданий и вычислительных сред, которые позволяют легко начать работу с сервисом.

Начните работу с AWS Batch сегодня

Начало работы
100x100_benefit_ccontainers

Для работы с заданиями AWS Batch позволяет задавать конкретные требования к ресурсам, таким как память и виртуальные ЦПУ, роли AWS Identity and Access Management (IAM), точки подключения томов, параметры контейнеров, а также переменные среды. AWS Batch выполняет задания в контейнерах в Amazon ECS.

100x100_benefit_version-control2

В AWS Batch можно определять зависимости заданий. Например, задание может включать три различных этапа обработки, для которых требуются разные ресурсы. Можно определить три задания с разными требованиями к ресурсам и указать зависимость каждого последующего задания от результатов выполнения предыдущего.

100x100_benefit_ingergration

AWS Batch можно интегрировать с движками управления рабочими процессами (как с коммерческими, так и с движками с открытым исходным кодом), например с Pegasus WMS или Luigi. Это позволяет использовать знакомые языки для моделирования процессов вычисления.

100x100_benefit_scalable-instance

AWS Batch использует управляемые вычислительные среды для динамического выделения вычислительных ресурсов и масштабирования в зависимости от объема и требований предоставленных заданий. К управляемым вычислительным средам AWS можно задавать такие требования, как тип инстансов EC2, конфигурации подсети VPC, максимальное/минимальное/желательное количество виртуальных ЦПУ во всех инстансах, а также цену на спотовые инстансы.

Кроме того, если нужна другая конфигурация (например, более крупные объемы EBS или другая операционная система), для инстансов EC2 можно выделять свои собственные вычислительные ресурсы в рамках среды, не управляемой AWS Batch. Достаточно выделить инстансы EC2, на которых установлены агент Amazon ECS и поддерживаемые версии Linux и Docker. После этого AWS Batch будет запускать пакетные задания в этих инстансах EC2.

100x100_benefit_calendar

AWS Batch позволяет настроить несколько очередей заданий с разными уровнями приоритета. Пакетные задания находятся в очереди до тех пор, пока не появятся вычислительные ресурсы. Планировщик заданий AWS Batch определяет, где, когда и как можно запускать поставленные в очередь задания, на основе требований к ресурсам для каждого задания. Планировщик определяет приоритет каждой очереди и в соответствии с этим запускает задания, используя оптимальный набор вычислительных ресурсов (например, больше памяти или мощности ЦПУ), при условии, что у заданий нет невыполненных зависимостей.  

100x100_benefit_lowcost-affordable

AWS Batch позволяет снизить затраты на выполнение заданий за счет использования спотовых инстансов Amazon EC2. Сервис динамически размещает от имени пользователя заявки на спотовые инстансы на основании требований к ресурсам и параметрам конфигурации.

100x100_benefit_monitoring-logging

AWS Batch отображает ключевые рабочие метрики заданий в Консоли управления AWS. Можно просматривать метрики по объемам вычислительных ресурсов, а также выполняемые задания, завершенные задания и задания, ожидающие своей очереди. Журналы запуска заданий (например, STDERR и STDOUT) доступны в Консоли управления AWS и также добавляются в журналы Amazon CloudWatch.

100x100_benefit_privacy1

AWS Batch использует IAM для мониторинга и управления ресурсами AWS, доступными для заданий, такими как таблицы Amazon DynamoDB. IAM также позволяет задавать конкретные политики для разных пользователей в организации. Например, администраторам можно предоставить полный доступ API AWS Batch, разработчикам – ограниченные права для настройки вычислительных сред и регистрации заданий, а конечным пользователям – только права на отправку и удаление заданий.