




















前些日子,与同事有个讨论,才发现一直以来,我对于 BaaS 的定义与其他人都不相同(或者说,至少与业界不同),既然如此,倒不如写篇文章,谈一谈我心中的 BaaS 。
既然要谈 BaaS,那就自然的要先谈业界是如何定义 BaaS 的。这里我选择的是来自 CDN 领域的巨头 Cloudflare 的定义1
对于 CloudFlare 来说,他们认为:
后端即服务 (BaaS) 是一种云服务模型,在其中,开发人员外包 Web 或移动应用程序的所有幕后方面,仅需自行编写和维护前端。BaaS 供应商为服务器上发生的活动提供预编写的软件,例如用户身份验证、数据库管理、远程更新和推送通知(针对移动应用程序),以及云存储和托管。
用一副图来表示,
图中的「用户界面、客户端逻辑」是作为前端,由用户在本地完成的。这部分 BaaS 的服务商并不参与其中。
图中的 「数据库管理」、「云存储」、「用户鉴权」、「消息推送」、「托管」则作为 Backend ,由 BaaS 服务商提供支持。
我在很早之前的一篇文章中,提到过,我从 2014 年开始,就在使用一家国产的 BaaS 产品 —— LeanCloud 。而 LeanCloud ,也是我最早接触到的 BaaS 产品,正是 LeanCloud 帮我奠定了我对于 BaaS 的认知。
在我看来,BaaS 是这样的:
BaaS 就是 Backend as a Service ,而这里的 Backend 正是我们一般意义上的 Backend ,不仅仅包含于业界所定义的数据库管理、云存储、用户鉴权、消息推送、托管,还包括业务所需要的逻辑、一些涉及到业务的开放能力(比如短信)等原本由后端负责的工作。
相比于业界的认知,我对于 BaaS 的认知多出了「逻辑」这个部分。这个部分则代表了我自己对于业务的理解和其价值。
在 mBaaS (Mobile backend as a service) 阶段,很多的逻辑都是在用户的手机上完成,甚至于支付,都可以通过手机端的逻辑来完成(比如苹果的 IAP 和 Google Play 的 IAP),在这种情况下,服务端的逻辑虽然需要,但也不是那么必要,总有一些方式,可以在移动端绕过去。但随着原生 App 的式微,各种小程序、网页应用的诞生, mBaaS 的逻辑无法在小程序、网页应用中完成时,就会需要出现一些服务端的逻辑。
举个例子, 就很好说明服务端逻辑的重要性:
因为自己从事 BaaS 相关领域,所以,我个人的建议是,要大胆的使用,积极的使用。
原因也很简单,对于绝大多数企业来说,需要解决的问题不是性能问题,而是如何更快更好的让自己的业务可以正常的 Run 起来。如果你想要让你的业务可以更快的开始运转,那么 BaaS 会是你十分好的帮助。
固然, BaaS 存在技术绑定、功能不如自研后台更全面。但它可以让你构建业务的速度变快、更快、越来越快。
天下武功,唯快不破!
Reference
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。