Backend as a Service
BaaS
Backend
Cloud
Desenvolvimento

后端即服务

云(云计算)已经发展。首先我们有 IaaS(基础设施:租一台空电脑)。

后端即服务

云(云计算)已经发展。首先我们有 IaaS(基础设施:租一台空电脑)。然后是PaaS(平台:租一个环境来运行你的代码)。我们现在生活在BaaS:后端即服务的时代。

但这到底是什么?它只是一个流行词还是软件开发领域的一场真正的革命?

BaaS 的定义

后端即服务是一种外包应用程序幕后工作的模型。 您无需编写代码来创建登录系统、数据库或文件服务器,而是使用公司提供的现成 API。

想象一下您要建造一座房子。

  • 没有 BaaS:你制作砖块,砍伐木材,铺设电线。
  • 使用 BaaS:您购买现成的砖块、现成的窗户,只需要担心组装房屋和装饰。

包装中包含什么?

典型的 BaaS 服务提供 99% 的应用程序需要的“基本套件”:

  1. 身份验证:使用电子邮件、Google、Apple、Facebook 登录。会话管理和密码恢复。
  2. 数据库:一般是实时的(Realtime Database)。您在这里更改一条数据,它会出现在另一个用户的屏幕上。
  3. 存储:文件托管(个人资料照片、PDF)。
  4. 云功能:运行小型业务逻辑代码的空间(后端[无服务器1)。
  5. 推送通知:向您的手机发送消息。

主要参与者

  • Firebase (Google):巨人。极其完整、易于使用,但价格可快速扩展,并且拥有专有的 NoSQL 数据库。
  • Supabase:开源挑战者。它提供了 SQL 数据库(Postgres),这让那些来自关系世界的人的生活变得更轻松。没有供应商锁定(如果您愿意,您可以在其他地方托管)。
  • AWS Amplify:亚马逊的答案。功能强大,与整个AWS生态系统集成,但学习曲线较高。
  • Appwrite:另一个开源选项,专注于简单性和 [Docker2´。

优点

  • 上市速度:您可以在几天内推出您的 [MVP3 ](最小可行产品)。
  • 较小的团队:前端开发人员可以交付完整的应用程序(全栈),而无需后端专家。
  • 自动扩展:如果您的应用程序火爆,BaaS 可以处理它(您只需支付账单)。

缺点

  • 供应商锁定:您被“困”在平台上。以后从 Firebase 迁移到 SQL 很困难。
  • 有限控制:您无权访问服务器操作系统进行细粒度优化。
  • 大规模成本:对于大型应用程序,它可能比拥有自己的基础设施更昂贵。

结论

BaaS 不是“玩具”。它是一个合法且强大的架构。它使软件开发民主化,使创作者能够专注于产品用户体验,将无聊的基础设施留给那些了解该主题的人。

另请阅读

  • [后端即服务 - 公司的良好实践4
  • [后端即服务 - 初学者的良好实践5
  • [应用程序后端:小团队不能犯错误的良好实践6
  • [Rest API 什么 E7
  • [Rest API 是什么 - 逐步举例8
  • [REST API:它是什么以及实践步骤9