Batch
AWS Batch — compute environments, job queues, job definitions, scheduling policies, and the job control plane. restJson1 protocol.
AWS Batch (the batch service) runs batch computing workloads: you register a job definition, point a job queue at one or more compute environments, and submit jobs that run as containers.
The wedge: against every other free local emulator AWS Batch is a fake — its compute does no real work. MiniStack's Batch jumps a job straight to SUCCEEDED with no container; Moto runs Docker but leaks; LocalStack gates Batch behind its Ultimate tier. fakecloud already runs ECS tasks as real containers, and Batch is built to run real jobs on that same engine.
Supported today
- Compute environments —
CreateComputeEnvironment,DescribeComputeEnvironments,UpdateComputeEnvironment,DeleteComputeEnvironment. CreatedVALID/ENABLED. - Job queues —
CreateJobQueue,DescribeJobQueues,UpdateJobQueue,DeleteJobQueue, withcomputeEnvironmentOrder,priority, and an optionalschedulingPolicyArn. - Job definitions —
RegisterJobDefinition(monotonic per-namerevision),DescribeJobDefinitions(filter by name / ARN /status),DeregisterJobDefinition(marks the revisionINACTIVE). - Scheduling policies —
CreateSchedulingPolicy,DescribeSchedulingPolicies,ListSchedulingPolicies,UpdateSchedulingPolicy,DeleteSchedulingPolicy(fair-share). - Jobs — real container execution —
SubmitJoblaunches the job definition'scontainerProperties(image / command / vcpus / memory / environment, with this submit'scontainerOverridesapplied) as a real container on fakecloud's ECS task engine, and drives the job status off the container's actual lifecycle:SUBMITTED → STARTING → RUNNING → SUCCEEDEDwhen the container exits 0, orFAILED(carrying the realcontainer.exitCode) on a non-zero exit. This is the wedge: every other free emulator fakes Batch compute (MiniStack jumps straight toSUCCEEDEDwith no container). With no container runtime available the job staysSUBMITTEDhonestly — never an auto-success.DescribeJobs/ListJobs(filter by queue / status) report live status + exit code;CancelJob/TerminateJobstop a job. - Tags —
TagResource,UntagResource,ListTagsForResource.
Terraform / CloudFormation can provision a full Batch stack (aws_batch_compute_environment, aws_batch_job_queue, aws_batch_job_definition, aws_batch_scheduling_policy) and an SDK client can submit jobs that run real containers and report their real exit codes.
Coming next
Array jobs (child spawning + AWS_BATCH_JOB_ARRAY_INDEX), job dependencies (dependsOn SEQUENTIAL / N_TO_N), retry strategies + timeouts, and a CloudFormation provisioner for AWS::Batch::*.