CI and test infrastructure / Azure Pipelines alternative

Azure Pipelines alternative for persistent agent compute

Azure Pipelines builds, tests and deploys software through CI/CD jobs. Microsoft-hosted jobs receive fresh VMs, while self-hosted agents use infrastructure you operate. For an agent returning to installed tools and local files, the runner model determines what survives between jobs.

Reviewed 2026-10-19 · Published by the Sandbox0 team

When Azure Pipelines fits

Choose Azure Pipelines for repository-triggered builds, deployment stages, approvals and the Azure DevOps workflow. Its hosted images also cover Windows and macOS workloads that need their own compatible execution hosts.

When to consider Sandbox0

Consider Sandbox0 for a persistent Linux agent worker and its installed system tools. Retain or integrate your CI triggers, approvals, artifact distribution and deployment controls; assess runner isolation and cleanup before reusing a machine across jobs.

Capabilities

Azure Pipelines and Sandbox0: what persists?

Feature comparison with documentation and verification status
Environment and runtime lifetimeAzure PipelinesPrivate-project free hosted jobs have a sixty-minute limit; paid hosted jobs retain a 360-minute per-job limit. Monthly minutes and parallel lanes are separate allowances.View evidence ↗Sandbox0ttl and hard_ttl default to 0 (disabled). Configure idle pause and deletion policies for the same persistent sandbox identity; an idle running sandbox still accrues compute charges.Read documentation →
Persistent filesAzure PipelinesMicrosoft-hosted job files are discarded; self-hosted disks are separately operated.View evidence ↗Sandbox0The writable RootFS survives successful checkpoints, including software, system configuration, dependencies, and user data.Read documentation →
Whole RootFSAzure PipelinesThe hosted VM is replaced after every job.View evidence ↗Sandbox0Persistence extends beyond /workspace to paths such as /usr/local, /etc, and /home. Runtime tmpfs and virtual filesystems are excluded.Read documentation →
Release compute, keep stateAzure PipelinesA queued or approval-waiting pipeline does not establish machine checkpoint/resume.View evidence ↗Sandbox0Pause compute between tasks; resume on available capacity. Default resume starts fresh processes from the saved filesystem.Read documentation →
Memory and process stateAzure PipelinesNo arbitrary RAM checkpoint is established for hosted jobs.View evidence ↗Sandbox0Experimental memory checkpoints can preserve compatible process state. Use memory: true on both pause and resume on a compatible deployment. A filesystem checkpoint alone does not preserve running processes.Read documentation →

Online RootFS growth

On growth-enabled images, Sandbox0 automatically expands the writable RootFS as free space runs low, within a configured sparse logical ceiling up to 64 TiB. Agent processes keep running. Growth is enabled in the qualified Cloud region; confirm activation for other regions. Existing images and snapshots retain their captured storage geometry. The ceiling is logical capacity, not preallocated host disk.

Microsoft-hosted job disks are disposable. A persistent self-hosted runner can use its own storage policy, but the hosted-job contract does not provide an automatically growing durable RootFS across jobs. Sandbox0 supplies that execution-state layer for compatible Linux workers.

Files while compute is paused

Sandbox0's Files API reads persistent files without resuming compute. Filesystem-only pauses also permit edits; retained-memory pauses are read-only and reject mutations with 409. SSH, SFTP, file watching, and runtime-only mounts require running compute.

Stored pipeline artifacts and logs can be read after a job, but they are selected outputs rather than the complete filesystem of a paused worker.

See paused file operations →

Hosted jobs start on a fresh machine

Microsoft-hosted agents discard the VM after each job. Changes to its filesystem do not appear in the next job. Self-hosted agents are a separate option whose disk retention and operations belong to your infrastructure.

Unlimited monthly minutes still have per-job limits

The enabled private-project free tier provides one parallel job, 1,800 monthly minutes and a 60-minute job limit. Paid hosted jobs have a 360-minute job limit. The first hosted purchase removes the free-tier restriction on the existing lane; two concurrent hosted jobs require two paid lanes.

A parallel-job subscription is a concurrency meter

The published hosted and self-hosted prices buy concurrent pipeline capacity. Self-hosted parallel-job charges do not pay for the underlying machines, storage or operations. GitHub-hosted agent offerings and Azure DevOps user licenses have separate billing rules.

Pricing

Compare billing models, then price your workload

CPU allocation, memory, billing minimums, disk, plan fees, and supported workload differ. These meters are not equal-performance machine quotes. Confirm region, resource units, and included allowances before estimating a total.

Azure Pipelines

Pricing reviewed 2026-10-19

Microsoft-hosted parallel job
$40 per month
Paid hosted jobs retain a 360-minute per-job limit.
Rate source ↗
Additional self-hosted parallel job
$15 per month
One free lane is included; you supply execution infrastructure.
Rate source ↗
Enabled hosted free tier
1,800 minutes/month; one parallel job
Private-project jobs can run up to 60 minutes; enable the grant through the documented billing setup.
Rate source ↗

Prices describe Azure DevOps Services concurrency, not a VM resource-hour tariff. Self-hosted compute, artifacts and other services remain separate. Public projects are being retired, with existing public projects converting in 2027; check the organization’s effective grant.

Check current Azure Pipelines pricing ↗

Sandbox0

$0.015/GiB-hour compute (billed by the second at approximately $0.000004167/GiB-second), plus $0.02/GiB-month of retained incremental RootFS and memory checkpoint data. Shared base images and platform recovery retention are excluded; paused sandboxes accrue storage charges only.

Compute / GiB-hour
$0.015
Retained data / GiB-month
$0.02
Paused compute
$0.00

A 4 GiB agent, 100 running hours

$6.00 compute

4 GiB × 100 hours, billed by the second. Keeping 20 GiB of billable incremental data for a full billing month adds $0.40. CPU is derived from memory by the platform; choose a tier that fits your workload.

Understand storage billing →

Before migrating from Azure Pipelines

  1. Inventory hosted versus self-hosted jobs, OS dependencies, concurrency, job duration, artifacts and approval controls.
  2. Integrate a compatible Linux worker with Sandbox0 and preserve CI orchestration, credentials and explicit job cleanup.
  3. Test returning system tools, RootFS growth, paused files, job isolation and the combined pipeline/runtime/storage bill.

Common questions

Is Sandbox0 a drop-in Azure Pipelines replacement?

Evaluate API compatibility and product scope. These products serve different core workflows, so a change may require a different architecture.

Does keeping files also keep a running agent?

Filesystem state and volatile process state are separate. Sandbox0 requires explicit compatible memory checkpoints to preserve running processes; its default filesystem resume starts fresh processes.

Sources and review scope

The Boat team's Battleships directory is the discovery source. References below describe the product and plan discussed on this page. Check current availability, regional terms and billing units before migrating. Where the cited material does not establish a capability or price, the comparison identifies that uncertainty.

Related comparisons