Сервис облачных вычислений для параллельного запуска тысяч контейнеров - PullRequest
0 голосов
/ 15 апреля 2019

Есть ли провайдер, который предлагает такую ​​опцию из коробки? Мне нужно запустить не менее 1K одновременных сессий (Docker-контейнеров) безголовых веб-браузеров (Firefox) для сложных тестов пользовательского интерфейса. У меня есть образ Docker, который я просто хочу развернуть и масштабировать до 1000 экземпляров 1CPU / 1GB в секунду, не тратя время на обслуживание кластера серверов (мне нужно отключить их все после завершения работы), просто сфокусируйтесь на коде. Самым близким, что я нашел, является Amazon ECS / Fargate, но их ограничения для меня не имеют смысла («Запуск контейнерных приложений в производстве» -> максимальный лимит: 50 задач -> производство -> хорошо). Я что-то пропустил?

Ответы [ 2 ]

1 голос
/ 15 апреля 2019

Я думаю, что AWS Batch может быть лучшим решением для вашего случая использования.Вы определяете «вычислительную среду», которая обеспечивает определенный уровень емкости, а затем отправляете задачи, выполняемые в этой вычислительной среде.

Я не думаю, что вы найдете что-то, что может запустить среду, иРазвертывание большого количества задач за «одну секунду»: по моему опыту, для пакетной обработки требуется около одной-двух минут, хотя после того, как машины запущены и работают, они могут быстро чередовать задания.Вам также следует подумать о том, имеет ли смысл запускать все 1000 заданий одновременно;это будет зависеть от того, что вы пытаетесь получить из своих тестов.

Вам также необходимо знать о любых местах, где вас могут задушить (например, при получении конфигурации из хранилища параметров AWS)., В этом выступлении с прошлогоднего саммита в Нью-Йорке освещаются некоторые проблемы, с которыми столкнулся докладчик при развертывании нескольких тысяч одновременных задач.

0 голосов
/ 15 апреля 2019

Вы можете использовать лямбда-слои для запуска безголовых браузеров (я знаю, что есть несколько реализаций хрома / селена на github, не уверен насчет firefox).

В качестве альтернативы вы можете попробовать связаться с командой AWS, чтобы узнать, насколько может быть увеличен лимит для одновременных задач в Fargate.Как вы можете увидеть в документации , задача 50 является мягким пределом и может быть повышена.

Имейте в виду, что если вы запускаете через Fargate, существует некоторое ограничение API для запросов в секунду,Вам необходимо убедиться, что вы ограничиваете свои вызовы API или используете Служба создания ECS .

В любом случае запуск 1000 задач потребует 1000 секунд, что, вероятно, не то, что вы ожидаете.

Эти ограничения отсутствуют, если вы используете ECS, но в этом случае вам нужно управлятькластера, поэтому было бы неплохо изучить лямбда-опцию.

...