Airflow 2 lost open-source security support on April 22, 2026. Read about the migration

Airflow 2 is out of support. Migration details

Past projects

2026

Airflow 2 to 3 migration

A fintech running its data pipelines on Astronomer.

DAGs
120
Platform
Astronomer
Duration
2 months

What broke

Mostly parameter checks. Everything else needed routine changes.

What changed

Operator imports updated in every DAG, providers upgraded for Airflow 3, and code that called the old REST API or the metadata database rewritten.

How parity was proven

Both versions ran side by side for 2 weeks, with outputs compared in Great Expectations.

Cutover

Rehearsed first, with Airflow 2 kept ready as a rollback.

2025

Snowflake to Postgres migration

A fintech handling customer PII.

dbt models
About 180
From
Snowflake
To
Postgres on RDS
Duration
About 2 months
Platform cost
About 40% lower

Why move

Snowflake spend was high for the workload, customer PII had to stay in the client’s own infrastructure, and the product needed low-latency queries a warehouse handles poorly.

What changed

Snowflake-only SQL (QUALIFY, FLATTEN, date and string functions) rewritten for Postgres, VARIANT columns and their queries moved to jsonb, and Snowflake-specific macros and packages replaced or adapted.

How parity was proven

Row counts and column-level values compared for every model, and the existing dbt tests passed on Postgres.

Result

Platform costs down about 40%, app queries faster, and PII stays in the client’s infrastructure.

2024

Retail analytics on Amazon EMR

A retailer selling in stores and online.

Duration
4 months
Platform
Amazon EMR
Orchestration
AWS Step Functions
Data
Sales, inventory, e‑commerce

What was built

Spark jobs on Amazon EMR over sales, inventory, and e-commerce data, an S3 data lake, and AWS Step Functions scheduling each run.

Analytics delivered

Seasonality, store clustering, lost sales, and size curves.

Keeping cost down

Clusters start for each run and shut down after, with task nodes on spot instances, so nothing idles between runs.

Since then

Still in production, run by the client’s team.

Start with a 30 minute call.

The call is free. Tell us what you run and where it hurts. If it’s not a fit, we’ll say so.

You’ll talk to John García, a data engineer with over 15 years building production pipelines.

Rather write? Leave a note and we’ll reply by email.