我们能用一桶HTML文件替代价值15万美元的Looker吗?
像很多公司一样,我们为Looker付费。假设每年15万美元,平均Looker许可大约300个座位。我们是一家大约500人的公司的3名数据平台工程师,我们的大部分时间都花在不那么光鲜的工作上:保持Snowflake的正常运转,照顾一个已经经过2000个模型的dbt项目,以及运行底层的Airflow、Airbyte、DataHub和Kubernetes管道。今年2月,我们中的一位在旁边构建了一个东西来托管HTML文件。只花了一个下午。8个月后,它的每周用户数量已经和Looker相当,甚至可能更多,而Looker的用户减少了三分之一。科技影响者们不断发帖说软件已经死亡,还有一些人说他们已经取消并停止了所有的SaaS订阅。他们说AI将取代B2B SaaS。SaaS apparently 死亡了,那么我们能替代我们企业的BI工具吗?“自托管” GitHub仓库的份额与此同时,在Hacker News上,左边是被描述为“自托管”的新GitHub仓库的份额,右边是Hacker News评论中提到“ slop”的份额。1年前,我认为大多数AI输出都是垃圾,确实大部分都是。我们做了一些“与数据聊天”的演示,它们在一个只有4个表的玩具模式上看起来很不错,但在我们的规模上却从未真正奏效。SQL运行没有错误,但数字是错误的。那更糟。然后Claude Code与Opus 4.5变得非常优秀。真的,非常优秀。今年1月初,公司内的采用率 skyrocketed。它能在我们的仓库中工作并使用我们的工具。而且,它可以在回答之前运行查询来检查数字。这比得到一个听起来聪明的回答重要得多。几周内,从未打开过终端的财务、运营和营销人员都在全天候使用提示。突然之间,所有人都在提示,没有人点击。这时,Claude开始输出大量HTML。你会请求一个分析,然后你会得到一个带图表的单个文件,老实说,其中一些页面看起来比我们的Looker仪表板还要好。问题是它会保存在某人的下载文件夹中。为了分享它,他们会在Slack中附加它并希望得到回应。这远在Anthropic发布共享团队和企业文档(2026年6月)之前,我们真的需要一种共享这种新仪表板的方法。有一天,我们团队的Maddy说她会把它们全部放在一个网络服务器上,并使用一个内部域名。在一天结束时,她已经 vibe-coded了整个东西:一个小服务将文件存储在S3上,前面有SSO,还有(一些)测试。我们已经在Kubernetes上运行了一切,所以部署一个服务主要是添加一个Terraform模块和一个Helm图表。拥有所有这些管道使整个事情变得简单得多。她写了一个小的Python脚本,并将其打包在一个Claude插件中。用户会让他们的Claude写HTML,脚本会将其推到(通过SSO),公司内部的任何人都可以打开链接。最初,这些文件只是普通的静态HTML。今年3月,我们想,为什么不呢?于是加入了一个使用查看者的Snowflake OAuth代币的实时查询API:年度最佳决定。结果表明,我们不需要编写权限模型。Snowflake早已有一个。它有角色,我们维护了多年,如果Snowflake说你不能读取销售表,那么仪表板也不能读取。到4月,Snowflake OAuth是唯一的登录方式。人们喜欢它,这对BI行业来说是个令人尴尬的原因:仪表板实际上看起来不错。Looker的一个模块只是一个有固定图表类型和固定色彩的框,看起来和其他任何Looker模块都一样。丑陋,毫无个性。通过摆脱僵硬固定模块,我们的用户可以生成自由格式的HTML,并通过提示直到它看起来整洁。他们爱死了这个。4月传入的电子邮件和Slack导出,5月增加了参数,周观看者从3月的23上升到6月的136。高管团队开始传播链接。人们也让这个工具更具个性。他们发现了我们从未想到的用例,将仪表板设置为按计划自我更新,添加按钮,并创建了一些不可能在任何BI工具中实现的奇特设计和用户体验。此时,安全性很差。真的很糟糕。仪表板JavaScript在与您的会话相同的来源上运行,没有任何权限,每个员工都可以读取每个仪表板。这基本上是一个巨大的XSS漏洞:任何仪表板都可以作为打开它的任何人运行代码,并以他们的名义提取数据。我们知道这一点,但我们还是发布了它,因为它是内部的,位于VPN和SSO后面,其他工具无法完成这项工作。
阅读全文 →本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡