随着LeanCloud等baas云服务的兴起,对于一个互联网创业公司而言,是否还需要专门的后端工程师?

一个典型的web app的架构如下:

客户端或者浏览器调用后端服务,进行数据的写入和读取。让用户通过互联网,完成信息的交换。

以一个b-s结构的web服务为例,其前后端基本架构大致如下:

前端主要负责用户界面的布局和交互处理,后端包括:

1. 后端业务逻辑处理
2. 与前端用户界面进行相关交互

而一个要运行在生产环节下的后端服务架构,应该大致是下面这个样子:

后端服务并不是直接对数据库进行写入和查询操作,每一次到达后端服务的请求,都附带着自身的业务逻辑。

虽然我们可以剥离某些与业务不是强关联的模块,增加一层公共服务。但是由于每个公司商业模式和运营需求的限制,业务逻辑的领域特性,会一直存在。

而现在的baas等服务,主要提供的是数据存储、实时消息、统计分析以及扩展组件等基础公共服务。有了这些服务,的确满足业务需求的情况下,降低后端服务的开发成本。

互联网的核心价值是:

平等,共享,透明,高度化的信息对称
快速和善变,强烈的交互式客户体验

信息(数据)和交互体验(前端ui)都很重要。

当然,随着baas服务的发展,对于业务逻辑不是很复杂的互联网应用,的确可以完全使用baas服务替代现有的后端服务。但是这样就会把后端逻辑变成一个黑盒。出了问题只能等待baas服务提供商解决。

对于创业公司而言,在选择类似的服务时,需要根据自身的业务形态和人员配备等,在前期的人员投入,后期的维护成本以及业务的最终形态,系统的扩展性,数据的安全性等方面,进行权衡。

而身处创业公司的后端工程师,也需要积极了解行业动态,如果使用baas服务能满足业务需求的,也就没有必要再去重复开发。

baas(Backend as a Service)

即软件即服务,如APICloud,LeanCloud。

paas(Platform as a Service)

即平台即服务,如google的gae,sina的sae。

laas(Infrastructure as a Service)

即基础设施即服务,如亚马逊的aws,阿里云,腾讯云,linode。

saas(Software as a Service)

即软件即服务,如云盘。