云(云计算)已经发展。首先我们有 IaaS(基础设施:租一台空电脑)。然后是PaaS(平台:租一个环境来运行你的代码)。我们现在生活在BaaS:后端即服务的时代。
但这到底是什么?它只是一个流行词还是软件开发领域的一场真正的革命?
BaaS 的定义
后端即服务是一种外包应用程序幕后工作的模型。 您无需编写代码来创建登录系统、数据库或文件服务器,而是使用公司提供的现成 API。
想象一下您要建造一座房子。
- 没有 BaaS:你制作砖块,砍伐木材,铺设电线。
- 使用 BaaS:您购买现成的砖块、现成的窗户,只需要担心组装房屋和装饰。
包装中包含什么?
典型的 BaaS 服务提供 99% 的应用程序需要的“基本套件”:
- 身份验证:使用电子邮件、Google、Apple、Facebook 登录。会话管理和密码恢复。
- 数据库:一般是实时的(Realtime Database)。您在这里更改一条数据,它会出现在另一个用户的屏幕上。
- 存储:文件托管(个人资料照片、PDF)。
- 云功能:运行小型业务逻辑代码的空间(后端[无服务器1)。
- 推送通知:向您的手机发送消息。
主要参与者
- Firebase (Google):巨人。极其完整、易于使用,但价格可快速扩展,并且拥有专有的 NoSQL 数据库。
- Supabase:开源挑战者。它提供了 SQL 数据库(Postgres),这让那些来自关系世界的人的生活变得更轻松。没有供应商锁定(如果您愿意,您可以在其他地方托管)。
- AWS Amplify:亚马逊的答案。功能强大,与整个AWS生态系统集成,但学习曲线较高。
- Appwrite:另一个开源选项,专注于简单性和 [Docker2´。
优点
- 上市速度:您可以在几天内推出您的 [MVP3 ](最小可行产品)。
- 较小的团队:前端开发人员可以交付完整的应用程序(全栈),而无需后端专家。
- 自动扩展:如果您的应用程序火爆,BaaS 可以处理它(您只需支付账单)。
缺点
- 供应商锁定:您被“困”在平台上。以后从 Firebase 迁移到 SQL 很困难。
- 有限控制:您无权访问服务器操作系统进行细粒度优化。
- 大规模成本:对于大型应用程序,它可能比拥有自己的基础设施更昂贵。
结论
BaaS 不是“玩具”。它是一个合法且强大的架构。它使软件开发民主化,使创作者能够专注于产品和用户体验,将无聊的基础设施留给那些了解该主题的人。
另请阅读
- [后端即服务 - 公司的良好实践4
- [后端即服务 - 初学者的良好实践5
- [应用程序后端:小团队不能犯错误的良好实践6
- [Rest API 什么 E7
- [Rest API 是什么 - 逐步举例8
- [REST API:它是什么以及实践步骤9
