Best Practices on Deploying BI/ Reporting Tools

The separation between dev and prod environments was actually one of the main reasons we switched from Mode to Looker. Allowing each analyst to work on their own branch and confirming things don’t break prior to merging has helped us mitigate a lot of issues around broken reports. The current workflow looks something like:

  1. Build and test dbt models locally
  2. Change references to tables in Looker to point to your local schema
  3. Run the Content Validator in Looker to ensure that everything still works. This is great for catching other reports that depend on the table you just changed.
  4. Change references back to prod schema, and deploy to master

This workflow is still a little clunky, but it’s worked pretty well for us so far. There are ways to programatically manage the schema reference switching between dev and prod, outlined in another discourse post here, but that didn’t work too great for us.

We also recently added a script that regularly validates all our user-facing content via the Looker API, and posts any errors in our #data-qa slack channel so we can quickly fix. Getting that in place has helped catch issues that slip through the cracks when deploying.

Hope that helps! We are definitely figuring out the best process for this ourselves, so I’m very curious to see how others have approached this problem.

3 Likes