用于开发移动应用程序后端的云服务概述

后端开发是一个复杂而昂贵的过程。 在开发移动应用程序时,他经常会受到更多的关注。 这是没有道理的,因为每次您都必须实现移动应用程序的典型情况时:发送推送通知,找出有多少用户对此操作感兴趣并下订单等。 我想要一个解决方案,使我们能够专注于对应用程序重要的事情,而不会在执行次要过程时降低质量和细节。 并且有这样的解决方案!

此类服务称为移动后端即服务(MBaaS)。 与“手动”的开发相比,在后端的帮助下创建后端的过程得以简化。 这样可以节省雇用单独的后端开发人员的时间。 MBaaS提供程序会处理与服务器稳定性,负载平衡,可伸缩性和其他基础结构困难有关的所有问题,这一事实使人们对结果的质量充满信心,这是此类服务的主要优势。

在本文中,我们将考虑一些大型且已建立的服务:Microsoft Azure,AWS Amplify,Google Firebase,Kumulos。



我们考虑为其提供服务的项目:后端和分析功能,服务集成的复杂性,工作的可靠性和稳定性以及定价策略。 让我们浏览每种服务,并根据这些条件记录其功能。

微软天蓝色





Microsoft Azure是一项基础架构即服务(IaaS)服务,其中包含完整的BaaS功能,并有助于为移动应用程序创建后端。

MBaaS


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

Azure的一个重要功能是服务器的地理位置。 它们位于全球54个地区,这增加了选择适合延迟的服务器的可能性。 因为在发生故障的情况下,大多数情况下只有某些区域受到影响,所以可以假设,区域越多,到达该“非常不稳定”的区域的可能性就越小。 根据微软的说法,它们比其他任何云解决方案提供商拥有更多的区域。 这无疑是一个加号。



分析工具


该服务提供了一个实时机会,可以监视应用程序的运行状况并收集“崩溃”报告。 这使您可以立即定位并解决问题。

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

附加功能


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

Azure允许您使用专为处理地图和地理空间数据而设计的“开箱即用”框架,从而简化了这种格式的工作。

尤其有趣的是,可以使用人工智能解决问题,您可以借助它们预测各种分析指标,并使用现成的工具进行计算机视觉,语音识别等。

整合的复杂性


Microsoft Azure服务为主要的移动平台(iOS和Android)提供SDK ,而跨平台的解决方案(Xamarin和PhoneGap)则不常见。

通常,用户抱怨界面复杂和进入门槛高。 这表明服务集成中可能存在问题。

重要的是要了解,高入门门槛不是Azure的特例,而是IaaS的常见问题。 例如,稍后将讨论的Amazon Web Services也会遭受此疾病的影响更大。

可靠度




Microsoft提供的服务的稳定性看起来不错。 可以看出,各个地区的短期故障至少每月发生一次。 此图表明服务具有足够的稳定性,在某些区域很少发生故障,并且可以很快修复,从而使服务保持正常的正常运行时间。



Azure服务器上最近发生的事件列表证实了这一点-大多数事件是短期警告,而服务器上次“搁浅”是在5月初。 统计数据证实了服务质量的稳定。

费用


在Microsoft Azure的定价策略中,为服务付费有不同的收费标准,还有一个有一定限制的免费计划,足以进行测试。 重要的是要记住,Azure是一项IaaS服务,由于它们的特殊性和计算工作资源的复杂性,大多数服务都难以预测工作成本。 许多人面临困难,甚至常常无法正确计算使用的容量。 实际分数可能与您指望的分数大不相同。



除了这些计划之外,Azure还具有单独的付费服务:App Service域,Azure App Service证书和SSL连接。 所有这些都与您的基础架构的管理有关,我们将不关心它们。
在许多评论中,用户抱怨定价政策困难且无法预测服务成本。 微软提出的计算器被称为无用的,并且服务本身非常昂贵。

Azure摘要


Microsoft的Azure服务是用作主要MBaaS提供程序的功能稳定的工具。 该服务最初提供了完整的基础架构,这一事实为在移动应用程序框架之外进一步开发后端打开了许多机会。 大量的服务器以及它们所位于的众多区域有助于选择最适合您的延迟的服务器。 积极的用户评论证实了这一点。 在负面方面-入门门槛高,难以预测服务成本。



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



AWS放大




Amazon Web Services(AWS)是第二个进入我们名单的IaaS。 它代表了大量的服务,并且有趣的是,类似于Microsoft Azure,有一组专用的功能称为AWS Amplify ,它实际上是一个移动后端。 之前,您可能听说过AWS Mobile Hub的名称,该名称长期以来一直是提供MBaaS功能的主要服务。 根据亚马逊本身的说法,Amplify是经过修改和改进的Mobile Hub,解决了其前身的主要问题。



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

MBaaS




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

Amazon还提供了所有必要的基础架构条件,例如扩展,负载平衡等。

分析工具


对于分析,单独的Amazon Pinpoint服务负责,您可以在其中细分受众群体并通过不同的渠道(推送通知,SMS和电子邮件)进行大规模的定位活动,以吸引用户使用该服务。

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

附加功能


Amazon Amplify提供对AWS Device Farm的访问,以测试您在真实设备上构建的应用程序。 该服务允许在各种物理设备上对应用程序进行并行自动测试,并且还可以进行手动测试。

AWS Amplify Console服务是用于部署和托管服务器资源和Web应用程序的工具,具有配置CI / CD来自动化开发流程的功能。

将语音和文本漫游器作为与用户交互的界面直接引入移动应用程序中的可能性也是不寻常的。 它可以在Amazon Lex上运行

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

整合的复杂性


Amazon Amplify提供了适用于iOSAndroidJavaScriptReact Native的SDK 以及相当详细的文档 。 重要的是要注意,除了REST,该服务还支持GraphQL。

如Azure分析过程中所述,对于所有IaaS来说,较高的进入阈值是一个常见问题。 亚马逊也不例外,反之亦然。 这可能是最难理解的服务之一。 这是由于AWS具有许多不同的工具。 从头开始学习AWS将花费大量时间。 但是,如果仅将自己限制为放大,则可以在适当的时间范围内实施可行的解决方案。

可靠度





亚马逊的统计服务似乎不如Azure稳定。 但这会使少量的完全停电(红色单元格)感到高兴。 基本上,所有发生的事情都是某些服务工作中的警告和不稳定。

AWS服务器上最近发生的事件列表证实了这一点-其中一些事件是针对不同持续时间(有时长达16小时)的警告,而服务器上次“说谎”的时间是6月中旬。 通常,它看起来很稳定。



费用





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



互联网上有许多评论称AWS过于昂贵。 我要说的是,如果长期以来有公司愿意在一定程度上优化您对AWS的使用,并尽可能减少每月账单。

Amazon Amplify摘要


通常,Amazon Amplify的故事类似于Azure。 在许多方面,MBaaS具有相似的功能,提供了完善的基础架构以及开发后端的可能性。 亚马逊营销工具(尤其是Pinpoint)表现出色。

在负面方面,我们记得入门门槛与Azure一样高,并且在预测成本方面也遇到了同样的困难。 加上不稳定的服务,并且根据评论判断,没有响应的技术支持。

适合吗? 使用这些链接,您可以了解有关Amazon Amplify的更多信息,研究所有详细信息并开始使用它:


Google Firebase



作为您的应用程序的MBaaS服务,Google的Firebase服务是最有趣的选项之一。 长期以来,它已成为一种有用的工具,并且适用于许多著名的应用程序:Shazam,Duolingo,Lyft等。


MBaaS




Firebase可以满足您的移动应用程序所需的一切。 该服务结合了完善的后端功能,例如数据存储,同步,身份验证,云功能(执行后端代码),目前,Beta包含机器学习工具包 ,该工具包实现了基于机器的各种功能学习(识别文本,照片中的物体等)。

分析工具


Firebase的一个重要功能是,除了后端功能外,该服务还为应用程序分析提供了广泛的机会。 内置的Google Analytics(分析),用户群细分以及使用推送通知。 同样在2017年,谷歌购买了广泛的Fabric服务并将其与Crashlytics集成到Firebase中,这是一项非常有用的收购,Crashlytics是一个非常有用的工具,可以跟踪应用程序错误并收集用户设备上的统计信息和崩溃报告。

附加功能


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

Google还允许您使用Firebase A / B测试对应用程序进行A / B测试,并使用“ 远程配置”工具配置远程配置。

整合的复杂性


很明显,此服务为您的应用程序结合了许多功能。 要集成Firebase,您应该使用必要平台的SDK ,包括iOS,Android,JavaScript,以及用于C ++和Unity的平台,这对于开发游戏非常有用。 重要的是要注意,Firebase具有相当详细的文档和广泛的开发人员用户基础,因此,网络上有大量支持内容,无论是回答问题还是评论文章。

可靠度


我应该依靠Google吗? 一方面,您拥有一个高度稳定且可以正常工作的提供商,另一方面,您永远都不知道Google何时关闭此服务。 难怪谷歌被取消了“不要邪恶”的使命。



当提供者拥有这样的资源时,正常运行时间应该以100%为目标,但是您仍然可以找到许多有关服务问题的消息,例如, 来自一个用户的报价“发生停机。 对于Firebase,您可能会说“正常运行时间”发生了 。 的确,如果您查看Firebase服务事件的统计信息,您会发现5到7个小时的停机时间和完全停机时间对您的服务至关重要。



但是碰巧问题持续了数周。 我们一定不要忘记,产品的关键和重要代码可以在这些服务上运行。 这些统计数据看起来并不令人满意。

费用




Firebase的定价政策清晰明了,共有3个计划:Spark,Flame和Blaze。 它们在意识形态上彼此不同。 Spark是一项免费计划,有限制,您可以使用它来部署和测试平台功能的重要部分。 Flame和Blaze计划涉及付费使用。 Flame每月的固定费用为25美元,但实际上,您获得的Spark相同,但限制更大。

烈火与众不同。 它使您可以无限制地使用平台的功能,同时按使用资源的比例付费。 这是一个非常灵活的计划,您只需为使用的功能付费。 例如,如果您决定仅将该平台用于测试应用程序,则只需支付超出免费测试限制的费用。

通常,Firebase的定价非常透明且可预测。 在此过程中,您将了解此功能或该功能要花费多少,并且还可以在扩展或更改服务时计算成本。

Firebase摘要


Google的Firebase服务是成熟的MBaaS提供商,可限制与AWS和Azure直接相关的基础架构困难。 开发云后端所需的所有功能均已就绪,分析的机会很多,相对易于集成,入门门槛较低且定价透明。

不利的一面-服务稳定性问题。 不幸的是,这不能以任何方式受到影响,我们只能依靠Google工程师。

适合你吗? 使用这些链接,您可以了解有关Google Firebase的更多信息,研究所有详细信息并开始使用它:



库穆洛斯




Kumulos是一项独立的MBaaS服务,成立于2011年。

MBaaS


作为移动后端,Kumulos提供了许多我们在以前的服务中已经看到的标准工具。 还可以根据日程安排和地理位置,跟踪和诊断崩溃,与Slack,Trello和Jira的便捷集成,数据存储和用户授权处理,来创建完整的广告系列。

与Firebase一样,该服务会处理与负载平衡,扩展和其他基础结构问题有关的所有问题。

分析工具




Kumulos具有内置的广泛分析功能,包括:定期报告生成,用户细分,详细的行为分析,同类群组分析等等。 该平台最初是为大数据创建的,可以处理大量数据。 所有分析都实时显示。 .

— , : Salesforce, Google BigQuery, Amplitude Tableau.

附加功能




— App Store. Kumulos App Store Optimization . , , .



, . .


Kumulos SDK , . .



, .


, Kumulos.

费用


Kumulos 3 : Startup, Enterprise Agency. « , ». , - , , , .



. — , .

Kumulos


Kumulos MBaaS Firebase. MBaaS , . , .

— - .

? Kumulos, :



结论


, .

4 : Microsoft Azure, AWS Amplify, Google Firebase Kumulos. 2 IaaS 2 MBaaS, . .

— . — . :


, , , . , , , , push- , .


. , . . , Firebase, AppMetrica - , .


, , - , .


— . , . , . , , , , . , , .


, , . . , , , .

Vendor lock


, , , «vendor lock». , - , , — MBaaS , , , , , , . , - MBaaS-, . , «».

:
Microsoft Azure
AWS Amplify
Google Firebase
Kumulos
MBaaSpush-, ,
,


Amazon Pinpoint
Google Analytics Crashlytics
, , Big Data




  1. Azure

  1. Device Farm
  2. Amplify Console
  3. Amazon Lex
  4. AWS

  1. Dynamic Links
  2. A/B Testing
  3. Remote Config

  1. App Store.



  1. SDK: iOS, Android, Xamarin, Phonegap


  1. SDK: iOS, Android, JS, React Native
  2. GraphQL


SDK: iOS, Android, JS, C++, Unity
SDK: IOS, Android, WP, Cordova, PhoneGap, Xamarin, Unity, LUA Corona

( 1 )
,




  1. , MBaaS

  1. Spark (free)
  2. Flame (25$/m)
  3. Blaze ( )

  1. Startup
  2. Enterprise
  3. Agency




, 4 . . , , .
.

https://statusgator.com/
www.capterra.com

Source: https://habr.com/ru/post/zh-CN463435/


All Articles