挑战: Bunny 是一家致力于简化计费和 RevOps 的 SaaS 公司,他们面临一个难题。他们希望为用户提供一流的分析功能,但从头开始构建分析平台既困难又耗时。他们需要一个可以部署在自己的服务器上、清晰呈现数据且无需与另一个数据库同步数据的工具。
解决方案: 他们选择了 Metabase,因为它能够以他们期望的方式展示数据,并且他们能够在自己的服务器上运行 Metabase。Bunny 利用 Metabase 的功能来控制谁可以查看哪些数据,并使嵌入式图表和仪表盘看起来像是他们自己的品牌。
结果: 通过将 Metabase 嵌入到他们的 SaaS 产品中,Bunny 能够为客户提供出色的分析功能(内置隐私和定制化),同时让他们的技术团队专注于打造他们产品的独特性。
“Metabase 为我们的产品提供了一个关键组件,它为我们的客户提供了直观的分析功能,同时让我们的工程团队能够专注于对我们业务至关重要的其他方面。”
Thomas Pedersen
Bunny 首席执行官兼联合创始人
Bunny 嵌入 Metabase 以在其 SaaS 应用程序中提供面向客户的分析。作为二次创业的 SaaS 创始人,Bunny 团队已经知道构建自己的分析引擎是不值得的。他们已经清楚地知道他们想要向客户展示哪些分析。他们也知道他们希望工程师专注于产品开发,并且他们正在寻找购买的解决方案。他们在选择供应商之前就已经确定了他们想要提供的各种仪表盘,这使得选择过程变得更加容易。Bunny 的一位工程师研究了他们已经知道并且有经验的解决方案,以及一些新的竞争者,其中包括 Metabase。
“我们选择 Metabase 是因为我们可以将其部署在我们的服务器上,并且可视化选项在功能和完成度方面都满足了我们的需求。” - Thomas 说。
Bunny 团队特别不希望将数据同步到另一个供应商的数据库,原因有几个:延迟、带宽、数据隐私和数据模式迁移挑战。Metabase 直接部署在他们在 AWS 上的服务器上,这为他们提供了他们所寻求的性能和灵活性。
Bunny 将他们的服务托管在 AWS/Postgres 的两个不同分片中;一个用于开发人员,一个用于生产。由于所有数据都是在客户注册或销售人员创建交易和订阅时直接在 Bunny 中创建的,因此没有单独的 ETL 工具。Metabase 在单独的只读 Postgres 副本上运行,以便将分析查询与事务性工作负载分离。
Bunny 团队依靠 Metabase 中的数据权限来控制其每个租户可以在 Metabase 中看到的内容。Bunny 用 tenant_id
标记所有记录,当有人通过 SAML 登录 Metabase 时,应用程序会传递此 ID。此 ID 告诉 Metabase 每个客户可以浏览哪些数据。
Bunny 还对 Metabase 进行了白标化,以通过自定义颜色、徽标等来匹配他们自己的用户界面。
在构建 SaaS 产品时,在构建什么和购买什么之间存在许多权衡。Bunny 希望能够为他们的客户提供世界一流的分析功能,而无需在构建和维护永远无法与 Metabase 这样的最佳产品相媲美的分析功能上投入大量工程资源。通过嵌入 Metabase,Bunny 现在可以将其工程资源集中在改进其核心产品上,从而使自己领先于竞争对手。