Skip to main content
Last Updated: November 6, 2025

Overview

Migrating from AWS Batch to SaladCloud enables you to reduce batch processing costs by up to 90% while maintaining robust job orchestration and scaling capabilities. If you’re currently running batch jobs on AWS Batch compute environments, you’ll find that SaladCloud offers similar patterns for job queuing, automatic scaling, and distributed processing — but at a fraction of the cost. What Stays Exactly the Same:
  • Your application code and processing logic remain unchanged
  • Same containerized workloads (Docker/ECS task definitions convert easily)
  • Job submission and monitoring patterns
  • Automatic retry logic for failed jobs
  • Queue-based job distribution
What Gets Simpler:
  • No complex compute environment configuration
  • Simplified job definitions (just containers and resources)
  • Straightforward pricing without EC2/Fargate complexity
  • Built-in global distribution without multi-region setup
Key Differences to Consider:
  • SaladCloud uses distributed consumer GPUs instead of EC2/Fargate
  • Job processing through HTTP endpoints rather than AWS Batch agents
  • Cloud storage patterns instead of EBS volumes
  • Slower cold starts but dramatically lower costs
The migration primarily involves adapting your AWS Batch job definitions to SaladCloud’s container-based job processing model while preserving your existing batch processing workflows.
💡 New to SaladCloud? Check out our getting started guide for an introduction to deploying on SaladCloud, or explore our job queue documentation to understand how SaladCloud handles batch processing.

Why Migrate from AWS Batch to SaladCloud?

AWS Batch has served as a reliable batch processing solution, but its costs can quickly escalate, especially for GPU-intensive workloads. SaladCloud offers a compelling alternative that addresses common AWS Batch pain points: Cost Advantages:
  • 90% Lower Compute Costs: GPU + CPU + RAM combined cost a fraction of EC2 instances
    • RTX 4090 setup: $0.30/hr at high priority vs P3.2xlarge: $3.06/hr
  • Transparent Component Pricing:
    • **GPU Containers:**GPU hourly rate
    • CPU-only Containers: - $0.004/vCPU/hour + $0.001/GB RAM/hour
  • Per-Second Billing: Hourly rates tracked per second for running containers
  • No Hidden Costs: No charges for VPC endpoints, NAT gateways, or data transfer between AZs
Operational Benefits:
  • Simplified Management: No compute environment configuration or AMI management
  • Automatic Global Distribution: Access to 11,000+ GPUs worldwide without multi-region complexity
  • Built-in Resilience: Automatic failover and retry logic included
  • No Infrastructure Overhead: Focus on your batch jobs, not EC2 fleet management
When SaladCloud Excels:
  • Long-running batch jobs where startup time is less critical
  • GPU-intensive workloads (ML training, rendering, simulations)
  • Cost-sensitive batch processing
  • Non-time-critical workloads (batch priority adds 40-50% savings on top of base 90% savings)
  • Globally distributed data processing
  • Development and testing environments
Trade-offs to Consider:
  • Cold Start Times: Container startup takes minutes vs. seconds on pre-warmed EC2 instances
  • Storage Model: No EBS volumes; use cloud storage APIs instead
  • Service Integration: Fewer native AWS service integrations
  • Job Complexity: Better suited for containerized workloads than complex multi-step pipelines

Product Comparison: AWS Batch vs. SaladCloud

Core Component Mapping

Feature Comparison

Migration Requirements

Technical Requirements

  • Containerization: Jobs must run in Docker containers (you likely already have this with ECS task definitions)
  • HTTP Interface: Jobs receive work via HTTP endpoints instead of AWS Batch job parameters
  • Cloud Storage: Replace EBS/EFS with S3-compatible storage (Cloudflare R2 recommended for no egress fees)
  • Queue Worker: Add the Salad Job Queue Worker binary to your container (handles job distribution)

Architectural Shifts

  • From Agent-Based to Queue Worker: AWS Batch agents pull jobs; SaladCloud Queue Worker receives and forwards jobs locally
  • From EC2 Fleets to Distributed Nodes: No direct control over compute instances
  • From VPC Networking to No Networking: Job Queues eliminate networking configuration entirely
  • From IAM Roles to API Keys: Different authentication model

Before You Begin: Key Concepts

Understanding the Job Processing Model

AWS Batch Model:
SaladCloud Model:
The key difference is that SaladCloud uses an HTTP-based job distribution model where the Salad Job Queue Worker (a lightweight binary you add to your container) receives jobs from the queue and forwards them to your application via localhost HTTP calls. This means your application doesn’t need IPv6 binding or external network access.

Container Startup Behavior

AWS Batch: Containers start when jobs are assigned, run the job, then terminate. SaladCloud: Containers run continuously and process multiple jobs. You can use Job Queue Autoscaling to automatically scale to zero when you have no jobs left to process. Your application should:
  • Start an HTTP server to receive jobs
  • Process jobs when received
  • Return results via HTTP response
  • Stay running to process more jobs

Storage Patterns

Since SaladCloud doesn’t support mounted volumes, you’ll need to adapt your storage strategy. Important: Use Egress-Free Storage We strongly recommend using egress-free storage providers like Cloudflare R2 instead of AWS S3. SaladCloud’s distributed nodes are not in datacenters, so egress fees from traditional cloud storage can add up quickly.

Step-by-Step Migration Process

Step 1: Prepare Your SaladCloud Environment

Account Setup

  1. Create account at portal.salad.com
  2. Set up organization and project
  3. Generate API key for programmatic access

Install SaladCloud SDK (Optional)

Step 2: Convert AWS Batch Job Definitions

Transform ECS Task Definitions

AWS Batch Job Definition:
SaladCloud Container Configuration:

Adapt Job Input/Output Patterns

AWS Batch Job Script:
SaladCloud HTTP Handler:

Step 3: Choose Your Job Queue Solution

These patterns can be implemented with any job queue, including those not on the Salad platform, but these two have platform integration with SaladCloud.

Salad Job Queues vs. Kelpie

SaladCloud offers two job queue solutions, each optimized for different use cases: Salad Job Queues (Recommended for most AWS Batch migrations):
  • Best for jobs that complete in minutes to a few hours
  • Built-in retry logic (3 retries, 4 total attempts)
  • Simple HTTP-based job distribution
  • Native autoscaling based on queue depth
  • No additional setup required
Salad Kelpie (For long-running or interruptible workloads):
  • Designed for jobs running many hours or days (ML training, simulations)
  • Built-in checkpointing and resumption capabilities
  • Automatic cloud storage integration for progress saves
  • Handles node interruptions gracefully
  • Ideal for workloads that need to survive node failures
When to use Kelpie instead of Job Queues:
  • Jobs that run longer than 30 minutes
  • ML model training or fine-tuning
  • Molecular dynamics simulations
  • Any workload where losing progress would be costly
  • Jobs that need to save and resume from checkpoints
For this guide, we’ll use Salad Job Queues as they’re the closest match to AWS Batch for most use cases. If you have long-running workloads, see our Kelpie documentation.

Create a Salad Job Queue

Job Queues can only be created via the API (not available in the portal):
Or via Python SDK:

Step 4: Deploy Container Group with Queue

Container Group Configuration

Step 5: Submit and Monitor Jobs

Job Submission

AWS Batch Pattern:
SaladCloud Pattern:

Job Monitoring

Step 6: Implement Autoscaling

Queue-Based Autoscaling

Custom Metrics Autoscaling

Migration Patterns for Common AWS Batch Scenarios

Pattern 1: Simple Batch Processing

AWS Batch Approach:
  • Submit jobs with parameters
  • Process in container
  • Write results to S3
SaladCloud Migration:

Pattern 2: Array Jobs

AWS Batch Array Jobs:
SaladCloud Equivalent:

Pattern 3: Long-Running Jobs with Kelpie

AWS Batch Long-Running Jobs:
  • Multi-hour ML training jobs
  • Risk of spot instance termination
  • Manual checkpointing required
SaladCloud with Kelpie:
Benefits of Kelpie for long jobs:
  • Automatic checkpoint upload to S3-compatible storage
  • Resume from last checkpoint after interruption
  • No data loss from node failures
  • Built-in integration with SaladCloud
See the Kelpie guide for detailed setup.

Pattern 4: GPU-Accelerated ML Training

AWS Batch with GPU:
SaladCloud GPU Configuration:

Pattern 5: Dependent Jobs

AWS Batch with Dependencies:
SaladCloud Pattern:

Monitoring and Logging

Replace CloudWatch with External Logging

Configure Axiom Logging (Recommended):
Application-Level Logging:

Cost Optimization Strategies

1. Use Batch Priority for Non-Time-Sensitive Workloads

SaladCloud offers four priority tiers, with each tier offering additional savings on top of our already competitive base pricing (which is typically 80-90% less than AWS). For batch processing that isn’t time-critical, the “batch” priority tier offers the deepest discounts: Example pricing for comparable GPU workload (24 GB VRAM, 8 vCPU, 32 GB RAM): AWS P4d.24xlarge (8x A100 40GB):
  • Total: ~$32.77/hour
  • Per GPU: ~$4.10/hour
  • Includes: 96 vCPUs, 1152 GB RAM (massive overkill for most batch jobs)
AWS P3.2xlarge (1x V100 16GB):
  • Total: ~$3.06/hour
  • Per GPU: $3.06/hour
  • Includes: 8 vCPUs, 61 GB RAM
SaladCloud RTX 4090 (24 GB):
  • High Priority: $0.30/hour GPU + $0.032/hour (8 vCPU) + $0.032/hour (32 GB RAM) = $0.364/hour total (88% less than P3.2xlarge)
  • Medium: $0.26 + $0.032 + $0.032 = $0.324/hour
  • Low: $0.22 + $0.032 + $0.032 = $0.284/hour
  • Batch: $0.18 + $0.032 + $0.032 = $0.244/hour (92% less than P3.2xlarge!)

2. Scale to Zero During Off-Hours

3. Optimize Container Size

4. Batch Small Jobs

Migration Checklist

Pre-Migration

  • Inventory AWS Batch job definitions and compute environments
  • Identify storage dependencies (EBS, EFS volumes)
  • Document job dependencies and workflows
  • Review IAM roles and permissions needed
  • Estimate monthly job volumes and compute requirements

Container Preparation

  • Convert job scripts to HTTP endpoints
  • Add Salad Queue Worker to containers
  • Update to use cloud storage instead of mounted volumes
  • Test containers locally with IPv6 binding
  • Push containers to accessible registry

SaladCloud Setup

  • Create SaladCloud account and organization
  • Generate API keys
  • Create job queues
  • Deploy container groups with queue connections
  • Configure autoscaling policies

Testing

  • Submit test jobs to queues
  • Verify job processing and retries
  • Test autoscaling behavior
  • Validate logging and monitoring
  • Compare performance with AWS Batch baseline

Production Migration

  • Migrate batch jobs gradually (start with non-critical)
  • Monitor costs and performance
  • Adjust autoscaling based on actual usage
  • Update job submission scripts/applications
  • Decommission AWS Batch resources once stable

Common Challenges and Solutions

Challenge: No Step Functions Equivalent

Solution: Use external workflow orchestrators

Challenge: Job Scheduling

Solution: Implement cron-based job submission

Challenge: Large Data Transfer

Solution: Use pre-signed URLs and streaming

Performance Optimization

Minimize Cold Starts

Optimize Job Distribution

What You’ll Gain

Migrating from AWS Batch to SaladCloud provides:

Immediate Benefits

  • 90% Cost Reduction: Dramatically lower compute costs for batch processing
  • Simplified Operations: No compute environment or AMI management
  • Global Scale: Access to 11,000+ GPUs worldwide
  • Transparent Pricing: Simple per-second billing without complex EC2 pricing tiers

Operational Improvements

  • Automatic Failover: Built-in retry logic and node replacement
  • Flexible Scaling: Scale to zero or thousands of instances
  • No Infrastructure Management: Focus on your batch jobs, not EC2 fleets
  • Unified Job Processing: Same patterns for CPU and GPU workloads

Trade-offs Accepted

  • Longer cold start times (minutes vs. seconds)
  • Different storage patterns (cloud APIs vs. mounted volumes)
  • Fewer AWS service integrations
  • HTTP-based job distribution instead of agent-based

Getting Help

SaladCloud Resources

Migration Support

Job Processing Patterns

Migration Guides

GPU Workloads

Ready to start saving on your batch processing costs? Create your SaladCloud account and begin migrating your AWS Batch workloads today!