一款移动应用一旦需要后端服务的强大支撑时,开发商就必须考虑基础架构、服务集成、可伸缩性等繁冗复杂的问题。而在这些方面耗费的大量时间精力财力却不能直接提升App的用户体验。
为了解决这些问题,部分App发行商租用了譬如AWS(AmazonWebServices)的公有云服务,有的则部署内部专用的私有云服务。而移动开发团队越来越趋向于小规模化,架设需要高成本运营的服务器群或许并不是最好的方法,租用或免费使用后端云服务开始流行起来。
BaaS(后端即服务)悄然兴起
移动应用开发领域目前有一个BaaS(后端即服务:BackendasaService)的概念。BaaS是指为移动应用开发者提供整合云后端的边界服务。现在,BaaS生态系统正从一个小众垂直领域迅速成为非常重要的行业环节。
BaaS服务提供商的基础服务是数据/文件存储,主要帮助App开发者解决存储的问题。更进一步的集成服务则包括:账户管理、消息推送、社交网络整合、地理位置与广告等。BaaS分两种模式:一种是API模式,让开发者自己拓展代码;另一种是SDK模式,提供如iOS、Android及WindowsPhone等的SDK。
目前,国外比较知名的BaaS服务提供商是StackMob和Parse。在国内,TalkingData、友盟、Bmob、百度和新浪开放平台均有相关业务。
本文结合当下移动云服务热点,从移动应用后端支撑的角度为大家介绍相关产品:对于移动应用开发商来说,这些后端服务和产品你一定得有所了解。
1.StackMob
StackMob是一家提供移动应用后端服务的公司,成立于年1月,有人把StackMob称为移动版的Heroku。StackMob的创始人之一TyAmell,年从西北大学获得MIS专业的学士学位。-年间,他在知名的音乐分享网站imeem担任工程经理,负责移动和前端产品,经历了从0到万用户的全过程。他意识到,如果能够建立一个平台,帮助许许多多移动开发者提供后端云服务,便能够大大简化他们的工作。
StackMob
StackMob的云计算系统为App开发者提供实时分析、消息放送、Facebook/Twitter集成、AmazonS3集成、广告、地理位置、盈利等服务。开发者只需几十分钟,就可以通过Web界面勾勾选选,定制一个API架构,而且能很快在云端激活。StackMob支持Java、Ruby、Python、Lua和各种JVM语言。
StackMob支持iOS、Android以及HTML5平台。StackMob采用免费模式,入门是免费的,当使用平台的开发者开始有更多用户并挣钱后,会根据用户数、资源使用情况来收费。
2.Parse
Parse
Parse是由YC孵化出来的,专为移动应用提供后台服务的云计算平台,为开发者包办繁琐的后台服务,让开发者只需专注于具体的开发工作。它提供任意数据保存,照片或其它文件存储,发送推送通知,创建用户帐号,使用地理位置数据以及添加Facebook/Twitter帐号登录等服务。
Parse用户无需再费时费力地折腾Facebook帐号连接和推送通知等服务器端的功能,只需把相应SDK拖放到应用内即可。
BandoftheDay是苹果AppStore年度一款重量级的应用,它就使用了Parse的服务。此外,有些大公司也在使用Parse。
3.Kinvey
Kinvey
Kinvey同样是一个为移动应用开发者提供后台创建服务的平台。Kinvey成立于年,位于马萨诸塞州的剑桥市。Kinvey强调加速移动应用开发与销售的“即取即用”理念。Kinvey的中间层与数据层均托管在多个云服务提供商处,包括Rackspace、Amazon与Microsoft。所有通过Kinvey存储的数据都会有四种方式备份:AmazonEC2、WindowsAzure、Rackspace以及Kinvey自己的服务器,假如其中一两个出现了故障,用户的数据依然安然无恙。
4.Sencha.io
Sencha.io
Sencha.io号称“第一”个移动HTML5云,由Javascript网页开发框架提供商Sencha发布。这项服务允许应用开发者构建基于浏览器的应用而不用写服务器端代码或者管理托管代码。Sencha.ioData,Sencha.ioMessages,Sencha.ioLogin和Sencha.ioDevelopment是Sencha.io目前提供的服务。开发者只需要写很少的Javascript代码就能实现数据存储、信息发送、信息监听、应用部署或者使用Facebook、Twitter的账号登录。Sencha公司表示,他们的目标是将多用户和多设备功能整合到应用中去,帮助开发者减少从零开始写代码带来的负荷。
5.Bmob
Bmob
Bmob是国内第一家专注于移动应用云存储的平台,是基于PaaS模式的云计算平台。开发者可以使用Bmob设计存储框架、获取应用密钥、下载SDK并嵌入应用程序、调用相应API,应用发布后查看存储的统计分析数据,整个流程能够快速实现,并且Bmob的云服务是免费的。
6.AmazonEC2
AmazonEC2(AmazonElasticComputeCloud,亚马逊弹性云计算)是由亚马逊公司提供的Web服务,是一个让用户可以租用云电脑运行所需应用的系统。AmazonEC2虽然不属于严格意义上的BaaS体系,但它是国外最主流的云计算服务,拥有强大的生态系统和用户覆盖面,EC2甚至为中小型BaaS服务提供商提供基础设施租赁。EC2称得上广义的BaaS云服务。当下最热门的图片社交应用Instagram就是EC2平台的客户之一。
一款App一旦流行起来,发行商还需考虑在极大并发量情况下的数据处理问题。上周,Instagram宣布其月活跃用户数达到1亿,如果背后没有强大的后端云服务作支撑,是很难并发处理这些海量图片信息的。
AWS(AmazonWebServices):AmazonEC2与AmazonS3都架构在AWS平台上
Instagram于年在洛杉矶开始提供服务,创业时只有一台租赁的服务器,为了适应迅速发展的业务情况,Instagram较早地采用了EC2。
AmazonEC2是云计算IaaS(InfrastructureasaService,基础设施即服务)层面的佼佼者,Instagram创始团队在创业之初就意识到,只要他们能够在较早时期利用IaaS来构建系统,就没有必要像其他创业公司那样,将资金投放在存储器和服务器上了。
总结
归根结底,移动应用后端云服务的好处是帮助开发者简化工作。程序员们只需一心一意做产品,而不需要过多考虑后端的服务器程序。今后,做移动开发将会变得更轻松、更容易。