Cut the cost of your longest jobs.
Never restart one again.
Run lean on AWS. Your jobs never restart.
You pay for the peak. You use a fraction of it.
Jobs are provisioned for peak memory and spend most of their runtime far below it.
An interruption loses hours of work, so discounted capacity goes unused.
A job that fails at hour 20 of a 30-hour run costs a full day of throughput.
Checkpoint. Move. Resume.
RunLean captures the full state of a running container and restores it elsewhere. To the job, nothing happened.
Job runs
Your container runs unchanged on EC2 — same image, same command, same data paths.
Checkpoint
Memory, processes and open state are captured to durable storage on S3 and EBS.
Move
On interruption or a resize decision, the checkpoint is placed on different capacity.
Resumes right-sized
Work continues from the checkpoint on an instance matched to real usage.
The application is not modified and the job does not restart. No SDK, no code changes, no re-architecting your pipeline. The process resumes from the exact point it was checkpointed.
What actually changes on the instance.
The gap you pay for
A 30-hour job is provisioned for its worst minute. The shaded band is memory you are billed for and never use. RunLean provisions against the actual curve instead of the ceiling.
What a checkpoint captures
The full execution state is written to durable storage in your own account — then rebuilt on different capacity. The application never learns that it moved.
An interruption at hour 20
Without checkpointing, a reclaimed instance costs you everything computed so far. With it, the job picks up where it left off — which is what makes discounted capacity usable at all.
Stepping down as the job shrinks
Memory demand is not flat across a run. Once a job can move, each phase can sit on the instance it actually needs instead of the one the heaviest phase required.
Built for the jobs that run for hours.
Genomics & NGS secondary analysis
Per-sample variant calling is sized for the largest sample in the cohort. Most samples never approach that ceiling.
CI/CD build farms
Agents hold large instances for the whole suite while compilation and test phases have very different footprints. Idle headroom is billed all run.
Single-node analytics
Actuarial, clinical and econometric jobs that can't be distributed. One join or pivot sets the memory ceiling for the entire run.
EDA & semiconductor verification
Multi-hour solves with sharp memory spikes late in the flow. A failure near the end restarts the whole stage.
Quantitative finance batch risk
Overnight windows are fixed and unforgiving. Interruption risk rules out discounted capacity entirely.
CryoEM & structural biology
Refinement runs for many hours with stage-dependent memory. Peak-sized instances sit underused for most of the job.
CFD & FEA simulation
Sweeps launch many long solves of uneven size. Every one is provisioned for the heaviest case.
See the order of magnitude. Then get real numbers.
Move the inputs to see an indicative annual range for your batch compute. This is a directional model, not a quote.
Only the portion spent on long-running batch jobs.
Longer jobs benefit more — there is more runtime spent below peak, and more work at risk from an interruption.
Roughly what fraction of requested memory the job actually uses on average. Lower utilisation means more recoverable headroom.
Indicative annual range
Equivalent to roughly 9–23% of the batch compute spend you entered.
- Recoverable headroom is derived from the utilisation you entered — the gap between requested and actual memory.
- Longer jobs are modelled as capturing more of that headroom, because more runtime sits below peak.
- The range assumes a portion of the workload becomes eligible for interruptible capacity once jobs no longer restart.
- No allowance is made for checkpoint storage, data transfer, or engagement fees.
- Figures are annualised from the monthly spend you entered, with no growth or seasonality.
Indicative only. This is a directional model based on the inputs above — not a measurement of your environment, a quote, or a guaranteed result. Your actual figure depends on your workload mix and instance families.
The Assessment replaces this estimate with measured requested-vs-actual figures from your own workloads.
One week. Read-only. Real numbers.
What you receive
- Requested vs. actual memory and CPU, per workload
- The headroom available on your current instance choices
- Which workloads are candidates for interruptible capacity
- A prioritised shortlist ranked by effort against impact
What it requires
- Read-only access — we make no changes to your environment
- One week of elapsed time, not a week of your team's time
- No agent in your application and no code changes
- A short kickoff call and a walkthrough at the end
What it costs to try
- Scoped and fixed before we begin — no open-ended engagement
- The findings are yours whether or not you proceed
- No commitment to the Platform to run the Assessment
Where RunLean fits — and where it doesn't.
Good fit
- Long-running batch jobs measured in hours, not seconds
- Single-node workloads that can't easily be distributed
- Memory-spiky runs where peak sizing wastes most of the runtime
- Throughput work where completion time matters more than latency
Not a fit
- Interactive services — anything a user waits on in real time
- Databases and stateful services with continuous client connections
- Hard latency SLAs where a resume window is unacceptable
- Very short jobs — there is no runtime to recover
Questions we get from platform teams.
Does my application need to change?+
What happens on a Spot interruption?+
Does the job restart?+
Which workloads are not a good fit?+
Is my data safe?+
What access do you need for the Assessment?+
How long does the Assessment take?+
Do I have to commit to the Platform afterwards?+
Find out what your longest jobs are really costing you.
Bring one workload and its instance type. We'll tell you honestly whether checkpointing and right-sizing would change your bill — or whether it wouldn't.