Jobs cost pennies.
Infrastructure is the bill.
SparkPilot deploys the infrastructure your Spark jobs run on, shuts down idle capacity, and governs every run that touches it. Per-run reconciliation against your AWS bill is in early access.
- Deploys a dedicated EKS + EMR cluster with Spot-first executor capacity — or connects to the cluster you already run in minutes via CloudFormation Launch Stack.
- Governs before it spends: IAM simulation (EMR on EKS today; see limitations), policy and quota gates, and a budget hard-block that stops an over-budget run before dispatch.
- Stops idle spend with AWS-native controls and reconciles per-run cost against your CUR (early access) to prove what you saved.
Coming soon: billed-truth reconciliation GA, verdict CLI + CI check, Airflow & Dagster providers GA, agent-safety API.
checks:
- iam_simulation: passed
- irsa_binding: passed
- spot_capacity: passed
- budget_guardrail: BLOCKED
reason: "Team Q3 spend would exceed $12,000 limit"
action: "Reduce executor count or request budget increase"
status: rejected_before_dispatch
estimated_cost_usd: 0.00What you can review before rollout
Start with a live demo, then use pilot artifacts to align technical, security, and buyer stakeholders.
Walk through submission, preflight, run tracking, and diagnostics with your team and workload shape.
Redacted screenshots and run summaries are shared during active pilot evaluations.
Short onboarding and run-operations clips are coming soon.
What teams replace in week one
Platform teams running Spark on shared EKS clusters hit the same operational bottlenecks. SparkPilot replaces manual run prep with a governed workflow.
Core capabilities for pilot and rollout
These are the capabilities teams use first. Each card includes an availability label so teams can plan rollout clearly.
IAM, IRSA, OIDC, resource quota, and Spot capacity checks run before a single byte moves. Bad configs are blocked with clear remediation steps.
Each run records an estimated cost and reconciles against AWS Cost and Usage Report data in Athena when CUR integration is configured.
Tenants, teams, environments, and runs are fully scoped. Each environment gets its own namespace, IRSA bindings, and resource quotas.
Role-based access is enforced across SparkPilot APIs, with team-environment scopes, budget guardrails, and audit events for key control-plane actions.
Set monthly budget limits per team with warn thresholds — and a hard block at the budget line that stops an over-budget run before dispatch.
When a run fails, SparkPilot classifies the cause such as OOM kill, Spot interruption, S3 access denied, timeout, or user error.
How SparkPilot handles run operations
Teams submit through the API or CLI (Airflow and Dagster providers in preview). SparkPilot manages dispatch, state reconciliation, and diagnostics so operators do not stitch together raw AWS calls.
Polls for queued runs and dispatches them to EMR on EKS today. Manages concurrency limits and environment-level queueing.
Continuously polls EMR for job state changes and writes structured transitions from accepted to running to succeeded or failed.
Manages environment lifecycle for BYOC-Lite today. Full BYOC (VPC + EKS + EMR Terraform) is a roadmap item.
One control plane for EMR on EKS, Serverless, and EC2
SparkPilot routes submissions to EMR on EKS today, with beta coverage for EMR Serverless and EMR on EC2. Databricks routing is planned as a coming-soon extension.
Native EMR virtual cluster on your EKS cluster for production Spark workloads.
Planned routing to an EMR Serverless application. Dispatch client exists; end-to-end provisioning, reconciliation, and cancel propagation are still being validated.
Planned step-submission routing to existing EMR on EC2 clusters. Dispatch client exists; the reconciler and cancel path do not yet route to this engine.
Planned support for Databricks Jobs API routing from the SparkPilot control plane.
From pilot kickoff to rollout in five steps
Align on one workload family, success criteria, and owner roles before setup starts.
Open the pilot guideCreate the cross-account IAM role and OIDC association. SparkPilot validates trust, permissions, and namespace prerequisites.
BYOC-Lite connects to your existing EKS cluster quickly. Full BYOC provisioning from Terraform modules is on the roadmap.
Encode submission patterns as versioned templates, including Spot configurations, Graviton preferences, S3 paths, and Spark baselines.
Compare pilot results against your success criteria, then move to production rollout with the same control plane.
Use SparkPilot from orchestrators, terminal, or API
SparkPilot supports workflow engines and engineer-first interfaces, so teams can adopt it through existing DAGs, CI pipelines, and terminal-driven operations.
Preview: SparkPilotSubmitRunOperator with full deferrable trigger support, installable from source for pilot DAGs — sync or async.
Preview: native @asset definitions and ops for run submission, polling, and cancellation, installable from source.
Engineers can submit, inspect, cancel, and tail runs from terminal workflows without opening the dashboard.
Teams integrate SparkPilot into internal portals and automation through authenticated REST endpoints, including OAuth2 client_credentials for machine clients.
Airflow and Dagster providers are in preview, installable from source today. API and CLI interfaces are provided for active pilot workflows and automation.
What you don't get with DIY or EMR Serverless
DIY gives you primitives. EMR Serverless removes cluster management. Neither gives you a multi-tenant control plane with built-in governance.
| Capability | DIY on AWS | EMR Serverless | SparkPilot |
|---|---|---|---|
| Preflight IAM/OIDC validation | |||
| Multi-tenant namespace isolation on EKS | |||
| Per-team cost attribution (estimates today; CUR reconciliation in early access) | |||
| Budget guardrails with a pre-dispatch hard block at the budget line | |||
| Spot diversification validation at preflight | |||
| Airflow and Dagster providers (preview) | |||
| Kubernetes-native control plane | |||
| No infra management required |
On mobile, swipe horizontally to view the full table. This table shows what SparkPilot adds beyond base AWS primitives.
Common questions, honest answers
We outline tradeoffs so your team can choose the right path.
Why not build it yourself?
130 to 250 hours to reach parity. 40 to 80 hours of ongoing maintenance per month. An honest cost accounting of DIY EMR on EKS.
Read the breakdownWhy not EMR Serverless?
Cold-start latency, no persistent clusters, no YuniKorn, no BYOC. When Serverless is the right answer, and when it is not.
Read the tradeoffsStart with a guided pilot
Map one workload family to a governed execution proof-of-concept with clear success criteria, owner responsibilities, and rollout options.