移動應用後端開發雲服務概覽

後端開發是一個複雜且成本高昂的過程。 在開發移動應用程序時,通常會不合理地給予更多關注。 這是不合理的,因為每次您都必須實現移動應用程序的典型場景:發送推送通知、了解有多少用戶對促銷感興趣並下訂單等。 我想要一個解決方案,讓您可以專注於對應用程序重要的事情,而不會在次要事情的實施中失去質量和細節。 而且有解決辦法!

此類服務稱為移動後端即服務 (MBaaS)。 與“手動”開發相比,在他們的幫助下創建後端的過程得到了簡化。 這是僱用單獨的後端開發人員所節省的費用。 事實上,MBaaS 提供商會處理與服務器穩定性、負載平衡、可擴展性和其他基礎架構困難相關的所有問題,這讓人們對結果的質量充滿信心,這也是此類服務的主要優勢。

在本文中,我們將了解幾項經過驗證的大型服務:Microsoft Azure、AWS Amplify、Google Firebase、Kumulos。

移動應用後端開發雲服務概覽

我們將考慮服務的要點:後端和分析的功能、集成服務的複雜性、工作的可靠性和穩定性以及定價政策。 讓我們根據這些標準瀏覽每項服務並記下它們的功能。

Microsoft Azure

移動應用後端開發雲服務概覽

Microsoft Azure - 基礎架構即服務 (IaaS) 是一種包含完整的 BaaS 功能並有助於為移動應用程序創建後端的服務。

企業管理即服務

Microsoft Azure 具有為移動應用程序創建後端的全套功能。 處理推送通知、自動縮放、數據同步、社交媒體集成等。

Azure 的一個重要特性是服務器的地理位置。 它們位於世界 54 個地區,這增加了選擇延遲方面適合您的服務器的可能性。 由於只有某些區域最常在發生故障時受到影響,因此可以假設區域越多,達到非常“不穩定”的區域的可能性就越小。 微軟聲稱擁有比任何其他雲提供商更多的區域。 這絕對是一個加號。

移動應用後端開發雲服務概覽

Google Analytics(分析)

該服務提供了實時監控應用程序性能並收集“跌倒”報告的能力。 這使您可以立即定位並解決問題。

同樣在 Azure 中,您可以使用他們自己的庫來收集應用程序中的分析:收集基本指標(設備信息、會話信息、用戶活動等)並創建自定義事件以進行跟踪。 所有收集的數據都會立即導出到 Azure,使您能夠以方便的格式使用它們進行分析工作

附加功能

還有一些有趣的功能,例如在真實設備上測試應用程序構建、CI / CD 設置以自動化開發過程,以及用於提交應用程序構建以進行 beta 測試或直接提交到 App Store 或 Google Play 的工具

Azure 允許您使用專為處理地圖和地理空間數據而設計的現成框架,這使得使用這種格式變得更加容易。

特別感興趣的是使用解決問題的可能性 人工智能,您可以通過它預測各種分析指標,並使用現成的計算機視覺、語音識別等工具。

集成的複雜性

Microsoft Azure 服務提供 SDK 適用於主要移動平台(iOS 和 Android),以及很少見的跨平台解決方案(Xamarin 和 PhoneGap)。 

一般來說,用戶抱怨界面複雜和進入門檻高。 這表明服務集成中可能存在問題。 

重要的是要明白,高入門門檻並不是 Azure 的特例,而是 IaaS 的普遍問題。 例如,接下來將要討論的 Amazon Web Services,也更容易出現這種毛病。

可靠性

移動應用後端開發雲服務概覽

微軟服務的穩定性看起來不錯。 可以看出,每個月至少一次可能會出現不同地區的短期問題。 這張圖片說明了服務的足夠穩定性,問題很少發生,在某些地區並且修復得非常快,使服務能夠保持良好的正常運行時間。 

移動應用後端開發雲服務概覽

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 等。

企業管理即服務

移動應用後端開發雲服務概覽

Amazon 的移動解決方案允許您快速配置移動應用程序的所有必要功能。 無論是服務器邏輯、數據存儲、用戶授權還是內容處理和交付、通知和分析。 

亞馬遜還在基礎設施方面提供了所有必要的條件,例如擴展、負載均衡等。

Google Analytics(分析)

一個單獨的服務負責分析 亞馬遜Pinpoint,您可以在其中細分受眾群體並通過不同渠道(推送通知、短信和電子郵件)開展大規模定向活動,以吸引用戶使用該服務。

Pinpoint 提供實時數據,您可以創建動態的受眾細分,分析他們的參與度並根據這些數據優化您的營銷策略。

附加功能

Amazon Amplify 提供對服務的訪問 AWS 設備群 在真實設備上測試應用程序的構建。 該服務允許您在各種物理設備上對您的應用程序進行並行自動化測試,也可以進行手動測試。

服務 AWS 放大控制台 是一種用於部署和託管服務器資源和 Web 應用程序的工具,能夠配置 CI/CD 以自動化開發過程。

同樣不尋常的是,可以將語音和文本機器人“開箱即用”地引入移動應用程序,作為用戶交互的界面。 它適用於服務 亞馬遜Lex.

有趣的是,AWS Amplify 還提供了一個小的 圖書館 用於 React Native 應用程序的現成 UI 組件,可以稍微加速開發過程,或用於項目的原型或 MVP。

集成的複雜性

Amazon Amplify 為 iOS, Android, JavaScript的 и 反應原生 並且相當詳細。 文件. 需要注意的是,除了 REST 之外,該服務還支持 GraphQL。

正如Azure分析過程中所討論的,進入門檻高是所有IaaS的通病。 亞馬遜也不例外,恰恰相反。 這可能是最難理解的服務之一。 這是因為 AWS 擁有大量不同的工具。 從頭開始學習 AWS 將花費大量時間。 但是,如果您僅限於 Amplify,則可以在適當的時間範圍內實施可行的解決方案。

可靠性

移動應用後端開發雲服務概覽

Amazon 的服務在統計上看起來不如 Azure 穩定。 但少數全面關閉(紅細胞)令人高興。 基本上,所發生的只是某些服務中的警告和不穩定。

AWS 服務器最近發生的事件列表證實了這一點——其中一些是不同持續時間(有時長達 16 小時)的警告,上一次服務器宕機是在 XNUMX 月中旬。 總的來說,它看起來很穩定。

移動應用後端開發雲服務概覽

成本

移動應用後端開發雲服務概覽

價格政策 Amazon Web Services 乍一看非常簡單 - 只需為超出免費限額的使用付費。 但與 Microsoft Azure 一樣,您使用的服務越多,就越難預測工作的總成本。

移動應用後端開發雲服務概覽

網上有很多評論說AWS太貴了。 我們能說什麼,如果公司早就表明,為了單獨的金額,準備優化您對 AWS 的使用,盡可能減少每月賬單。 

亞馬遜擴大底線

總的來說,Amazon Amplify 的故事與 Azure 類似。 在許多方面,MBaaS 具有相同的功能,提供成熟的基礎架構和開發自己的後端的能力。 亞馬遜營銷工具表現突出,尤其是 Pinpoint。

不利的一面是,我們回想起與 Azure 一樣高的進入門檻,以及成本預測方面的同樣困難。 再加上不太穩定的服務,並且根據評論判斷,沒有響應的技術支持。

適合? 按照這些鏈接了解有關 Amazon Amplify 的更多信息,了解所有詳細信息並開始使用它: 

Google Firebase

移動應用後端開發雲服務概覽
服務 火力地堡 來自 Google 的 MBaaS 服務是您應用程序最有趣的選擇之一。 長期以來,它已將自己確立為一種有用的工具,許多知名應用程序也是如此:Shazam、Duolingo、Lyft 等。 
移動應用後端開發雲服務概覽

企業管理即服務

移動應用後端開發雲服務概覽

Firebase 會處理您的移動應用程序所需的一切。 該服務結合了成熟的後端功能,例如數據存儲、同步、身份驗證、雲功能(後端代碼執行),目前處於測試階段 機器學習套件,應用程序可實現基於機器學習的各種功能(文本識別、照片中的對像等)。 

Google Analytics(分析)

Firebase 的一個重要特性是,除了後端功能之外,該服務還提供了廣泛的應用程序分析選項。 內置 Google Analytics、用戶群細分和推送通知。 同樣在 2017 年,谷歌進行了一項重大收購,購買了廣泛使用的 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,了解所有細節並開始使用它: 

庫穆洛斯

移動應用後端開發雲服務概覽

庫穆洛斯 是成立於 2011 年的獨立 MBaaS 服務。 

企業管理即服務

作為移動後端,Kumulos 提供了許多我們在之前的服務中已經看到的標準工具。 還可以根據日程安排和地理位置創建成熟的活動、跟踪和診斷跌倒、與 Slack、Trello 和 Jira 的便捷集成、數據存儲和用戶授權處理。

與 Firebase 一樣,該服務負責處理與負載平衡、擴展和其他基礎設施相關的所有問題。

Google Analytics(分析)

移動應用後端開發雲服務概覽

Kumulos 內置了廣泛的分析功能,包括定期報告、用戶細分、詳細的行為分析、同類群組分析等。 該平台最初是為大數據創建的,可以處理大量數據。 所有分析都是實時顯示的。 內部分析引擎根據收集的統計數據預測各種見解。

一項重要功能是能夠將數據存儲和導出到其他服務,包括:Salesforce、Google BigQuery、Amplitude 和 Tableau。

附加功能

移動應用後端開發雲服務概覽

一個有趣且很少見的功能是用於優化 App Store 中應用程序推廣的工具。 Kumulos 應用商店優化 評估您的應用程序頁面並提出提高性能的解決方案。 跟踪應用程序的成功因素,例如頂級國家/地區的用戶評分和應用程序排名,並根據該數據生成報告。 

移動應用後端開發雲服務概覽

有一個專門的移動開發工作室工具包看起來非常有趣,它提供了一個方便的界面來為各種客戶管理應用程序數據。 以及專門為您的客戶生成報告。

集成的複雜性

庫穆洛斯 廣泛的 SDK 用於與本機和跨平台工具集成。 圖書館積極更新和維護。

移動應用後端開發雲服務概覽

所有工具都有詳細的文檔描述,還有幾個教程和使用該平台的現成示例。

可靠性

不幸的是,我找不到任何關於 Kumulos 服務服務器穩定性的統計數據。

成本

除了免費試用,Kumulos 還有 3 付費計劃:啟動,企業和代理。 他們的工作原則是“我只為我使用的東西付費”。 不幸的是,該服務沒有在公共領域提供價目表,它似乎是根據您的需要單獨計算的。

移動應用後端開發雲服務概覽

如果不知道所有計劃的費率本身,就不可能準確地談論支付的可預測性和規模。 一件事令人高興 - 顯然,定價非常靈活。

Kumulos 總計

Kumulos 在許多方面都提供了一個類似於 Firebase 的 MBaaS 平台。 它包含所有必要的 MBaaS 服務工具集、相當廣泛的分析和報告功能。 作為移動應用程序工作室的單獨產品,它看起來很有趣,它結合了許多額外的好處。

從負面來看 - 缺乏關於服務器穩定性和封閉定價的任何數據。

值得一試? 點擊這些鏈接可以更詳細地了解 Kumulos,了解所有細節並開始使用它: 

結論

為移動後端選擇雲服務非常重要,因為它會對您的應用程序或服務的開發過程和後續開發產生巨大影響。 

在文章中,我們回顧了 4 種服務:Microsoft Azure、AWS Amplify、Google Firebase 和 Kumulos。 其中有 2 個大型 IaaS 服務和 2 個專門從事移動後端的 MBaaS。 並且在每個選項中都遇到了某些問題和消極方面。

了解沒有完美的解決方案很重要。 項目技術的選擇是關鍵因素之間的折衷。 我建議你再看一遍:

功能

您選擇的平台的功能直接影響您對後端施加的限制。 在選擇一項服務時,您始終需要清楚自己的優先事項,無論是使用一項特定功能(例如推送通知以節省資金),還是在同一生態系統中構建您自己的基礎設施以集中和統一您的後端。 

Google Analytics(分析)

很難想像沒有分析的現代服務。 畢竟,正是這個工具可以讓您改進服務、分析用戶,從而獲得更多利潤。 最終產品的質量直接取決於分析的質量和功能。 但是沒有人費心連接第三方分析,無論是 Firebase 的分析部分,Yandex 的 AppMetrica,還是其他更適合您的東西。

集成的複雜性

集成的複雜性直接影響開發過程中金錢和時間資源的成本,更不用說由於不受歡迎或進入工具包的高門檻而可能導致尋找開發人員的過程複雜化。

可靠性和穩定性

任何服務的可靠性和穩定性都是最重要的指標之一。 當您自己的應用程序在供應商方面遇到問題時,情況就不妙了。 最終用戶不關心那裡出了什麼問題,也不關心你是否應該為服務不工作的事實負責。 他將無法按照他的計劃進行,僅此而已,印像被破壞了,他可能不會返回產品。 是的,沒有理想的服務,但是有一些工具可以在提供商方面出現問題時將損失降至最低。

價格政策

服務的定價政策對許多人來說是一個決定性因素,因為如果財務能力不符合提供商的要求,那麼您將無法繼續合作。 考慮和預測您的產品所依賴的服務成本非常重要。 定價因服務而異,但通常與您使用的資源成正比,無論是發送的通知數量還是存儲硬盤的大小。

供應商鎖

使用這些服務時,重要的是不要拘泥於一種解決方案,否則您會完全依賴它並註定自己陷入所謂的“供應商鎖定”。 這意味著如果服務出現問題、所有者發生變化、開發方向或關閉,您將不得不緊急尋找新的 MBaaS 提供商,並且根據應用程序的大小,這樣的遷移將需要大量時間結果,金錢成本。 如果後端與 MBaaS 提供商的某些獨特功能相關聯,那將尤其可怕,因為所有提供商都是不同的,並非所有提供商都具有相同的功能集。 因此,可以“無痛”移動的情況很少見。

整個分析可以總結在下表​​中:

Microsoft 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. 入門門檻高

開發工具包:iOS、Android、JS、C++、Unity

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

可靠性和穩定性

極其罕見的停機(每月最多 1 次)

罕見的中斷,主要是警告

有麻煩時期和停電

沒有統計數據

價格政策

  1. 從使用的資源計算
  2. 預測困難
  3. 成本高於 MBaaS 服務

  1. 火花(免費)
  2. 火焰(25 美元/米)
  3. 火焰(每次使用)

  1. 啟動
  2. 企業
  3. 活動機構

所有計劃按使用收費

因此,我們分析了 4 種雲服務。 還有許多其他類似的工具。 沒有完美的服務,因此找到合適服務的最佳策略是了解您的供應商要求和您願意儘早做出的權衡。 
我們希望您做出正確的選擇。

從服務中獲取的穩定性數據 https://statusgator.com/
從服務中獲取的用戶評分數據 www.capterra.com

只有註冊用戶才能參與調查。 登入, 請。

您使用什麼服務作為應用程序的後端?

  • Microsoft Azure

  • AWS Amplify(或 AWS Mobile Hub)

  • Google Firebase

  • 庫穆洛斯

  • 其他(備註說明)

16 位用戶投票。 13 名用戶棄權。

來源: www.habr.com

添加評論