BaaS后端即服务取代移动中间件 已成兵家必争之地

MBaaS是架构在PaaSSaaS中间一个新的生态圈(Ecosystem),将所有撰写App最常用到的伺服器后端程式整合然后部署在云端上面。MBaaS这个名词其实是从Backend as a service(BaaS)前面加上一个“M”演变而来。M就是Mobile的意思,也代表了这个新云端架构主要是针对数以百万计的App开发人员所量身打造。如果以传统大家所认知的云端三层架构来看,MBaaS是架构在PaaSSaaS中间一个新的生态圈(Ecosystem)

 

BaaS

MBaaS发展现况与未来趋势

MBaaS是透过提供异质移动平台SDK(Software development kits)跟公开的云端APIs(Application programming interfaces)来与网站与App做资料交换以及储存。目前最常见的应用有使用者管理(User management),讯息推播(Push notification)以及社群网站介接(Social networking integration)等等。

为什么说MBaaS是整体移动产业发展必然的趋势?其实我们可以从一个App开发过程来了解。移动开发大致上分成”前端使用者经验设计”及”后端伺服器程式开发”两大部份,对于大部份的新创移动开发公司来说,公司规模都不大,主要的开发成员大多将时间投资在处理前端使用者界面的互动上面,对于伺服器后端的开发大都采外包的方式进行。对于开发一个完整规格的移动App来说,从撰写,测试,部署及维护,顾用一个相当有经验的后端伺服器程式设计师在美国的行情大概是时薪150美元,整体专案成本从10,000美元到200,000美元,时程花费二至六个月不等,成本相当昂贵,所以就有人提倡将所有撰写App最常用到的伺服器后端程式集成然后部署在云端上面。一方面不需要重新撰写重复的程式逻辑,加速上线时间,再者由于云端的延展特性可以随着App流量不断的成长而继续给予稳定性支援,所以不管是对于新创公司或是大型App应用都逐渐开始利用MBaaS的方式进行开发。

笔者在截稿前国外知名的MBaaS公司ParseFacebook8,500万美元并购,国外的知名研究机构MarketsandMarkets更大胆的预测MBaaS2017年将来到7.7亿美元的市场价值,再再显示MBaaS这个市场未来相当具有潜力。

应用程序编程接口(API)市场引入新的研发项目——后端即服务(BaaS),为开发商提供了一个新方法:利用云服务支持未来移动应用程序。移动、移动宽带和移动应用正在改变互联网及人们沟通各使用信息的方式。对于开发商而言,移动应用程序意味着巨大的、利润丰厚的新市场。而对于企业,移动平台利弊共存。每个移动平台都有各自的API技术架构。移动平台开发API通常分为两类:平台API指的是移动设备自有的操作系统和中间设备,服务API指的是访问web主机所需的资源。

API中的新机遇后端即服务,是服务API模型的扩展。BaaS的目标是将移动应用常见的、有用的元素,如存储、身份管理、社会网络集成、图像增,强转换为具象状态传输(REST)Web服务,根据应用程序调用的需要,将这些服务传递到移动应用后端。

概念上,BaaS与软件即服务(SaaS)和平台即服务(PaaS)类似:都为Web提供了一种服务功能。SaaS所提供的是应用程序或者应用程序组件,Salesforce.com的CRM应用是一个很好的例子。PaaS提供一系列的服务,可以构建一套完整的虚拟操作系统,微软的Windows Azure是最著名的PaaS例子。BaaS介于两者中间,它可以提供和PaaS一样的功能,但却不是一个完整的编程平台。像SaaS一样,具有面向市场或者应用于各行业的功能。不过,在所有情况中,BaaS最终的目的是提升移动开发。

实施BaaS

成功的BaaS需要有针对性的商业案例和谨慎的实施与展望来支持移动开发实践。如今大多数BaaS采用覆盖许多领域的横向部署,可以处理众所周知的问题例如社交网络集成。随着着这些类型BaaS的实施而来的问题是如此明显,那就是不可避免的竞争,如此基础的东西以至于区分是很难的。例如,云计算供应商很有可能转移到存储和用户识别相关的BaaS服务中,社交网络公司也会提供社交网络BaaS集成功能。垂直市场中开发人员已具备了技能、人脉和软件产品,此市场对于BaaS新机遇非常有用。在水平市场中,数据分析和还原工具,或者预测和规划工具是BaaS良好的选择。

从技术上讲,BaaS关键问题是要保持REST Web服务模型接口的优势。这些接口呈现出一个简单的PUT或GET事务处理模式,但并不会一直保持在调用的处理状态中。多数PUT/GET方法显示出了他们自己的服务API,作为RESTful 接口,这些接口使用XML数据结构来接收和响应。XML处理是一件琐碎的事情,然而,在每个目标移动设备中,接受一个简单的数据结构或者提供编程逻辑来重复使用该界面都会有所帮助。

创建一个BaaS服务,拥有正确功能级别的粒度,也同样重要。移动用户通常希望设备能够快速响应一个请求,而且有一些接口时间问题:将具有较长执行时间的复杂功能转移到一个单独的服务上是不合适的。因为RESTful接口预计是无状态的,因此在把复杂功能转化为一系列可以单独使用的元素时要高度注意,但是当需要时这些功能又可以聚集到一起。每个请求必须是独立的,并且可以将数据反馈给特定的需求。如果稍后还会需求,就必须将其存储到设备中,或者通过设备返回、维护并更新。

传递PaaS方法

或许,对于开发商而言BaaS最重要的一面是与PaaS间的关系。任何因搜索、社交网络或者云管理面想起API的开发商都知道,多个API通常会形成一个生态系统,如果该系统发展的足够强大,就可以实现平台功能,例如PaaS。一些无关联的BaaS API也不那么令人信服,例如,整个BaaS系统都旨在支持企业间的移动社交网络协同运行。例如,流行的开源博客和聊天室工具可以建立在统一的交流和协作平台上,通过增强API来进行语音和视频对话。

BaaS将会引出移动开发后台服务的系统化观点,该观点实际目的是要创建一个移动导向的PaaS平台。开发商、运营商和企业都需要考虑这种发展状况,因为与个人API相比,BaaS工具的协作和共生收集对于开发商和消费者会更有价值。BaaS活动会促进开发商对云计算的关注,这意味着会实现更快的服务和增加手机厂商间的竞争。但是像云计算的潮流一样,BaaS还处于前期阶段,其中尚存在一个完成的移动世界。

一款移动应用一旦需要后端服务的强大支撑时,开发商就必须考虑基础架构、服务集成、可伸缩性等繁冗复杂的问题。而在这些方面耗费的大量时间精力财力却不能直接提升App的用户体验。

为了解决这些问题,部分App发行商租用了譬如(Amazon Web Services)的公有云服务,有的则部署内部专用的私有云服务。而移动开发团队越来越趋向于小规模化,架设需要高成本运营的服务器群或许并不是最好的方法,租用或免费使用后端云服务开始流行起来。

BaaS(后端即服务)悄然兴起

移动应用开发领域目前有一个BaaS(后端即服务:Backend as a Service)的概念。BaaS是指为移动应用开发者提供整合云后端的边界服务。现在,BaaS生态系统正从一个小众垂直领域迅速成为非常重要的行业环节。

BaaS服务提供商的基础服务是数据/文件存储,主要帮助App开发者解决存储的问题。更进一步的集成服务则包括:账户管理、消息推送、社交网络整合、地理位置与广告等。BaaS分两种模式:一种是API模式,让开发者自己拓展代码;另一种是SDK模式,提供如iOS、Android及Windows Phone等的SDK。

目前,国外比较知名的BaaS服务提供商是StackMob和Parse。在国内,Talking Data、友盟、Bmob、百度和新浪开放平台均有相关业务。

本文结合当下移动云服务热点,从移动应用后端支撑的角度为大家介绍相关产品:对于移动应用开发商来说,这些后端服务和产品你一定得有所了解。

1. StackMob

是一家提供移动应用后端服务的公司,成立于2010年1月,有人把StackMob称为移动版的Heroku。StackMob的创始人之一Ty Amell,2004年从西北大学获得MIS专业的学士学位。2007-2009年间,他在知名的音乐分享网站imeem担任工程经理,负责移动和前端产品,经历了从0到120万用户的全过程。他意识到,如果能够建立一个平台,帮助许许多多移动开发者提供后端云服务,便能够大大简化他们的工作。

StackMob

StackMob的云计算系统为App开发者提供实时分析、消息放送、Facebook/Twitter集成、Amazon S3集成、广告、地理位置、盈利等服务。开发者只需几十分钟,就可以通过Web界面勾勾选选,定制一个API架构,而且能很快在云端激活。StackMob支持Java、Ruby、Python、Lua和各种JVM语言。

StackMob支持iOS、Android以及HTML5平台。StackMob采用免费模式,入门是免费的,当使用平台的开发者开始有更多用户并挣钱后,会根据用户数、资源使用情况来收费。

2. Parse


Parse

是由YC孵化出来的,专为移动应用提供后台服务的云计算平台,为开发者包办繁琐的后台服务,让开发者只需专注于具体的开发工作。它提供任意数据保存,照片或其它文件存储,发送推送通知,创建用户帐号,使用地理位置数据以及添加Facebook/Twitter帐号登录等服务。

Parse用户无需再费时费力地折腾Facebook帐号连接和推送通知等服务器端的功能,只需把相应SDK拖放到应用内即可。

Band of the Day是苹果App Store 2011年度一款重量级的应用,它就使用了Parse的服务。此外,有些大公司也在使用Parse。

3. Kinvey


Kinvey

同样是一个为移动应用开发者提供后台创建服务的平台。Kinvey成立于2010年,位于马萨诸塞州的剑桥市。Kinvey强调加速移动应用开发与销售的“即取即用”理念。Kinvey的中间层与数据层均托管在多个云服务提供商处,包括 Rackspace、Amazon与Microsoft。所有通过Kinvey存储的数据都会有四种方式备份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的服务器,假如其中一两个出现了故障,用户的数据依然安然无恙。

4. Sencha.io


Sencha.io

号称“第一”个移动HTML5云,由Javascript网页开发框架提供商Sencha发布。这项服务允许应用开发者构建基于浏览器的应用而不用写服务器端代码或者管理托管代码。Sencha.io Data,Sencha.io Messages,Sencha.io Login 和Sencha.io Development是Sencha.io目前提供的服务。开发者只需要写很少的Javascript代码就能实现数据存储、信息发送、信息监听、应用部署或者使用Facebook、Twitter的账号登录。Sencha公司表示,他们的目标是将多用户和多设备功能整合到应用中去,帮助开发者减少从零开始写代码带来的负荷。

5. Bmob


Bmob

是国内第一家专注于移动应用云存储的平台,是基于PaaS模式的云计算平台。开发者可以使用Bmob设计存储框架、获取应用密钥、下载SDK并嵌入应用程序、调用相应API,应用发布后查看存储的统计分析数据,整个流程能够快速实现,并且Bmob的云服务是免费的。

6. Amazon EC2

(Amazon Elastic Compute Cloud,亚马逊弹性云计算)是由亚马逊公司提供的Web服务,是一个让用户可以租用云电脑运行所需应用的系统。Amazon EC2虽然不属于严格意义上的BaaS体系,但它是国外最主流的云计算服务,拥有强大的生态系统和用户覆盖面,EC2甚至为中小型BaaS服务提供商提供基础设施租赁。EC2称得上广义的BaaS云服务。当下最热门的图片社交应用Instagram就是EC2平台的客户之一。

一款App一旦流行起来,发行商还需考虑在极大并发量情况下的数据处理问题。上周,Instagram宣布其月活跃用户数达到1亿,如果背后没有强大的后端云服务作支撑,是很难并发处理这些海量图片信息的。

(Amazon Web Services):Amazon EC2与Amazon S3都架构在AWS平台上

Instagram于2010年在洛杉矶开始提供服务,创业时只有一台租赁的服务器,为了适应迅速发展的业务情况,Instagram较早地采用了EC2。

Amazon EC2是云计算IaaS(Infrastructure as a Service,基础设施即服务)层面的佼佼者,Instagram创始团队在创业之初就意识到,只要他们能够在较早时期利用IaaS来构建系统,就没有必要像其他创业公司那样,将资金投放在存储器和服务器上了。

总结

归根结底,移动应用后端云服务的好处是帮助开发者简化工作。程序员们只需一心一意做产品,而不需要过多考虑后端的服务器程序。今后,做移动开发将会变得更轻松、更容易。

移动信息化交流QQ群:一号群:211029692 二号群:344692795 CIO交流群:316076815(需认证)

移动化问答社区:wenda.yidonghua.com



1 星2 星3 星4 星5 星 (还没有打分,快来打分吧!)
Loading...
 
已有 0 条评论
返回顶部

无觅相关文章插件,快速提升流量