SITUATION
Looker was very helpful for our data scientists because its LookML feature made it easy to build data models, even with many dependencies. It also allowed our business users to explore and analyze data on their own, making self-service analytics simple with easy slice-and-dice features.
However, Looker is expensive. For our team, the cost was $48,000 every year based on the number of accounts we had.
= 40 × 100 × 12
= USD 48,000
Even though we liked using Looker, our company wanted a cheaper solution. After looking at other tools, we chose dbt to replace LookML and Apache Superset to replace Looker Studio.
TASK
As the data engineering team, my main tasks were:
- Create a new dbt project.
- Migrate Looker views to dbt models.
- Set up and configure Apache Superset as our new data visualization tool.
ACTIONS
Create a new dbt project
To save costs, we chose to use free and open-source tools. For dbt, we used dbt-core (the free version) instead of dbt-cloud.Dbt Project Architecture
We created a new repository in GitLab and set up GitLab CI/CD pipelines to run dbt-core. This lets us automatically build our data models in BigQuery without extra costs.
We built two CI/CD pipelines:
- Staging pipeline: For testing and validating new changes.
- Production pipeline: For deploying changes to production.
You can see the details of our CI/CD setup in the images below.
To automate building all dbt models on a schedule, we set up an Airflow DAG.
For documentation, we serve dbt docs as a Kubernetes deployment and use Istio for ingress, so our team can easily access the latest documentation.
Migrate Looker views to dbt models.
The migration process was quiet easy, and i've created a separate page for it:
https://ilyas-ahsan.blogspot.com/2025/05/how-we-automatically-convert-looker.html
Set up and configure Apache Superset as our new data visualization tool.
We compared several tools to replace Looker Studio. Our top choices were Metabase and Apache Superset. We chose Apache Superset because it offers a free caching feature, which helps reduce the workload on BigQuery, especially since most dashboards only need daily data updates.
For installation, we followed the official guide for setting up Superset on Kubernetes: https://superset.apache.org/docs/installation/kubernetes




