选择MBaaS或BaaS平台需要仔细考虑

日期: 2017-06-26 作者:Joel Shore翻译:崔婧雯 来源:TechTarget中国 英文

从手持设备到基于服务器的数据,使用MBaaS或BaaS开发端到端的移动计算体验、应用和服务是快速并且安全的。

不久前,专为移动设备(智能手机,平板电脑或可穿戴设备)而设计的应用还被认为是一种自主的体验,这样的体验和Web或桌面应用不同,通常两者是松耦合不太相关的关系。这种互相孤立的理念在一定程度上是由当时技术上的限制所决定的,并形成了在隔绝的环境中开发单独的移动应用的做法,使用的工具——以及开发人员——也只专注在移动体验上。

时代已经改变。移动应用不再仅仅存在于隔离的环境中。如今,可能略微有些自相矛盾,移动体验在突飞猛进的同时,也开始融入到整个云的体系里。虽然移动领域已经成为无可争议的用户交互的卓越渠道,但它的开发反而不再是过去那样的完全独立的工作了。

正是因为移动开发开始融入到整个应用的创建过程中,长期以来的MBaaS(移动后端即服务)已经不再受欢迎,取而代之的是BaaS平台,后者更宽泛地涵盖了后端即服务。无论你怎么称呼它,为移动应用选择合适的开发平台比以往更加重要。供应商越来越多地用BaaS的名字来描述他们的产品,不再强调MBaaS这一术语,而仅仅将其保留在他们的营销材料中。我们将专注于BaaS。

为了更好地匹配技术能力和业务需求,我们必须了解技术,理解它的工作原理,调研关键特性,并将其全部组合在一起,从而做出明智的选择。

MBaaS技术解析

BaaS平台是一个具有两个组件的云开发架构。第一个组件是开发数字化移动体验的前端。它为开发人员提供了创建应用程序所需的工具和架构,这些应用程序是为各种屏幕大小、外形尺寸和操作系统而设计的。第二个组件是管理和操作服务的后端。它为移动计算和通信设备提供了中央化的方式——通常是通过API——来访问服务器、存储、数据库、处理逻辑和其他资源,这些应用程序需要以安全的方式进行互操作,并且和大型云环境的其他特性集成。

“BaaS实际上是一种中间件,开发人员使用这些中间件将各种移动设备类型和运行在云基础设施或本地的后台服务器上的服务和存储连接起来。”云咨询公司Hurwitz&Associates LLC总裁兼首席执行官Judith Hurwitz表示,“如今,你希望通过API的力量来构建这些连接。”

移动应用开发的一个明显的挑战是处理看似无穷无尽的目标设备和操作系统。 BaaS平台开发环境需要支持多种操作系统 ——Android,iOS和Windows 10 Mobile ——而这仅仅是个开始。在各自为政的Android世界中,设备制造商按照自己的时间表发布操作系统的更新,尽管Lollipop(v 5.x; 2014年11月),Marshmallow(v 6.x; 2015年10月)和 Nougat(v 7.x; 2016年8月)更新一些,但安装最广泛的版本仍然是KitKat(4.4版,2013年10月发布)。在受严格控制的iOS世界中情况并不是这样,根据苹果公司自己的数据,目前79%的设备正在使用这一代的iOS 10.x。苹果还在运行着BlackBerry 10操作系统的BlackBerry设备中添加了WatchOS。

除了操作系统的混杂之外,BaaS平台需要让开发者有能力为真实的屏幕像素的分辨率和物理尺寸构建用户体验。在Apple的产品中,iPhone屏幕像素的分辨率涵盖了一个很大的范围,包括640×960(iPhone 4)、640×1136(iPhone 5)、750 x 1334(iPhone 6和7)和1080 x 1920(iPhone 6 Plus和7 Plus)。不同的iPad分辨率也需要支持:760 x 1024、1536 x 2048和2048 x 2732。安卓手机和平板电脑也具有同样令人困惑的分辨率问题。

BaaS如何工作

BaaS被实现为一组工具,通过结合使用软件开发工具包(SDK)、API和可重用代码库,将移动应用与数据库,服务器和其他应用和服务连接起来。通过在移动设备和其他应用和服务之间进行交互,BaaS充当了一个能够管理所有手机的后端连接的中介,这样开发人员就可以实现最佳的用户体验。集成的实现可以通过使用REST API和接口与JSON结合的方式进行数据交换和应用集成。

所需的特性

架构选项不是特性,但是BaaS平台本身的设计上,存在两种非常不同的实现方法。

首先,BaaS平台及其所有的组成部分都集成到大型云平台供应商所提供的云服务中。由Amazon Web Services,Google Cloud Platform,IBM Bluemix和Microsoft Azure提供的综合BaaS环境,旨在将移动应用程序的开发工具集成到他们的云操作平台中。其思想是开发和测试可以轻松带来自动化的持续部署和持续的运维操作。

另外,一些BaaS平台供应商将自己的工具作为独立实体提供,与云平台或其所在的本地数据中心分开。他们的观点是,这些开发套件的独立性使它们具有高度的可配置性,并且更适合单独业务的独特需求。独立的BaaS平台是那些不接受公有云的企业的唯一选择,他们可以将其安装在自己的内部基础设施上。Forrester的应用程序开发和交付专业的首席分析师Michael Facemire强调,“全合一”和“自己动手”的方法同样有效。这是哪种方式更适合企业IT哲学的问题。
以下是选择BaaS平台时需要考虑的一些特性:

  • 当涉及到移动计算时,安全性和合规性是最重要的。随着移动技术在金融服务和医疗保健领域的应用越来越多,移动设备的内建加密以及对整个网络中所进行交易的过程进行加密是非常必要的。医疗保健行业必须遵守《健康保险流通和责任法案(HIPAA)》,该法案要求数据始终加密。
  • 认证以及用户注册,必须符合安全性要求。一个全面的BaaS平台应该包括用于新用户注册的服务,以及与OAuth兼容的对服务器资源的安全访问。它还必须支持其他的认证方法,包括指纹双因子识别——令牌代码通过文本发送到移动设备,然后再输入到笔记本电脑或台式计算机中,以及即将到来的生物识别技术,如面部和视网膜扫描。
  • 推送通知是后端服务将重要事件通知到移动设备所有者的能力。例如航空公司会对即将到来的航班发出警报,银行通知客户帐户余额已经低于预定金额,或者工厂车间对一组用户就装配线异常进行警告。
  • 数据管理是一种广泛的能力,包括读取、写入、搜索和查询任何类型的基于服务器的数据,包括格式化的、未格式化的和二进制的对象,比如视频。
  • 数据流是社交网络的一个关键方面,是处理实时流评论和活动的能力。一个例子是体育相关的应用程序,许多用户同时发布新的评论并且回复已发布的评论。
  • 让移动应用感知地点的地理定位能力,通常用于标记照片,但也可以用于个性化的用户体验。使用场景包括当用户接近某个零售商自己的(甚至是竞争对手的)店铺位置时,给其推送促销信息,显示当前位置的天气数据或基于邻近区域的搜索结果。
  • 分析捕获性能指标,并提供关于设备和应用性能、API效率和策略合规性的见解。
  • API管理为开发人员提供了一种一致并且安全的方法来创建和部署API以及控制访问。

底线

在云时代,几乎没有例外,每个应用都是移动应用。为了满足用户的移动体验,该应用必须具有吸引人的外观,使用方便,易于导航,并且无滞后时间响应。与驻留在云上或者本地服务器上的数据库的事务和交互必须是安全的,并且与桌面和Web应用的非移动体验同步。

实现这些需求需要构建一个移动应用程序,并且能够为不同的设备类型、多个操作系统和各种屏幕分辨率提供原生支持的接口。另一个需求是构建与私有以及第三方数据,以及由IT开发的,或者通过软件即服务订阅方式进行访问的应用和工作负载的集成。最后,需要管理这些流程的工具,以协助部署和提供性能监控。
MBaaS或BaaS平台是能够提供广泛工具的保护伞技术,让开发者能够创造出移动体验。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

Joel Shore
Joel Shore

新闻作者

相关推荐

  • 对话陈本峰:HTML5究竟给企业带来了什么?

    智能手机的普及,移动计算的应用,带火了HTML5技术。尤其,当我们看到微软朋友圈被“故宫与腾讯合作”的广告刷屏,我们不得不承认,HTML5技术确实很重要,但是HTML5究竟带来了什么,与以往移动技术有什么不同?

  • HTML5如何在企业中深入使用?

    据调查显示全球拥有490亿 在线设备,比人口数量多几倍,这说明平均每人拥有不只一部分在线设备。由此可见,全球移动生态系统是多么的庞大。

  • 垂直视频时代降临?

    移动手机正在推进水平视频格式向垂直格式的演进。但,是什么让大家改变外观呢?Matthew David探讨了该领域的趋势。

  • 移动后端即服务带给我们什么?

    移动后端即服务(MBaaS)是一种创建标准化架构方式,用来将多种类型移动设备链接到IT应用上。