Serverless Alternative Apache Airflow

July 29, 2026

Do You Actually Need Airflow- Separating Orchestration from Execution?

Most searches for a "serverless alternative to Apache Airflow" are really two questions bundled into one, and separating them changes the answer. One question is about orchestration: scheduling, dependencies, retries, and monitoring, which is what Airflow is genuinely good at. The other is about execution: the infrastructure that actually runs the work, which is where Airflow's operational weight lives. You rarely need to replace the first. Many teams ultimately want to remove the second. Bauplan is the execution layer for AI-generated data changes: it runs Python and SQL pipelines on serverless compute, so you can keep your scheduler and eliminate the execution workers underneath it.

Teams reach for a serverless Airflow alternative when the DAGs are fine but the operations are not: keeping workers healthy, sizing executors, patching the deployment, and paying for capacity that sits idle between runs. The instinct is to replace Airflow. Usually the better move is to replace what runs beneath it.

TL;DR

  • "Serverless alternative to Airflow" bundles two separate needs: orchestration and execution.
  • Airflow is strong at orchestration: scheduling, dependencies, retries, monitoring. That part rarely needs replacing.
  • The operational burden is execution: workers, infrastructure, and the deployment you keep running.
  • Cloud options like AWS Step Functions and Google Cloud Workflows are serverless orchestrators, but they still orchestrate stateful workflows and change how you author pipelines.
  • Bauplan keeps your scheduler and removes the execution workers: Python and SQL pipelines run on serverless compute with nothing to operate underneath.

What Airflow Does: Scheduling, Dependency Management, Retries, Monitoring

Airflow is an orchestrator, and a mature one. It schedules work on time or events, resolves dependencies across a DAG, retries failed tasks, and gives you a UI to monitor runs and diagnose failures. For coordinating many tasks across many systems, it is a proven control plane, and a large number of data teams run their platforms on it.

None of this is the problem. If the question is "who decides what runs, in what order, and what happens when a step fails," Airflow answers it well. The reason people look for alternatives is rarely the orchestration itself.

What Airflow Requires: Workers, Infrastructure, YAML and Python DAG Definitions

The cost of Airflow is what it takes to run it. Airflow executes tasks through its configured execution backend (workers, executors, or Kubernetes, depending on deployment), and those workers are infrastructure you provision, scale, patch, and keep alive. You run a scheduler, a metadata database, and an executor model, and in production that is a system you operate and are on call for. Pipelines are defined as DAGs in Python, often with a layer of configuration around them, so authoring a pipeline also means authoring and maintaining its orchestration wiring.

This is the part that pushes teams to search for something serverless. Not "I want a different scheduler," but "I do not want to operate workers and infrastructure to run my pipelines." That distinction is the key to choosing the right alternative, because most alternatives replace the scheduler and leave you operating execution infrastructure anyway.

AWS Step Functions and Google Cloud Workflows: Serverless Orchestration, but Still Stateful Infra

The tools that rank for "serverless Airflow alternative" are mostly cloud orchestrators: AWS Step Functions, Google Cloud Workflows, and similar. They are serverless in that you do not run a scheduler cluster yourself, and for pure orchestration they remove real operational load.

They also change the shape of the problem in two ways. First, they are orchestrators, so swapping Airflow for Step Functions replaces one scheduler with another. You still need something to execute the actual data work, and that execution still runs in external compute such as Lambda, containers, or batch jobs, whether that is Lambda, a container, or a Spark job. Second, they run stateful workflow infrastructure with their own definition model, so you re-author your pipelines into Step Functions state machines or Workflows YAML, and you are now inside that ecosystem's idiom. For orchestration alone that can be a fair trade. It does not, by itself, get you out of running execution infrastructure, because these tools coordinate work rather than run your transformations.

Bauplan's Model: Keep Airflow or Dagster, Eliminate Execution Workers

Bauplan approaches the question from the execution side instead of the scheduler side. You keep the orchestrator you already have, Airflow, Dagster, Prefect, or Step Functions, and Bauplan replaces the workers and infrastructure that run the pipelines.

In practice, your orchestrator schedules and coordinates as it does today, and each task calls a Bauplan pipeline instead of running on a worker you operate. Bauplan executes that pipeline on ephemeral serverless compute, isolated on a zero-copy branch, and publishes the result atomically to Apache Iceberg tables in your storage. There is no Airflow execution worker to size, no executor to keep alive, and no execution cluster to patch. The scheduler stays. The execution infrastructure underneath it goes away.

This is the reframing the search misses. You do not need a serverless replacement for Airflow's scheduling. You need serverless execution beneath whatever scheduler you keep, and that is what removes the operational weight people are actually trying to escape.

Running SQL and Python Pipelines Without Airflow Workers

Running SQL and Python pipelines without Airflow workers is exactly what the split makes possible: keep Airflow for scheduling, and run the pipelines themselves on serverless compute with no workers in the path.

With a standard Airflow setup, a task runs on a worker you deployed. That worker needs the right dependencies, enough memory, and ongoing operation, and it sits idle between runs while still being infrastructure you own. With Bauplan, the Airflow task invokes a Bauplan pipeline, and the SQL or Python runs on serverless compute that spins up for the run and tears down after. Airflow still triggers it, orders it, retries it at the task level, and shows it in the UI. What disappears is the worker fleet underneath. You get Airflow's orchestration without execution infrastructure to operate, which is the combination "run pipelines without Airflow workers" is really asking for.

Replacing a Spark Cluster: Cloud Platform vs Execution Layer

A related version of this question is about Spark, not Airflow: teams running Airflow to orchestrate Spark jobs want to drop the Spark cluster, and the two common answers are a managed cloud platform or an execution layer, which are not the same thing.

Managed compute platforms such as Databricks or EMR, or managed data platforms such as Snowflake or BigQuery. You provision it, size it against expected load, and pay for it as a running resource, warm and metered even between jobs. The underlying compute is managed for you; it is not eliminated.

An execution layer removes the cluster from the picture entirely. Bauplan runs your Python and SQL transformations on ephemeral serverless compute, so there is nothing to size, nothing warm to pay for, and no Spark to tune. For pipelines that were Spark jobs mainly because Spark was the available engine, not because they needed distributed Spark specifically, this is the larger reduction: you replace both the Airflow workers and the Spark cluster with per-run serverless execution, and keep your orchestrator on top. The distinction is managed compute versus per-run serverless execution, the same way the Airflow question is reduced-infrastructure versus no-infrastructure.

Where Each Approach Sits

Dimension Bauplan Apache Airflow Step Functions / Cloud Workflows
What it is Serverless execution layer Self-managed orchestrator Serverless orchestrator
Solves Execution: running the pipelines Orchestration: scheduling and coordination Orchestration: scheduling and coordination
Execution workers None; ephemeral serverless compute per run Workers you deploy, size, and operate Delegated to Lambda, containers, or jobs you run
Infrastructure to operate None Scheduler, metadata DB, executors, workers Managed service, but execution infra is yours
Pipeline definition Plain Python and SQL functions Python DAGs plus config State machines or Workflows YAML
Replaces the scheduler No; keeps your orchestrator n/a Yes; a different scheduler
Data isolation Zero-copy branch per run, built in None native; depends on pipeline design None native; depends on execution target
Publication model Atomic multi-table commit on merge Depends on task and target Depends on execution target
Spark cluster Not required; serverless execution Common: Airflow orchestrates a Spark cluster Common: orchestrates a Spark or compute job
Works together with Runs beneath Airflow, Dagster, Prefect, or cloud orchestrators Can trigger Bauplan pipelines as tasks Can trigger Bauplan pipelines as steps

When to Replace Airflow, When to Keep It, When to Add Bauplan

Replace Airflow's scheduler only if orchestration itself is the problem: you want managed, serverless coordination and are willing to re-author pipelines into a cloud orchestrator's model. Step Functions and Google Cloud Workflows fit here, and they solve orchestration, not execution.

Keep Airflow when the DAGs and scheduling work and the pain is operational. Airflow is a capable orchestrator, and there is no need to migrate the scheduling logic you already trust.

Add Bauplan underneath when the burden is running execution workers and infrastructure. Keep Airflow for scheduling and run pipelines on Bauplan's serverless compute, isolated and published atomically. This removes the worker fleet and, where relevant, the Spark cluster, without touching your orchestration.

Frequently Asked Questions

Is Bauplan a replacement for Apache Airflow?

No, and it is not meant to be. Airflow is an orchestrator: it schedules work, manages dependencies, retries tasks, and provides monitoring. Bauplan is an execution layer: it runs the pipelines on serverless compute with isolation and atomic publication. Bauplan replaces the execution infrastructure beneath the orchestrator. Most teams keep Airflow for orchestration and use Bauplan to eliminate the worker fleet underneath it.

Can Bauplan work alongside Airflow?

Yes. This is the common setup. Airflow schedules and coordinates, and each task calls a Bauplan pipeline that executes on serverless compute, isolated on a branch and published atomically. You keep Airflow's scheduling, dependencies, retries, and UI, and you remove the execution workers and infrastructure you would otherwise operate. Bauplan integrates the same way with Dagster, Prefect, and other orchestrators.

What is a serverless alternative to Apache Airflow?

It depends on which part of Airflow you want to make serverless. For orchestration, AWS Step Functions and Google Cloud Workflows are serverless orchestrators, that coordinate stateful workflows. For execution, Bauplan runs your Python and SQL pipelines on serverless compute while you keep your existing scheduler, which removes the execution workers that are usually the real operational burden. Many teams find the execution side, not the scheduler, is what they actually wanted to make serverless.

Can Bauplan replace a Spark cluster used with Airflow?

Often, yes. If Airflow orchestrates Spark jobs mainly because Spark was the available engine, Bauplan can run those transformations as Python and SQL on serverless compute, with no cluster to size or keep warm. You keep Airflow for scheduling and replace both the Airflow workers and the Spark cluster with per-run serverless execution. Workloads that genuinely require distributed Spark are the exception worth checking case by case.