移动应用后端开发云服务概览

后端开发是一个复杂且昂贵的过程。 在开发移动应用程序时,通常会受到不合理的更多关注。 没有道理,因为每次你都必须实现移动应用程序的典型场景:发送推送通知、了解有多少用户对促销感兴趣并下订单等。 我想要一个解决方案,使我能够专注于对应用程序重要的事情,而不会在实施不重要的事情时失去质量和细节。 还有这样的解决方案!

此类服务称为移动后端即服务 (MBaaS)。 与手动开发相比,在他们的帮助下创建后端的过程得到了简化。 这节省了雇用单独的后端开发人员的费用。 MBaaS 提供商负责处理与服务器稳定性、负载平衡、可扩展性和其他基础设施复杂性相关的所有问题,这一事实使人们对所获得的结果的质量充满信心,这也是此类服务的主要优势。

在本文中,我们将介绍几个经过验证的大型服务:Microsoft Azure、AWS Amplify、Google Firebase、Kumulos。

移动应用后端开发云服务概览

我们将考虑服务的要点:后端和分析功能、服务集成的复杂性、操作的可靠性和稳定性以及定价政策。 让我们浏览一下每项服务,并根据这些标准记下它们的功能。

微软Azure

移动应用后端开发云服务概览

微软Azure — 基础设施即服务 (IaaS) 是一项包含成熟 BaaS 功能并有助于为移动应用程序创建后端的服务。

工商管理服务

微软Azure 具有用于为移动应用程序创建后端的全套功能。 处理推送通知、自动缩放、数据同步、与社交网络集成等等。

Azure 的一个重要功能是服务器的地理位置。 它们位于全球 54 个地区,这增加了选择适合您的延迟的服务器的可能性。 由于一旦出现问题,只有某些区域最容易受到影响,因此可以假设区域越多,最终出现“不稳定”的可能性就越小。 微软声称拥有比任何其他云提供商更多的区域。 这绝对是一个优点。

移动应用后端开发云服务概览

Google Analytics(分析)

该服务提供实时监控应用程序性能并收集崩溃报告的能力。 从而使您能够立即定位并解决问题。

同样在 Azure 中,您可以使用他们自己的库来收集应用程序中的分析:收集基本指标(有关设备、会话、用户活动等的信息)并创建您自己的事件进行跟踪。 所有收集的数据都会立即导出到 Azure,使您能够以方便的格式进行分析工作

附加功能

还有一些有趣的功能,例如在真实设备上测试应用程序构建、用于自动化开发过程的 CI/CD 设置,以及用于发送应用程序集进行 Beta 测试或直接发送到 App Store 或 Google Play 的工具

Azure 允许您使用专为处理地图和地理空间数据而设计的现成框架,从而简化了这种格式的使用。

特别有趣的是使用解决问题的可能性 人工智能,您可以使用它来预测各种分析指标,并使用即用型工具进行计算机视觉、语音识别等。

整合的复杂性

微软Azure提供 软件开发套件(SDK) 适用于主要移动平台(iOS 和 Android),以及跨平台解决方案(Xamarin 和 PhoneGap)(这种情况并不常见)。 

总体来说,用户抱怨界面复杂、进入门槛高。 这表明服务集成可能存在问题。 

重要的是要了解,高进入门槛并不是 Azure 的特例,而是 IaaS 的普遍问题。 例如,将进一步讨论的亚马逊网络服务也更容易受到这种疾病的影响。

可靠性

移动应用后端开发云服务概览

微软服务的稳定性看起来还不错。 可见,各个地区每月至少会出现一次短期问题。 该图表明服务足够稳定;在某些区域很少出现问题,并且纠正速度非常快,使服务能够保持良好的正常运行时间。 

移动应用后端开发云服务概览

Azure 服务器最近发生的事件列表证实了这一点——大多数都是短期警告,服务器上次宕机是在 XNUMX 月初。 统计数据证实了服务稳定的情况。

成本

В 定价政策 Microsoft Azure对该服务有不同的付费计划;还有一个有一定限制的免费计划,这足以进行测试。 重要的是要记住,Azure 是一项 IaaS 服务,其中大多数服务由于其特殊性和计算消耗资源的复杂性,都难以预测工作成本。 许多人都面临着困难,甚至常常无法正确计算所使用的功率。 实际分数可能与预期分数有很大差异。 

移动应用后端开发云服务概览

此外,除了这些计划之外,Azure 还提供单独的付费服务:应用服务域、Azure 应用服务证书和 SSL 连接。 所有这些都与您的基础设施的管理有关;我们不会触及它们。
在许多评论中,用户抱怨复杂的定价政策和无法预测服务成本。 微软提出的计算器号称无用,而且服务本身极其昂贵。

Azure 上的摘要

Microsoft 的 Azure 服务是一个功能强大且稳定的工具,可用作主要的 MBaaS 提供商。 事实上,该服务最初提供了成熟的基础设施,为进一步开发移动应用程序之外的后端提供了许多机会。 大量服务器及其所在区域可帮助您选择在延迟方面适合您的服务器。 积极的用户评论证实了这一点。 负面影响包括较高的进入门槛和难以预测服务成本。

移动应用后端开发云服务概览

适合? 使用这些链接,您可以更详细地了解 Microsoft Azure、研究所有详细信息并开始使用它: 

AWS放大

移动应用后端开发云服务概览

亚马逊网络服务(AWS) 是我们选择的第二个 IaaS。 它代表了大量的服务,有趣的是,与 Microsoft Azure 类比,它有一组专用的功能,称为 AWS放大,本质上是一个移动后端。 之前,您可能听说过 AWS Mobile Hub 这个名字,它长期以来一直是提供 MBaaS 功能的主要服务。 如何 亚马逊本身,Amplify 是一个修改和改进的 Mobile Hub,它解决了其前身的主要问题。

移动应用后端开发云服务概览

据亚马逊称,Amplify 服务受到许多大公司的信任,包括 Netflix、Airbnb 等。

工商管理服务

移动应用后端开发云服务概览

亚马逊的移动解决方案允许您快速配置移动应用程序的所有必要功能。 无论是服务器逻辑、数据存储、用户授权还是内容处理和交付、通知和分析。 

亚马逊还提供基础设施方面的所有必要规定,例如扩展、负载平衡等。

Google Analytics(分析)

一个单独的服务负责分析 亚马逊Pinpoint,您可以对受众进行细分,并通过不同渠道(推送通知、短信和电子邮件)开展大规模的定向活动,以吸引用户使用该服务。

Pinpoint 提供实时数据,您可以创建动态受众群体、分析他们的参与度并根据这些数据优化您的营销策略。

附加功能

Amazon Amplify 提供对该服务的访问 AWS 设备农场 测试您的应用程序在真实设备上的构建。 该服务允许您在多个物理设备上对应用程序进行并行自动测试;也可以进行手动测试。

服务 AWS Amplify 控制台 是一个用于部署和托管服务器资源和 Web 应用程序的工具,能够配置 CI/CD 以自动化开发过程。

同样不寻常的是,可以将语音和文本机器人作为用户交互界面“开箱即用”地引入移动应用程序中。 它适用于服务 亚马逊Lex.

有趣的是,AWS Amplify 还提供了一个小型的 图书馆 为您的 React Native 应用程序提供现成的 UI 组件,可以稍微加速开发过程,或者在项目的原型或 MVP 中使用。

整合的复杂性

Amazon Amplify 提供了一个 SDK,用于 iOS, Android, JavaScript的 и 反应本机 并且相当详细 文件。 需要注意的是,除了 REST 之外,该服务还支持 GraphQL。

正如 Azure 分析期间所讨论的,较高的进入壁垒是所有 IaaS 的常见问题。 亚马逊也不例外,恰恰相反。 这可能是最难理解的服务之一。 这是由于 AWS 拥有大量不同的工具。 从头开始掌握 AWS 将需要大量时间。 但如果您将自己限制为仅 Amplify,则可以在足够的时间范围内实施可行的解决方案。

可靠性

移动应用后端开发云服务概览

据统计,亚马逊的服务看起来不如Azure稳定。 但全面关闭(红细胞)数量较少令人鼓舞。 基本上,发生的只是某些服务运行中的警告和不稳定。

AWS 服务器上最近发生的事件列表证实了这一点 - 其中一些是不同持续时间(有时长达 16 小时)的警告,服务器上次宕机是在 XNUMX 月中旬。 整体看起来还是比较稳定的。

移动应用后端开发云服务概览

成本

移动应用后端开发云服务概览

定价政策 乍一看,Amazon Web Services 非常简单 - 只需为您使用的内容付费,超出免费限额。 但与 Microsoft Azure 一样,您使用的服务越多,预测工作的最终成本就越困难。

移动应用后端开发云服务概览

网上有很多评论说AWS太贵了。 如果公司长期以来都愿意付费优化您对 AWS 的使用,尽可能减少每月的账单,我们能说什么呢? 

Amazon Amplify 总结

总体而言,Amazon Amplify 的故事与 Azure 类似。 在许多方面,该功能与 MBaaS 类似,提供成熟的基础设施和开发自己的后端的能力。 亚马逊的营销工具表现突出,尤其是 Pinpoint。

从消极的一面来看,我们记得它的进入门槛并不比 Azure 低,而且预测成本也同样困难。 让我们添加一个不太稳定的服务,并且从评论来看,技术支持反应迟钝。

适合? 请点击以下链接了解有关 Amazon Amplify 的更多信息、了解所有详细信息并开始使用它: 

Google Firebase

移动应用后端开发云服务概览
服务 火力地堡 来自 Google 的 MBaaS 服务是您的应用程序最有趣的选择之一。 长期以来,它已成为一种有用的工具,并且适用于许多知名应用程序:Shazam、Duolingo、Lyft 等。 
移动应用后端开发云服务概览

工商管理服务

移动应用后端开发云服务概览

Firebase 会处理您的移动应用所需的一切。 该服务结合了成熟的后端功能,例如数据存储、同步、身份验证、云功能(后端代码执行),目前处于测试阶段 机器学习套件,借助它在基于机器学习的应用程序中实现各种功能(识别文本、照片中的对象等等)。 

Google Analytics(分析)

Firebase 的一个重要功能是,除了后端功能之外,该服务还提供广泛的应用程序分析功能。 内置 Google Analytics、用户群细分并使用推送通知。 同样在 2017 年,Google 进行了一次很酷的收购,购买了广泛使用的 Fabric 服务,并将其与 Crashlytics 一起集成到 Firebase 中,Crashlytics 是一个非常有用的工具,用于跟踪应用程序错误并收集用户设备上发生的崩溃的统计数据和报告。

附加功能

Firebase提供了一个工具 Firebase动态链接 要处理内容的动态链接,使用此工具您可以生成指向应用程序的链接(如果已安装),如果未安装,则将用户发送到 App Store 或 Google Play 进行安装。 此外,此类链接的工作方式取决于打开它们的设备;如果是计算机,则页面将在浏览器中打开,如果是设备,则将转换到应用程序。

Google 还允许您使用 A/B 测试您的应用程序 Firebase A/B 测试 并使用该工具设置远程配置 远程配置

整合的复杂性

很明显,该服务为您的应用程序结合了极其大量的功能。 对于 Firebase 集成,您应该使用 软件开发套件(SDK) 必要的平台,包括iOS、Android、JavaScript,以及C++和Unity,如果你开发游戏,这将非常有用。 值得注意的是,Firebase 拥有相当详细的文档和广泛的开发者用户群,因此,在线有大量支持内容,无论是问题解答还是评论文章。

可靠性

是否应该依赖谷歌是另一篇文章的问题。 一方面,你拥有一个高度稳定且有效的提供商,但另一方面,你永远不知道“谷歌何时也会关闭这项服务”。 谷歌被取消其使命并非无缘无故 “别作恶”

移动应用后端开发云服务概览

当提供商拥有这样的资源时,似乎正常运行时间应该争取 100%,但您仍然可以找到许多有关服务问题的报告,例如, 引用 用户之一: “停机发生了。 就 Firebase 而言,您可能会说“正常运行时间”发生了”。 事实上,如果您查看 Firebase 服务事件的统计数据,我们会发现既有小规模停机,也有 5-7 小时的完全中断,这对您的服务至关重要。

移动应用后端开发云服务概览

有时问题会持续数周。 我们不能忘记,这些服务可能运行对产品至关重要的代码。 这个统计数据看起来不太令人鼓舞。

成本

移动应用后端开发云服务概览

定价政策 Firebase 清晰简单,有 3 个计划:Spark、Flame 和 Blaze。 他们在意识形态上彼此不同。 Spark 是一个免费计划,但有一些限制,允许您部署和测试该平台的大部分功能。 Flame 和 Blaze 计划需要付费使用。 Flame 的费用是每月 25 美元,但本质上你得到的是相同的 Spark,只是限制要高得多。 

Blaze 与其他的不同。 它允许您无限数量地使用平台的功能,同时您根据使用的资源按比例付费。 这是一个非常灵活的计划,您只需为您使用的功能付费。 例如,如果您决定仅使用该平台来测试应用程序,则只需为超出免费测试限制付费。

一般来说,Firebase 定价非常透明且可预测。 在此过程中,您可以了解该功能或该功能的成本,并且还可以计算扩展或更改服务时的成本。

Firebase 摘要

Google 的 Firebase 是一家成熟的 MBaaS 提供商,它消除了 AWS 和 Azure 直接涉及的基础设施复杂性。 开发云后端所需的所有功能均已到位、充足的分析机会、相对容易的集成、相当低的进入门槛和透明的定价。 

负面影响包括服务稳定性问题。 不幸的是,没有办法改变这一点;我们只能依靠谷歌工程师。
移动应用后端开发云服务概览
它适合你吗? 使用这些链接,您可以更详细地了解 Google Firebase、研究所有细节并开始使用它: 

库穆洛斯

移动应用后端开发云服务概览

库穆洛斯 是一家独立的 MBaaS 服务,成立于 2011 年。 

工商管理服务

作为移动后端,Kumulos 提供了许多我们在之前的服务中已经看到的标准工具。 还可以根据时间表和地理位置、跟踪和诊断崩溃、与 Slack、Trello 和 Jira 的方便集成、数据存储和用户授权处理来创建成熟的活动。

与 Firebase 一样,该服务负责处理负载平衡、扩展和其他基础设施问题的所有问题。

Google Analytics(分析)

移动应用后端开发云服务概览

Kumulos 内置了广泛的分析功能,包括:定期报告生成、用户细分、详细行为分析、群组分析等等。 该平台最初是为大数据创建的,可以处理大量数据。 所有分析均实时显示。 内部分析引擎根据收集的统计数据预测各种见解。

一个重要的功能是能够存储数据并将其导出到其他服务,包括:Salesforce、Google BigQuery、Amplitude 和 Tableau。

附加功能

移动应用后端开发云服务概览

一个有趣但不常见的功能是优化 App Store 中应用程序推广的工具。 Kumulos 应用商店优化 评估您的应用程序页面并提出提高性能的解决方案。 跟踪应用程序成功因素,例如不同国家/地区的用户评分和应用程序排名,并根据此数据生成报告。 

移动应用后端开发云服务概览

为移动开发工作室提供特殊的工具是非常有趣的,它提供了一个方便的界面来管理各种客户的应用程序数据。 以及专门为您的客户生成报告。

整合的复杂性

在库穆洛斯 广泛的 SDK 用于与本机和跨平台工具集成。 库得到积极更新和支持。

移动应用后端开发云服务概览

所有工具都有详细的文档,还有一些使用该平台的教程和现成的示例。

可靠性

不幸的是,我无法找到任何有关 Kumulos 服务服务器稳定性的统计数据。

成本

除了免费试用之外,Kumulos 还有 3 付费计划:初创公司、企业和代理机构。 他们的工作原则是“我只为我使用的东西付费”。 不幸的是,该服务没有提供公共领域的价目表;似乎是根据您的需求单独计算的。

移动应用后端开发云服务概览

如果不了解所有计划的费率本身,就不可能准确地谈论付款的可预测性和规模。 一件好事是,显然,定价相当灵活。

库姆洛斯总结

Kumulos 提供了一个与 Firebase 非常相似的 MBaaS 平台。 它包含整套必要的 MBaaS 服务工具、相当广泛的分析和报告功能。 为移动应用程序工作室提供单独的服务看起来很有趣,因为它结合了许多额外的优势。

不利的一面是缺乏有关服务器稳定性和封闭定价的任何数据。

值得一试? 使用这些链接,您可以更详细地了解 Kumulos、研究所有细节并开始使用它: 

结论

认真对待为移动后端选择云服务的问题非常重要,因为它将对应用程序或服务的开发过程和后续开发产生巨大影响。 

在本文中,我们研究了 4 种服务:Microsoft Azure、AWS Amplify、Google Firebase 和 Kumulos。 其中有 2 个大型 IaaS 服务和 2 个 MBaaS,专门针对移动后端。 在每个选项中,我们都遇到了某些问题和负面影响。

重要的是要明白,不存在理想的解决方案。 为项目选择技术是关键因素之间的折衷。 我建议再看一遍:

功能

您选择的平台的功能直接决定您对后端施加的限制。 在选择一项服务时,您应该始终清楚自己的优先事项是什么,无论是使用一项特定功能(例如,推送通知以节省资金),还是在一个生态系统中构建自己的基础设施以集中和统一您的后端。 

Google Analytics(分析)

很难想象没有分析的现代服务。 毕竟,正是这个工具可以让你改进服务、分析用户并最终获得更多利润。 分析的质量和功能直接决定最终产品的质量。 但没有人打扰您连接第三方分析,无论是 Firebase 的分析部分、Yandex 的 AppMetrica 还是其他更适合您的东西。

整合的复杂性

集成的复杂性直接影响开发过程中的金钱和时间资源成本,更不用说由于工具包不受欢迎或进入门槛较高而导致寻找开发人员的过程可能变得复杂。

可靠性和稳定性

任何服务的可靠性和稳定性都是最重要的指标之一。 而当你自己的应用程序遇到提供商方面的问题时,情况就不那么令人愉快了。 最终用户并不关心出了什么问题,也不在乎服务无法运行是否是你的错。 他将无法按照他的计划进行,就这样,印象被破坏了,他可能永远不会再回到产品上。 是的,没有完美的服务,但是有一些工具可以在提供商方面出现问题时将损失降至最低。

定价政策

该服务的定价政策对许多人来说是决定性因素,因为如果财务能力与提供商的要求不符,那么你们将无法继续合作。 考虑并预测您的产品所依赖的服务成本非常重要。 每种服务的定价都不同,但大多数情况下,它与您使用的资源成正比,无论是发送的通知数量还是使用的存储硬盘的大小。

供应商锁

使用这些服务时,重要的是不要陷入一种解决方案,否则您将完全依赖它并注定自己陷入所谓的“供应商锁定”。 这意味着,如果服务发生问题、所有者发生变化、开发方向改变或关闭,您将不得不紧急寻找新的 MBaaS 提供商,并且根据应用程序的规模,这样的举动将需要大量时间以及由此产生的货币成本。 如果后端与 MBaaS 提供商的某些独特功能相关联,那将尤其可怕,因为所有提供商都是不同的,并且并非都具有相同的功能集。 因此,能够“无痛”移动的情况很少见。

整个分析最终可以用表格来描述:

微软Azure

AWS放大

Google Firebase

库穆洛斯

MBaaS 工具
推送通知、数据同步、 
自动缩放和负载平衡等等

Google Analytics(分析)

实时分析

Amazon Pinpoint 中的分析和定位活动

用于收集崩溃报告的 Google Analytics 和 Crashlytics

实时分析、群组分析、使用大数据并导出到其他服务

附加功能

  1. 构建自动化
  2. 地理定位框架
  3. 人工智能工具
  4. 许多其他 Azure 服务

  1. 设备农场
  2. 放大控制台
  3. 亚马逊Lex
  4. 许多其他 AWS 服务

  1. 动态链接
  2. A / B测试
  3. 远程配置

  1. 优化App Store中的应用程序。 
  2. 工作室开发功能

积分

  1. SDK:iOS、Android、Xamarin、Phonegap
  2. 进入门槛高

  1. SDK:iOS、Android、JS、React Native
  2. GraphQL 支持
  3. 进入门槛高

SDK:iOS、Android、JS、C++、Unity

SDK:IOS、Android、WP、Cordova、PhoneGap、Xamarin、Unity、LUA Corona 等

可靠性和稳定性

极其罕见的中断(最多每月一次)

罕见的中断,主要是警告

存在有问题的时期和中断

无可用统计数据

定价政策

  1. 根据使用的资源计算
  2. 预测困难
  3. 成本高于MBaaS服务

  1. 火花(免费)
  2. 火焰 ($25/平方米)
  3. 火焰(每次使用)

  1. 创业公司
  2. 企业
  3. 活动机构

所有计划均需收取使用费

因此,我们研究了 4 种云服务。 还有数十种类似的工具。 不存在完美的服务,因此寻找合适的服务的最佳策略是尽早了解您对提供商的要求以及您愿意做出的权衡。 
我们希望您做出正确的选择。

从服务中获取的稳定性数据 https://statusgator.com/
从服务中获取的用户评分数据 www.capterra.com

只有注册用户才能参与调查。 登录拜托

您使用什么服务作为应用程序的后端?

  • 微软Azure

  • AWS Amplify(或 AWS Mobile Hub)

  • Google Firebase

  • 库穆洛斯

  • 其他(我会在评论中注明)

16 位用户投票。 13 名用户弃权。

来源: habr.com

添加评论