在本篇Q&A中,专门研究移动应用开发的Gartner总监Gordon Van Huizen,与记者共同探讨了后端即服务(BaaS)的趋势以及存在的问题。他们的对话内容已做过编辑处理,方便阅读。
记者:能为我们简要概述后端即服务吗?
Gordon Van Huizen:当我们谈到移动应用开发时,我们通常关注于移动设备本身,例如,谈话的大部分都是关于HTML 5和本地化。但是大多数移动应用也需要网络的另一边资源:用来存储数据,也就是说管理用户,支持推送通知、以及利用地理定位服务。
事实上,构建一个功能齐全的移动应用,往往取决于是否能够支持这些后端功能。为满足这种需要,一类新的平台即服务(PaaS)已经出现,许多平台即服务在市场上被称为后端即服务,因为这些产品以云托管模式,提供了所需的后端功能。
它们通常通过Web访问[应用接口(API)],但是Web API通常也附有移动设备平台的[软件开发工具包(SDK)],例如iOS和Android。利用这些SDK,云服务提供常见的后端,可用于多个设备平台编写的应用。
很多产品是由较小的供应商提供,或作为独立的产品或作为更广泛移动应用平台的一部分。但是一些规模较大的服务产品也进入了市场,比如微软提供的Azure移动服务。大概在几个月前,Salesforce.com也进入市场。并且有趣的是,Facebook最近收购了一家叫做Parse的小公司, Parse是领先的品牌之一,如果可能的话,你将成为移动后端即服务领域中的佼佼者。
记者:非常有趣的是,Facebook在移动后端即服务领域中,已经遥遥领先,你认为后端即服务的显著优势是什么?
Van Huizen:对我来说,后端即服务的优势来自于几个不同方面。首先,这些云移动后端服务提供了预编译的开箱即用功能,否则的话,就推送通知来说,可能需要大量的定制开发配置,需要设置多个推送通知服务器来处理Android和iOS等。
但是,正如许多形式的云服务一样,后端即服务减轻了应用厂商的负担,应用厂商负责部署移动应用,从他们那里可以购买、配置以及操作服务器基础设施。总体来说,后端即服务与云服务具有共同点,并且它们通常都很便宜——或者通常是免费的——这样的话,(更容易)起步,并且随着以后的采用和应用的成功,规模会不断扩大。
但是,正如我所提到的,因为后端即服务经常附有设备平台、具体的SDK,对于应用开发人员来说,后端即服务就像是客户端编程模型的自然扩展。因此他们不需要了解我们的服务器端编程模型或不同的编程语言。他们只是突然有额外的功能,可以利用移动应用。
简而言之, 通过尽可能地抽离后端,使得构建及交付移动应用变得更加容易。
记者:在后端即服务方面企业面临着哪些障碍?
Van Huizen:这是一个大问题。存在很多障碍,其中一些障碍相对比较明显,其中一些障碍不那么显著。
其中较为明显的,许多供应商的规模相对较小,这意味着他们不可能永远存在。他们可能会被收购,他们可能被那些你不想与之做生意的人所收购。所以在某种程度上,你的移动应用依赖于一个给定的云后端,在有需要时,你要准备好移动到另一个供应商。在接下来的几年,规模可能会有些波动。
与许多云服务一样,尽管低成本进入市场很诱人,但却有点不真实。尽管在表面上没有什么,但在很多情况下,或只是通过输入信用卡号, 随着程序的成功,成本就会大幅度增加。
因此,你需要了解成本随着使用如何增加。在商业环境中使用时,像企业中几乎所有的移动应用一样,你需要了解应用的价值,以及它为商业提供了什么,以一种你可以负担云后端持续经营费用的方式。
最后,可能还要考虑安全问题。安全问题的范围包括从云栈本身的安全到管理移动设备之间的数据移动、云以及你现有的企业系统的能力。
记者:这具有重大的意义。后端即服务与移动中间件有什么区别?
Van Huizen:这也是一个大问题。当然,在概念层面上,后端即服务与移动中间件发挥着相似的作用。毕竟,它们都提供后端功能。
但是,后端即服务与移动中间件之间仍然存在非常显著的差异,尽管这些差异可能会随时间的推移而减小。许多云移动的后端服务最初设计是用来支持[企业对消费者(B2C)]的情况,而无需大量使用企业后端,或者根本不需要使用任何类型的企业后端。
一部分原因是,它们通常不包括相关的一些功能与移动中间件,并主要在企业领域中不断发展。例如,它们往往不支持存储数据的同步服务,存储数据的同步服务需要在离线状态下或解决冲突时使用,[例如],几个用户尝试更新相同的产品记录或库存记录。
并且他们可能不直接支持企业驱动的安全需求。通常,Web应用和移动应用想要与企业内部的身份验证服务、企业身份管理资源等相链接。通常,现在的云移动后端服务不提供这样的链接。
随着时间的推移,我们期望看到云移动的后端服务能够解决这些问题,并为企业提供更好的支持。但是今天,云移动的后端服务大多数不提供大量的企业集成。
记者:一个后续的集成问题是:移动开发的后端数据与前端相连接,面临着哪些挑战?
Van Huizen:通常,无论从数据访问的观点来看,还是从过程集成的观点来看,移动中间件的另一个作用是,中间件可以作为企业系统的一个桥梁。因此,大多数云移动的后端服务还不直接支持,需要服务以及整合现有的企业资源,通过使用集成技术、企业服务总线等的一些其他方式。
但是,即使就算支持,无论后端系统是如何被带入方程,云移动的后端服务引入了一种新形式的安全挑战。任何时候只要企业数据、云服务和移动设备出现交叉点,就有可能泄露数据。数据泄漏可能发生在移动设备中以及那些通常不适用的环境中。
因此,在大多数情况下,想办法来管理这些交叉作用——是可取的,往往是有必要的。今天,主要是利用访问网关——网关不属于云服务产品一部分,但需要部署在企业边缘,作为移动应用来访问企业系统。
可以想象随着时间的推移,云服务厂商将提供某种形式的管理,至少提供一些审计和日志记录功能。但在今天,有人可能会说,这些交互作用的管理是留给读者的,作为练习。