Maelstrom — система распределённого запуска тестов и выполнения задач, разработанная для упаковки отдельных тестов в лёгкие изолированные контейнеры и их параллельного прогонa как локально, так и в вычислительных кластерах. В основе подхода лежит разделение рабочей нагрузки на независимые единицы, которые могут быть эффективно распределены по доступным вычислительным ресурсам, что уменьшает время выполнения полного набора тестов и повышает устойчивость процессов за счёт изоляции ошибок.
Проект возник как ответ на потребность в масштабируемом инструменте для интеграционного и распределённого тестирования в больших разработческих организациях и непрерывных конвейерах поставки ПО. Традиционно название Maelstrom используется для обозначения нескольких одноимённых проектов и исследовательских прототипов с похожей архитектурой; если конкретные реализации отличаются по функциональности или лицензии, об этом обычно указывается в документации соответствующего проекта. В случае отсутствия общепризнанного единого стандарта под именем Maelstrom, далее описывается типичный набор возможностей и сценариев использования для систем такого класса.
- Упаковка в лёгкие контейнеры: каждый тест или задача изолируется в отдельном контейнере для воспроизводимости окружения и предотвращения взаимного влияния.
 - Распределённое планирование: механизмы очередей и планировщиков распределяют задания по локальным и удалённым узлам с учётом приоритетов и доступных ресурсов.
 - Параллельное выполнение: поддержка массового параллелизма позволяет значительно сокращать общее время прогонов за счёт одновременного запуска множества задач.
 - Изоляция и безопасность: контейнеризация снижает риск побочных эффектов между задачами и упрощает управление зависимостями.
 - Масштабирование в кластере: интеграция с оркестраторами и системами управления ресурсами для горизонтального масштабирования рабочих нагрузок.
 - Отслеживание и логирование: централизованный сбор логов и метрик для диагностики ошибок и анализа производительности прогонов.
 - Управление артефактами: сохранение результатов тестов, отчётов и артефактов исполнения для последующего анализа и повторного использования.
 - Гибкость конфигурации: декларативные описания заданий и параметров окружения для воспроизводимых прогонов в разных средах.
 - Интеграция с CI/CD: возможность встроиться в конвейеры непрерывной интеграции и доставки для автоматизированного тестирования при изменениях кода.
 - Механизмы повторного запуска и ретрая: автоматический и ручной перезапуск упавших задач с учётом условий и ограничений.