BaaS(Backend as a Service)是一种新型的云服务,旨在为移动和Web应用提供后端云服务,包括云端数据/文件存储、帐户管理、消息推送、社交媒体整合等。BaaS是垂直领域的云服务,随着移动互联网的持续火热,BaaS也受到愈来愈多的开发者的亲睐。它做为应用开发的新模型,能够下降开发者成本,让开发者只需专一于具体的开发工做。
BaaS是移动中间件的替代品(或者说备选方案),它使用统一的API和SDK来链接移动应用到后端云存储,传统的移动中间件经过本地的物理服务把后端服务集成到应用中。而BaaS经过云来集成后端服务。中间件和BaaS的最大不一样是它们是否包含或者提供云的服务,BaaS能够说是PaaS平台在移动垂直领域的延伸,更能够说是移动中间件和云的融合。而如今它们都在以不一样的形式来存在,云的优点很明显,那就是简单、成本低廉,中间件的优点是数据安全、易于扩展。因此从如今的趋势来看,它们不存在明显的取代关系,只不过可能之后BaaS的体量会更大。移动中间件将更多的被有能力的企业使用,同时也会有愈来愈多的中小型企业、开发者选择使用BaaS。
虽然BaaS属于PaaS的范畴,但二者也有区别。Quora上有人简要描述了两者的不一样,BaaS简化了应用开发流程,而PaaS简化了应用部署流程。PaaS是一个执行代码以及管理应用运行环境的开发平台,用户经过SVN或者Git之类的代码版本管理工具与平台交互,对于开发者来讲,PaaS就像是一个容器,输入是代码和配置文件,输出是一个可访问应用的URL。而BaaS平台进一步将用户需求进行了抽象,好比用户管理,开发者但愿建立用户数据库表(模型)后,客户端就能够经过Restful接口直接操做对应的模型,全部的操做均可以被抽象为CRUD。以前,开发者须要建立表、写接口、写校验,而在BaaS平台中,开发者只须要定义模型,平台就会自动生成对应的接口,这可让开发者更加专一具体的客户端代码。专门针对手机端的BaaS服务称为MBaaS,目前大多的BaaS平台都属于这一类。
随着移动互联网的发展,移动行业的分工也会像其它行业同样逐渐细化,后端服务就是这样被抽象出来,它统一贯开发者提供文件存储、数据存储、推送服务等实现难度较高的功能,以帮助开发者快速开发移动应用。在国外,BaaS服务已经受到巨头的重视,2013年4月,Facebook收购Parse;2014年6月,苹果发布了CloudKit;2014年10月,Google收购了Firebase。Parse、CloudKit、Filrebase都是国外知名的BaaS类产品,苹果和谷歌经过BaaS服务能够更好的完善其生态圈,Parse也能够帮助Facebook创建它在移动端的地位,从巨头们在BaaS方面的布局也能够看出BaaS的价值。整体来讲,BaaS平台的优点包括(来自搜狗百科):
提升效率:减小移动APP开发中各个环节的成本,提升效率。
缩短上市时间:减小从构思到制做过程当中的阻碍,并下降上线后的运营成本。
减小交付APP所需的资源:BaaS须要的开发者和IT资源更少。
针对手机和平板优化:BaaS供应商在优化移动APP数据和网络上花费了大量时间和资源,减小了跨平台和移动终端的碎片化的问题。
安全和弹性的基础设施:BaaS提供捆绑的基础设施,解决了弹性、安全性和性能等运营难题,让开发者专一开发。
大量的经常使用API资源:BaaS将经常使用和必要的第三方API资源汇总,省去开发者单独收集的麻烦。
在国内,提供BaaS服务的厂商也有不少,典型的表明有APICloud、Bmob、友盟,主要提供的功能包括社会化媒体集成、数据/文件存储、数据分析、消息推送、支付。以APICloud为例,它们主要提供的服务包括:
数据存储。用户能够经过可视化的界面设计数据库,包括建立Class、定义字段、录入数据等。同时,BaaS平台能够自动生成对应的Restful API,用户能够经过任何语言操做已有的API,另外,平台也内置用户系统、角色系统、文件系统、权限控制等模块。
数据推送。结合APP中的标签设置,针对不一样属性的用户推送差别化信息,包括定时推送、离线推送等。
版本管理。支持iOS及Android版本的同步或异步管理,在控制台内流程化进行开发和版本管理。支持增量更新,终端用户可在应用内进行更新。
数据统计。平台能够查看应用的新增用户以及活跃用户数据,并支持自定义事件统计。
从功能上看,国内的BaaS厂商(特指可以提供完整的平台能力的厂商)提供的功能大同小异,大都集中在推送、存储、统计方面。值得注意的是,这几个重点功能又有相应的厂商在作,好比文件存储的七牛和又拍、推送服务的极光推送、统计服务的友盟、及时聊天的环信,因此随着这块市场的成熟,BaaS平台在功能方面的重心应该是整合其它垂直云服务的能力。
从盈利模式看,都是向少部分用户收费。纵观目前面向开发者的公司,它们的盈利模式大可能是部分服务收费或者部分用户收费,如今的这几家BaaS厂商基本都是对部分高端用户收费。可是从云的发展趋势来看,接下来会有更多的中小型公司会使用BaaS服务,因此新一年BaaS平台也许会面向企业提供差别化的服务。
从竞争角度来看,因为BaaS在国内的总体份额都比较小,因此目前各个厂商都在全力扩展本身的用户基数,直接的竞争还谈不上。不过,目前市场的几家厂商侧重点也不同,好比APICloud提供的是端和云的能力,用户能够经过SDK开发跨平台的应用。
分析机构 MarketsandMarkets 报告 BaaS 市场到 2017 年将会达到 77 亿美圆,而 2012 年仅为 2.165 亿美圆,年增加率达到了 104%。预计在2015年BaaS服务会受到更多用户的亲睐,BaaS的发展趋势整体来看能够总结为以下几个方面:
出现更多的垂直云服务:随着技术的发展与市场需求,整个移动互联网行业发展的特色是更加的垂直、细分和专业,因此也会出现更多的垂直领域的BaaS服务提供商。
API云服务蓬勃发展:随着云和大数据的结合,业务层跟数据层结合的愈来愈紧密,移动APP更侧重界面的逻辑和表现,而APP所需的数据与服务都须要经过API的形式从云端获取,因此可以提供数据存储和App逻辑业务相关的API输出的数据云BaaS服务将会有更多的需求和发展。
知足自定义功能扩展:BaaS在提供标准服务的基础上,让开发者能够根据本身的产品和业务特色,经过在线配置和上传代码的功能来扩展自定义的功能,满中个性化需求。
成为行业移动化解决方案:随着移动互联网和愈来愈多的行业结合,BaaS服务以其简洁、高效、灵活、专业的特色,也会应用到各类行业的解决方案中,成为行业移动化解决方案中云端的支撑服务。
随着BaaS服务的成熟和稳定,基础服务功能使用专业的BaaS服务已经成为了移动应用开发中的常规选择,被愈来愈多的客户接受,2015年BaaS服务有更好发展。
以上内容由InfoQ编辑对APICloud CTO邹达的采访整理而成,如文中所述,APICloud是一家移动应用云服务提供商。数据库