The challenge
The analytics platform ran on Amazon Redshift, with a custom-built orchestrator and Jinja-templated SQL feeding Tableau. The team needed three things Redshift did not offer at the time: zero-copy clones for separate dev and prod environments, virtual warehouses to separate compute, and Time Travel for historical records. Rewriting the business logic was too risky, so the dashboards had to keep working throughout.
Delivery approach
We inventoried pipelines, dependencies, data volumes, owners, and business-critical outputs. Workloads were grouped by migration risk and modernization value.
Target models, tests, and reconciliation checks established whether the new system reproduced trusted business outputs, not just whether jobs completed.
The Jinja-templated SQL moved into dbt models largely as it was, and Dagster replaced the custom orchestrator. Keeping the business logic unchanged kept the risk low.
Zero-copy clones gave the team full dev and prod environments without copying data, virtual warehouses separated workloads, and Time Travel made historical records available on demand.
Runbooks, coding standards, review patterns, and architecture decisions were documented so the internal team could operate and extend the platform.
How it worked
Results
Amazon RedshiftSnowflake
Dagster
dbtJinja
Tableau
- SQL
Python
- CI/CD
What this demonstrates
Moving existing logic onto the right platform delivers new capabilities quickly, without rewriting the business rules.