Comparison

Expanso and Nomad: Orchestrating for Different Scales and Domains

Nomad offers simple, flexible orchestration for diverse workloads within a zone, while Expanso specializes in Compute Over Data across globally distributed environments.

Key Differences

Core Philosophy

Nomad

Lightweight orchestrator focused on simplicity and flexibility. Runs as a single binary for both server and client nodes. Designed for managing diverse workloads (containers, VMs, binaries) within a defined zone or cluster.

Expanso

Takes the learnings from Kubernetes and Nomad and extends them to the global network layout many organizations face. Built around 'Compute Over Data' - if you've asked 'Why are we moving petabytes just to run a computation?', Expanso is your answer.

Execution Environments

Nomad

Natively orchestrates containers (Docker, Podman), VMs, static binaries, Java archives, and more. Excellent flexibility for environments with a mix of legacy and modern workloads managed under a single system.

Expanso

YAML pipelines assembled from built-in components: 50+ inputs, 80+ processors and 55+ outputs. Nomad's breadth of runtimes is a real strength; Expanso's is depth on one job: processing data at the source.

Data Locality

Nomad

While Nomad supports scheduling based on resource availability and constraints, it doesn't explicitly prioritize data locality. Follows centralized model where data is typically moved to the compute cluster.

Expanso

Data locality is the core design principle. Runs pipelines next to your data, whether it's just been generated, is sitting in S3 or a SQL database, or is streaming from edge devices. Eliminates unnecessary data transfers.

Edge & Distributed Computing

Nomad

Clients designed to be resilient to temporary network partitions using the disconnect block. Natively supports edge computing while maintaining a centralized approach requiring network connection to servers.

Expanso

Designed from the ground up for distributed and potentially disconnected environments. Jobs execute without persistent network connections to central controller. Can queue jobs during disconnections and resume when resources reconnect.

How Work Is Targeted

Nomad

Supports service (long-running), batch (run to completion), and system (node-level) job types. Batch jobs are queued and placed onto nodes as capacity becomes available.

Expanso

Jobs are defined in YAML and targeted at nodes by label (site, region, hardware role), so one pipeline definition runs the same way on every node that matches, and a change rolls out to all of them at once.

At a Glance

FeatureNomadExpanso
Lightweight Single Binary
Multi-Workload Support
Data Locality Priority
Multi-Site by Default

Single zone focus

One control plane

Edge Computing (Disconnected)

Requires connection

Processes Data Before It Leaves the Node
Mixed Architecture Support
Resource Reuse

Dedicated servers

Uses existing compute

Collaboration, not Competition

Nomad and Expanso can work beautifully together. Use Nomad to manage your core infrastructure and diverse workloads within your data center or cloud environment - its simplicity and flexibility make it excellent for this. Then use Expanso to distribute data-intensive compute jobs across your global network, edge devices, and wherever your data lives.

Nomad is your choice when you need simpler, high-scale orchestration inside a single zone. Expanso is your choice when processing distributed datasets is your primary goal and moving data is impractical, costly, or prohibited.

Ready to get started?

Ready to process data where it's created?

Stop shipping petabytes to find the megabytes that matter.