StackServicesBatch

Batch

Last updated: Oct 30, 2026


Rationale

Fluid Attacks uses Batch to run batch processing jobs in the cloud. These are the primary reasons why Fluid Attacks selected it and not other alternatives:

Alternatives

GitLab CI

Fluid Attacks used GitLab CI before it implemented Batch. GitLab CI is not for scheduled jobs that continue for many hours. Frequently, jobs stopped responding before they could end. The primary cause was the disconnection between the worker that ran the job and the GitLab CI Bastion. Also, GitLab CI has a limit on the number of schedules for each project, and thousands of jobs put much pressure on the GitLab coordinator and the GitLab CI Bastion. For these reasons, Fluid Attacks moved to Batch.

Buildkite

Pros:

  • Buildkite manages the submission of duplicated jobs.
  • It gives logging, monitoring, and stability measurements by default.
  • Fluid Attacks can separate costs with different queues (related to different deployments).
  • It sends notifications to email and other channels by default.
  • It supports pipelines by default.
  • It has an API to query information about earlier jobs on a pipeline and start new builds. This API is much more flexible than the Batch API.

Cons: It is much more expensive.

Kubernetes Jobs

Read Jobs in the Kubernetes documentation.

Pros: It separates costs better.

Cons: You must start each build manually, because it does not monitor the queue automatically as Batch does.

Usage

Fluid Attacks uses Batch to run these jobs:

On this page