Pricing

Four things you can buy.
Not four sizes of the same thing.

A free scan tells you what will not port. A fixed-fee assessment proves results match before your deadline. An annual contract keeps proving it afterwards. The platform is what you run on.

01Never paywalled

Compatibility scan

Free

Before anyone commits to a migration date, find out which parts of your estate have no equivalent on the platform you are moving to.

What you get back

  • A written portability review of the job definitions and source you send us, read by one of our engineers. No tool runs over your estate and nothing touches your AWS account.
  • Each construct we find that has no equivalent on the platform you are moving to, named, with what would have to change and roughly how much work that is.
  • An explicit statement of what we did not look at — how many jobs you sent, how many we got through, and what we skipped.
  • Yours to keep and circulate internally. No card, no contract, no scoping call first.

Where the scan stops. A scan reads definitions and source. It cannot demonstrate that your results still match — that requires executing the workload on both platforms and comparing the output, which is what the assessment does.

Move, then prove

The migration is a date. The risk is not.

One is a fixed-fee engagement that ends when you cut over. The other is an annual contract that starts there. Most teams buy them in that order.

02One-off engagement
Assessment
$12,500fixed scope · 10 workloads

Executed evidence that your workloads produce the same results on the target platform, delivered ahead of the date that is forcing the move.

Quoted against your date

A renewal, an end-of-support date, a cutover window, a deadline someone has already committed to. The price attaches to that event, and the scope is sized to land before it. Never hourly — no day rates, no time and materials, no change order for the same scope.

  • Up to 10 workloads executed on both the source and the target platform.
  • Row-level output comparison per workload: the assertion count, and every difference listed rather than summarised.
  • Wall clock on both sides, plus the resource consumption each platform reports for those runs priced at published public rates. That is an incremental estimate for the job itself — it excludes the shared infrastructure it also uses: control plane, node capacity outside the pod's requests, NAT, storage, logs and idle time.
  • One recommendation — proceed for the assessed scope, or do not cut over — with the reasons attached.
  • Every claim traced to a run id, an application id, and an account.

The deliverable is a report, so read one before you buy: the reference migration report and a sample portability assessment are published verbatim, zeros and all.

03Annual contract
Assurance
from $24,000per year

Continuous upgrade and regression assurance after the migration lands. The check that proved the cutover keeps running.

Priced by workloads watched

The annual figure scales with how many workloads are under watch, not with headcount or cluster size. We agree the set with you and quote the band against it. Bundled at the top platform rung.

  • Continuous equivalence checks on the workloads you nominate.
  • Re-run on the changes that break results quietly: runtime upgrades, platform versions, config and dependency changes.
  • The same evidence shape as the assessment every time — coverage counts, differences, recommendation.
  • Findings arrive before the change lands, not during the cutover window.
04Monthly · sales-assisted

Platform

from $750/month

Where the workloads actually run once they have moved. Spark dispatch on EMR inside your own AWS account, with preflight, policy and quota gates in front of every run and an audit trail behind it.

Pro
$750/month

Governed dispatch in your AWS account, preflight, policy and quota gates, per-run audit and failure diagnostics.

EnterpriseAssurance included
$2,000/month

Everything in Pro, plus Assurance bundled — the continuous equivalence checks from stage 03, included.

Card payments are not switched on yet. Our payment processor requires published Terms and a Privacy Policy before it will process live payments, and those go up first. Until then we set accounts up with you directly, at the prices on this page.

Compare

What is included where

CapabilityScanAssessmentAssurancePlatform
Portability review of job definitions and source
Constructs with no target equivalent, and what they cost to fix
Execution on both source and target platform
Row-level output comparison
Measured wall clock and resource consumption, both sides
Cutover recommendation with coverage counts
Re-checked on every runtime or config changeEnterprise rung
Governed dispatch in your own AWS account
Preflight, policy and quota gates before dispatch
Per-run audit trail and failure diagnostics
PriceFree$12,500 fixedfrom $24,000/yrfrom $750/mo

On a narrow screen, swipe horizontally to read the full table.

Evidence

What we have proven, and what we have not

Neutral execution evidence is the product. It would be a strange product to overstate.

Proven end to end

One runtime upgrade, executed on real AWS: one workload run on both EMR Serverless 6.15.0 and 7.5.0, compared row for row across 10 equality assertions — no differences. Then we seeded a rounding difference into the same workload, and the same comparator returned DO_NOT_CUT_OVER. A check that cannot fail proves nothing, so we published the failure too. The report names the application ids, the job run ids and the account they ran in. Those ids are in our AWS account, so you cannot resolve them yourself — what they give you is something specific to hold us to, and to check against the raw run records in diligence. Ask and we will walk them with you.

Not proven yet

That is one path and one workload. There is no catalogue of supported migrations behind this page, and no estate-scale inventory in our evidence — which is exactly why every report prints its own coverage counts, zeros included. If a number is not measured, the report says so instead of rendering a zero.

Read the full limitations
FAQ

Common questions

What counts as one workload?

One job definition: a single entrypoint — a spark-submit script, a notebook, one task in your scheduler — together with the arguments and schedule it runs under. A pipeline of five such jobs is five workloads. A job that runs every hour is still one workload. Both prices on this page key on this unit, so we agree the list in writing before either of us signs anything, and the list is named in the order rather than left to interpretation.

Do you do the migration, or only tell me it is broken?

We produce the evidence; we do not sell the rewrite. The assessment tells you what breaks, what has to change, and proves equivalence for the workloads we run — that is the deliverable, and it is the honest boundary of what a small team can commit to. If a scan comes back with forty blockers and you need hands on the code, tell us: we will be straight about whether we can help, and point you at someone who can when we cannot.

Which platforms have you actually moved between?

One, end to end: an EMR Serverless runtime upgrade from emr-6.15.0 to emr-7.5.0, on a single reference workload, in a real AWS account. That is the whole executed record and we would rather say so than deflect to a sales call. We do not publish a catalogue of supported paths because we will not list a path we have not run. Your pair is unproven until we run it — which is exactly what the assessment is for.

Why is the assessment a fixed fee instead of an hourly rate?

Because you are not buying hours, you are buying an answer before a date. The scope is fixed at 10 workloads and the deliverable is fixed, so the number does not move whether the answer takes us two weeks or five. No day rates, no time and materials, no change orders for the same scope.

What is a dated trigger, and why do you quote against it?

A licence renewal, a vendor end-of-support date, a contracted cutover window, a migration deadline someone has already committed to. The assessment is scoped to land before that date, and the price attaches to the event rather than to elapsed effort. If you do not have a date yet, start with the free scan.

What does the $24,000 band buy, and what happens past 10 workloads?

The $24,000 band is the entry set of workloads under continuous watch; beyond it the annual price steps with the number watched. We quote your band against your named list rather than publishing a ladder we would then renegotiate on every deal. Assessment overage past 10 workloads, contract term, and whether the $12,500 credits toward your first assurance year are all settled in the quote, in writing, before you sign — ask for them up front and you will get numbers, not a discovery call.

How do we actually pay you?

By invoice today. Card payments are not switched on yet, so every engagement is invoiced directly and we can work to your PO process. Nothing on this page is charged automatically, and no billing starts from reading it.

Is the scan actually free, or is this a quote in disguise?

Actually free. Send job definitions and source, get the review back. It is never paywalled and it is not a trailhead into a pricing conversation you cannot leave — plenty of teams will read it and decide not to move. That is a fine outcome.

Does SparkPilot need access to my AWS account?

A scan needs none — an engineer reads definitions and source you send us. Execution runs inside your AWS account through a cross-account IAM role you provision; job data and storage stay in your environment.

What happens after the migration lands?

That is Assurance. The migration is a date, but the risk is not: the next runtime upgrade can change your results just as quietly as the platform move would have. Assurance keeps the equivalence check running on the workloads you nominate.

Start where it costs nothing

Send us the job definitions and source for the workloads you are worried about. The scan comes back either way, and you will know whether there is a migration worth paying for.