一起聊聊 Supabase 如何构建其平台工程策略

简介: 【9月更文挑战第4天】Supabase 是一家开源 PostgreSQL 数据库基础设施提供商,被视为 Google Firebase 的替代方案。该公司采用不断演进的平台工程策略,为其开发团队提供高效的应用开发工具。自2020年起运营的 Supabase 通过整合与自动化内部开发平台,显著提升了生产力。平台工程师 Samuel Rose 加入后,进一步正式化和扩展了这一策略,结合自有产品与行业标准工具,实现了更高效的开发流程。目前,Supabase 的平台工程成果显著,为开发者提供了更好的自助服务和支持。

Supabase 分享其平台工程经验和见解,因为它进一步完善和构建其开源 PostgreSQL 数据库基础设施应用程序,该应用程序与 Google 的 Firebase 竞争。

译自How Supabase Is Building Its Platform Engineering Strategy,作者 Todd R Weiss。

平台工程不是终点,而是一个不断改进、创新和实验的演进过程,旨在为开发团队提供一致、经过测试且高效的应用程序开发工具。这是大多数公司开始其平台工程策略时的计划,也是开源PostgreSQL数据库基础设施应用程序供应商Supabase的持续工作方式。

Supabase 自称为Google 移动和 Web 应用程序开发平台 Firebase 的开源替代方案,几年前就开始使用平台工程。该项目始于公司意识到,为其大约 50 名开发人员构建自己的内部开发平台 (IDP)将使公司能够整合、标准化和自动化其开发应用程序,从而提高团队的生产力、代码质量和其他优势。Supabase 自 2020 年开始运营。

“它随着时间的推移而不断发展,”Supabase 的平台工程师Samuel Rose在 2024 年 2 月加入公司后告诉 The New Stack。“他们已经做了一些类似的事情,并且 [开始] 将每个人都在做的事情正式化,将其转变为一个角色,我们可以在整个公司中对此负责。”

“Supabase 一直采用不断发展的平台工程方法,但我被聘用是为了在整个组织中将其正式化并扩展,”Rose 说。“我们将继续每周对其进行改进,并且已经在公司不断发展的平台工程策略中取得了巨大进展。”

Rose 说,公司的平台工程项目源于许多团队的 IT 管理员和开发人员共同努力,为他们的工作创建平台工程方法。“需求越来越大,以至于 Supabase 需要至少聘用一名全职人员来推动它向前发展,”这就是他加入公司的原因。

Rose 解释说,导致这些决定的因素是 Supabase 不断增长的客户群以及在管理构建、测试和发布流程方面不断增长的技术复杂性。他还补充说,公司“希望在我们的内部平台上使用和利用我们的产品,只要它有意义”。

“我在这个行业工作了 20 多年,”Rose 说。“Supabase 四年前成立,在经过四年的工作和扩展之后,这家公司现在成长到满足这些需求是相当自然的。在 Supabase,我们使用自己的产品,并将我们的一些组件作为工具用于我们的内部平台。”

Supabase 并没有从头开始构建和创建其平台工程策略。相反,它从预先构建的平台工程工具推荐开始,这些工具来自Cloud Native Computing Foundation (CNCF)等组织的示例云原生景观概述,Rose 补充道。

“我们的平台与那些平台工程方法非常吻合,”他说。“但我们在平台中使用了一些我们自己的产品,包括我们自己的 API 和以 Postgres 为中心的开发,”而不是使用预构建推荐网格中提供的一些现成或软件即服务组件。

这种定制的平台工程方法非常适合 Supabase,使公司能够将内部工具与其他行业标准工具结合起来构建应用程序。

“主要目标是将我们正在使用的现有构建块用于平台工程,并将它们整合、自动化,并为每个人提供更坚实的基础,”Rose 说。“这并不是一种非常传统的平台工程方法,但它非常适合公司。它随着时间的推移而不断发展。”

Rose 表示,为了实现这一目标,Supabase 目前正在围绕某些标准和某些工具进行整合。

“有时人们谈论平台工程时,他们指的是采用整个平台,这实际上就像其他人编写的某种软件,并将所有东西都放在里面,就像一头扎进游泳池的最底部,”Rose 说。“我们并没有真正这样做。我们 [也使用] 我们自己的工具。” Rose 说,这些平台工程工作是 Supabase 开发工作和流程的自然产物。“所以,他们很容易看到这种需求——在我参与之前,他们就开始着手这项工作。我一直与他们合作,我们……将它变成了现实,就做你所说的平台工程而言,它已经进入生产阶段。它还在进行中。”

Supabase 内部开发者平台包含什么

为了给开发者提供构建 Supabase 应用所需的工具,该公司的 IT 管理员围绕少量开发应用构建了他们的平台工程平台。

Rose 说:“我们尽量节俭,这样就不会造成 [问题],因为如果你不断地往篮子里扔工具,你最终就需要管理所有这些工具。”“所以,我们在这方面很谨慎。我们大约有五到七种主要的组件,我们尽量整合和利用尽可能多的现有系统。”

Supabase 的 IDP 中包含的工具包括:

  • 开发者控制平面: Supabase 利用内部维基、GitHub、Terraform和Pulumi。该公司还使用基于Docker的自定义工具和其他相关工具在本地运行其平台,以及其 SaaS 后端即服务产品,该产品也可以在本地运行。
  • 集成平面: Supabase 使用 GitHub Actions、Nix 包管理器/Debian 包、Docker、Amazon S3 和自托管的 Nix 二进制缓存。此外,它还使用 Humanitec 的平台编排器和内部自定义应用程序。
  • 安全平面: Web 应用防火墙 (WAF)、AWSGuardDuty、Google云平台入侵检测系统 (IDS)、AWS Secrets Manager、AWS EC2 Instance Connect 和其自身工具(在某些情况下)。
  • 监控和日志记录平面: Vector、Sentry、BigQuery、VictoriaMetrics 和其自身的Logflare 工具。
  • 资源平面: Supabase 主要使用 AWS 和 GCP 平台中内置的工具,以及战略性地使用其自身产品来管理元数据、集群等。

到目前为止,其平台工程工作的结果对 Supabase 来说很有希望。

Rose 说:“其中一件事是,它为我们提供了一种途径来管理为客户提供更好的 Postgres 新版本。”“我们团队内部的人员可以 [创建] 他们所谓的确定性构建,他们可以构建一次,就不需要再构建了。这是我们正在为平台工程创建的新平台的一部分。[你] 可以反复使用它,除非你改变了什么,所以它可以减少构建时间,并有助于确保系统之间可重复。过去,这很难做到。”

Rose 解释说,通过使用 IDP,开发者可以专注于他们的代码,完成他们的工作,然后继续进行下一个项目,而不必花费宝贵的时间来配置、收集和维护他们的开发工具。“我们已经到了很多开发者可以自助服务他们大部分需求的阶段,同时拥有对监控和测试的安全访问权限,并支持生产部署。”

相关文章
|
人工智能 缓存 开发工具
结合企业实践来规范你的Git commit(含插件使用指南)
结合企业实践来规范你的Git commit(含插件使用指南)
结合企业实践来规范你的Git commit(含插件使用指南)
|
运维 Cloud Native 安全
阿里平台工程的发展历程与关键实践
什么是平台工程,怎么在企业内落地平台工程,云效负责人陈鑫在2023云栖大会上,结合云效过去在阿里内部十多年的经验和在各大企业的实践,给出了非常详细的解答。
3754 3
|
XML Java Maven
【Maven技术专题】「实战开发系列」盘点Maven项目中打包需要注意到的那点事儿
【Maven技术专题】「实战开发系列」盘点Maven项目中打包需要注意到的那点事儿
312 1
|
6月前
|
安全 OLAP 数据库
拒绝等待!阿里云瑶池数据库 x Qwen3,构建增强式RAG
阿里云瑶池 Dify on DMS + AnalyticDB 现已支持通义千问 Qwen3 全系列模型的私域部署,并提供独占模型服务,实现高效安全的 GraphRAG 业务应用及大模型应用开发解决方案。
|
3月前
|
关系型数据库 OLAP 数据库
免费试用|Vibe Coding正当时,AnalyticDB Supabase极速开发爆款应用
云原生数据仓库AnalyticDB PostgreSQL版重磅推出Supabase托管版本
|
存储 人工智能 自然语言处理
Lindorm作为AI搜索基础设施,助力Kimi智能助手升级搜索体验
月之暗面旗下的Kimi智能助手在PC网页、手机APP、小程序等全平台的月度活跃用户已超过3600万。Kimi发布一年多以来不断进化,在搜索场景推出的探索版引入了搜索意图增强、信源分析和链式思考等三大推理能力,可以帮助用户解决更复杂的搜索、调研问题。 Lindorm作为一站式数据平台,覆盖数据处理全链路,集成了离线批处理、在线分析、AI推理、融合检索(正排、倒排、全文、向量......)等多项服务,支持Kimi快速构建AI搜索基础设施,显著提升检索效果,并有效应对业务快速发展带来的数据规模膨胀和成本增长。
|
11月前
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模板),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、丰富的组件库和灵活的布局设计,适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业快速实现数字化转型。
完全开源!国内首个完全开源JAVA企业级低代码平台
|
12月前
|
前端开发 JavaScript API
2025年前端框架是该选vue还是react?有了大模型-例如通义灵码辅助编码,就不用纠结了!vue用的多选react,react用的多选vue
本文比较了Vue和React两大前端框架,从状态管理、数据流、依赖注入、组件管理等方面进行了详细对比。当前版本和下载量数据显示React更为流行,但Vue在国内用户量增长迅速。Vue 3通过组合式API提供了更灵活的状态管理和组件逻辑复用,适合中小型项目;React则更适合大型项目和复杂交互逻辑。文章还给出了选型建议,强调了多框架学习的重要性,认为技术问题已不再是选型的关键,熟悉各框架的最佳实践更为重要。
6853 1
|
运维 Kubernetes Devops
平台工程:它是什么?谁来做?怎么做?
大家可能听说过平台工程,这是一个新术语,它为开发和 DevOps 领域中本已拥挤的角色集合增添了新内容。 在这篇文章中,我们将介绍平台工程、它与 DevOps 的区别以及为什么你可能考虑采用平台工程以及谁需要拥有平台工程的能力。