當(dāng)前位置:首頁 >  科技 >  移動互聯(lián) >  正文

干貨推薦:華為應(yīng)用市場AppGallery Connect Serverless全面解析

 2020-11-25 16:55  來源: 互聯(lián)網(wǎng)   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

作為云計算產(chǎn)業(yè)公認(rèn)的下一個技術(shù)風(fēng)口,Serverless 對于應(yīng)用開發(fā)者來說已經(jīng)是耳熟能詳?shù)母拍盍恕8鶕?jù)第三方調(diào)研機(jī)構(gòu)分析預(yù)測,2020 年全球 Serverless 市場規(guī)模將達(dá)到 76 億美元,而到 2025 年則會猛增到 211 億美元,年均復(fù)合增長率高達(dá) 22.7%。如今,云計算商業(yè)用戶中有超過半數(shù)開發(fā)者在采用 Serverless 構(gòu)建技術(shù)架構(gòu),可以看到 Serverless 將成為應(yīng)用發(fā)展創(chuàng)新業(yè)務(wù)必備的技術(shù)之一。

那么,究竟什么才是 Serverless 的核心概念?Serverless 誕生以來走過了怎樣的路線?有哪些特征?在 2020 年 11 月 24 日舉辦的華為應(yīng)用市場 AppGallery Connect 研習(xí)社•沙龍西安站上,華為 Serverless 資深架構(gòu)師們?yōu)榇蠹規(guī)砹?Serverless 的業(yè)界洞察與發(fā)展趨勢展望。

一、Serverless 概況與歷史軌跡

1、Serverless 特征

· 低成本。開發(fā)者用函數(shù)編寫應(yīng)用后部署在云端,出現(xiàn)請求之后云端資源才會按需收費(fèi),顯著降低了開發(fā)者的交付成本與使用成本。

· 免運(yùn)維。在 Serverless 方案中,云端服務(wù)的部署、升級、在線縮擴(kuò)容等微服務(wù)時代的復(fù)雜操作都由后端服務(wù)來完成,大大減輕了開發(fā)者的運(yùn)維負(fù)擔(dān)。

· 上線快。Serverless 分為兩大部分,一是 FaaS,通過開發(fā) Function(函數(shù))的形式實(shí)現(xiàn)業(yè)務(wù)邏輯;二是 BaaS,也就是云存儲、云數(shù)據(jù)庫等后端服務(wù)。通過端側(cè)直接訪問后端服務(wù)、事件觸發(fā)、端云同步、函數(shù)粒度的服務(wù)上線等機(jī)制,可極大縮短應(yīng)用的迭代周期,提升業(yè)務(wù)的上線速度。

2、Serverless 發(fā)展歷史與驅(qū)動要素

自單體服務(wù)架構(gòu)普遍轉(zhuǎn)向微服務(wù)架構(gòu)后,雖然傳統(tǒng)存在的一些問題,諸如代碼變更困難、維護(hù)成本高、上線周期長等障礙得到了解決,但由于微服務(wù)需要將架構(gòu)解耦成眾多獨(dú)立的小模塊,因此對這些模塊進(jìn)行部署、監(jiān)控、彈性伸縮等生命周期運(yùn)維工作就成為了一大挑戰(zhàn)。

基于這樣的背景,云服務(wù)廠商開始利用 Serverless 技術(shù)來幫助開發(fā)者解決微服務(wù)的運(yùn)維需求。Serverless 以云函數(shù)作為業(yè)務(wù)邏輯的基本計算單元,圍繞云函數(shù)還有對象存儲、數(shù)據(jù)庫等隊列實(shí)現(xiàn) BaaS 后端服務(wù),組成完整的 Serverless 應(yīng)用來幫助開發(fā)人員的應(yīng)用快速上線,并將開發(fā)者的精力從運(yùn)維工作中解放出來,更多投入業(yè)務(wù)創(chuàng)新層面。

隨著 Serverless 技術(shù)的發(fā)展,開源領(lǐng)域也有許多項目為開源 FaaS 貢獻(xiàn)力量,從而使整個 Serverless 生態(tài)逐漸成長壯大。

3、從微服務(wù)到 Serverless 的演進(jìn)

當(dāng)下的微服務(wù)架構(gòu)中,首選的架構(gòu)設(shè)計方法就是領(lǐng)域驅(qū)動設(shè)計。領(lǐng)域驅(qū)動設(shè)計方法在落地時需要相當(dāng)復(fù)雜的過程,拆分出來的時間、領(lǐng)域,所做的聚合都可能不夠理想。隨著架構(gòu)演進(jìn),前期服務(wù)的解耦再組合也會產(chǎn)生相應(yīng)的成本。相比之下,Serverless 最大的優(yōu)勢是可以根據(jù)業(yè)務(wù)快速創(chuàng)新函數(shù)。業(yè)務(wù)流程的每一個步驟都可以映射為一個函數(shù),從而實(shí)現(xiàn)一個業(yè)務(wù)邏輯來部署到云端,實(shí)現(xiàn)快速上線交付。現(xiàn)有微服務(wù)也可以將接口轉(zhuǎn)換為函數(shù),實(shí)現(xiàn)免運(yùn)維的成果。

在編碼測試層面,Serverless 可以提供比微服務(wù)更小、更細(xì)粒度的代碼實(shí)現(xiàn),對應(yīng)的測試單元體積也會更小,這些都能加快開發(fā)與測試的速度,縮短交付周期。

在交付和運(yùn)維層面,Serverless 架構(gòu)中函數(shù)的發(fā)布與治理由平臺負(fù)責(zé),進(jìn)一步加快了業(yè)務(wù)邏輯上線;運(yùn)維的部署、升級、彈性縮擴(kuò)容也是平臺完成,因而可以從傳統(tǒng)的 DevOps 演進(jìn)為 NoOps 的狀態(tài)。

二、AppGallery Connect Serverless 服務(wù)

AppGallery Connect,簡稱 AGC,是華為面向全球應(yīng)用開發(fā)者的一站式服務(wù)平臺。在沙龍上,華為團(tuán)隊為開發(fā)者們呈現(xiàn) AppGallery Connect Serverless 服務(wù)的技術(shù)愿景與特色。

1、AppGallery Connect Serverless 現(xiàn)狀與愿景

AppGallery Connect Serverless 的整體方案分為三大層面:

最上層對接行業(yè)解決方案,包括華為內(nèi)部的音樂、視頻等應(yīng)用,以及第三方的快應(yīng)用、快服務(wù)等。針對這些行業(yè)方案,華為 Serverless 生態(tài)會提供一些便捷的軟件開發(fā)包。

中間層是 AGC Serverless Framework,其中包括云函數(shù)、云存儲、云數(shù)據(jù)庫,形成 BaaS+FaaS 的綜合體,共同幫助開發(fā)人員快速實(shí)現(xiàn)業(yè)務(wù)邏輯,卸除運(yùn)維壓力。

底層依賴華為云自身的 IaaS 和 PaaS 能力,提供堅實(shí)可靠的基礎(chǔ)設(shè)施支持。

針對開發(fā)者的各種需求,華為 Serverless 提供了一系列 Kit(云服務(wù) SDK),例如 Auth ServiceKit、Function Kit、CloudDB Kit、Cloud Storage Kit 等等。通過這些 Kit,開發(fā)人員可以在端側(cè)開發(fā)過程中專注于業(yè)務(wù)邏輯,并引用 Kit 完成對云端 Serverless 服務(wù)的調(diào)用。

針對行業(yè)的未來需求,華為 Serverless 也做了很多探索和創(chuàng)新:

為了提升開發(fā)效率,華為提供了統(tǒng)一的開發(fā)平臺和云函數(shù)的市場,使開發(fā)者可以直接下載所需的能力來改進(jìn)升級應(yīng)用。

針對 ARM、x86、GPU 等不同類型的基礎(chǔ)設(shè)施,華為通過異構(gòu)計算的機(jī)制來分配函數(shù)調(diào)用,確保 Serverless 函數(shù)都可以在最合適的硬件上運(yùn)行,從而提升效率、降低成本。

為了降低每次請求后的函數(shù)冷啟動延遲,華為通過沙箱和代碼壓縮等技術(shù),努力做到啟動延遲低于 100 毫秒的目標(biāo)。對于函數(shù)間調(diào)用,華為希望通過內(nèi)部通信機(jī)制將現(xiàn)有的 10 毫秒左右延遲降低到 1 毫秒左右。

通過這些探索,華為希望使開發(fā)者更聚焦于業(yè)務(wù)創(chuàng)新,從而更好地?fù)肀Ъ夹g(shù)風(fēng)口,利用技術(shù)紅利來實(shí)現(xiàn)業(yè)務(wù)升級,創(chuàng)造更多價值。

介紹完 AppGallery Connect Serverless 整體方案特點(diǎn)之后,華為應(yīng)用市場團(tuán)隊又詳細(xì)介紹了認(rèn)證服務(wù)、云函數(shù)、云數(shù)據(jù)庫、云存儲和云托管五大服務(wù)的優(yōu)勢與使用方式。

2、認(rèn)證服務(wù)

為簡化開發(fā)者的認(rèn)證系統(tǒng)構(gòu)建過程,AppGallery Connect 提供了托管式的認(rèn)證服務(wù),可以全方位保護(hù)開發(fā)者的數(shù)據(jù)安全。應(yīng)用認(rèn)證過程中涉及到的基礎(chǔ)設(shè)施、登錄邏輯、密碼加密、網(wǎng)關(guān)對接與交付、可靠性、隱私、安全和性能優(yōu)化等工作,都被華為認(rèn)證服務(wù)包裝成為了簡單的接口調(diào)用。開發(fā)者只需在應(yīng)用內(nèi)集成 SDK 即可調(diào)用這些能力,輕松組裝成適應(yīng)各種需求的認(rèn)證系統(tǒng)。認(rèn)證服務(wù)在安卓、iOS、Web 端,以及快應(yīng)用端都提供了 SDK,實(shí)現(xiàn)了跨平臺支持。認(rèn)證服務(wù)還支持郵箱、微信、QQ、微博、華為帳號、Facebook、Google 等主流賬戶的認(rèn)證集成。

華為認(rèn)證服務(wù)提供了端側(cè)和云側(cè) SDK、管理配置門戶界面。當(dāng)應(yīng)用的用戶訪問云數(shù)據(jù)庫、云存儲時,可基于認(rèn)證服務(wù)的用戶憑據(jù)進(jìn)行數(shù)據(jù)訪問安全控制。開發(fā)者在云函數(shù)內(nèi)可以方便地從參數(shù)獲取訪問用戶的憑據(jù)及身份信息。

認(rèn)證服務(wù)的驗證短信和驗證郵件可自動適配全球 78 種語言,無需開發(fā)者干預(yù);華為每月為開發(fā)者提供 3 萬條免費(fèi)短信,進(jìn)一步降低了運(yùn)營成本。

3、云函數(shù)服務(wù)

華為希望為開發(fā)者提供極簡開發(fā)模式,簡化微服務(wù)開發(fā)測試難度;同時幫助開發(fā)者實(shí)現(xiàn)免運(yùn)維和自動彈性伸縮,降低運(yùn)維和資源使用成本。

在華為云函數(shù)服務(wù)體系中有一個觸發(fā)器概念,負(fù)責(zé)在業(yè)務(wù)狀態(tài)數(shù)據(jù)變化時驅(qū)動函數(shù)自動執(zhí)行。開發(fā)者只需完成函數(shù)開發(fā)并上傳,綁定好觸發(fā)器,全部工作就已經(jīng)完成;剩余操作全部由 Serverless 自動處理,并向開發(fā)者通過多種監(jiān)控指標(biāo)呈現(xiàn)函數(shù)的運(yùn)行狀況。

云函數(shù)面向通用場景設(shè)計,移動應(yīng)用絕大多數(shù)后端邏輯均可基于云函數(shù)開發(fā)。云函數(shù)還可快速對接第三方服務(wù)和 API,并通過觸發(fā)器和函數(shù)自定義代碼整合 AGC 服務(wù)構(gòu)建。

4、云存儲服務(wù)

針對開發(fā)者的存儲需求,華為云存儲提供了方便易用的端側(cè)和云側(cè) SDK,使開發(fā)者將更多精力聚焦于業(yè)務(wù)場景。華為云存儲可以幫助應(yīng)用向全球分發(fā)內(nèi)容。針對安全性和成本控制等需求,華為還提供了邊緣節(jié)點(diǎn)、斷點(diǎn)續(xù)傳和網(wǎng)絡(luò)加速能力,以及彈性伸縮、按需計費(fèi)和自動運(yùn)維等能力。

華為云存儲在各個移動平臺都提供了封裝好的 SDK,開發(fā)者只需集成并調(diào)用 SDK 即可實(shí)現(xiàn)業(yè)務(wù)能力。開發(fā)者無需關(guān)心服務(wù)器物料、CDN 環(huán)境等即可自動完成運(yùn)維工作。相比傳統(tǒng)自行搭建存儲平臺的方式,華為云存儲可以節(jié)約開發(fā)團(tuán)隊的大量人力、資金和時間,還能更好地監(jiān)控應(yīng)用運(yùn)行狀況,更彈性地應(yīng)對峰值流量沖擊。

5、云數(shù)據(jù)庫服務(wù)

云數(shù)據(jù)庫是一種可擴(kuò)展的 Serverless 數(shù)據(jù)庫,提供簡單易用的端云 SDK,適用于移動、網(wǎng)頁和服務(wù)器開發(fā)。它可以使應(yīng)用數(shù)據(jù)在端端、端云間自動同步,幫助開發(fā)者快速構(gòu)建安全可靠和高度協(xié)同的應(yīng)用。

開發(fā)者使用云數(shù)據(jù)庫,只需集成簡單的 SDK 即可完成業(yè)務(wù)實(shí)施,免去開發(fā)部署和運(yùn)維的工作負(fù)擔(dān);云數(shù)據(jù)庫還提供了接入安全、端云全密態(tài)數(shù)據(jù)管理、安全防護(hù)和攻擊監(jiān)測等安全能力,以及用戶數(shù)據(jù)的離線支持;在性能方面,華為云數(shù)據(jù)庫支持百萬端側(cè)用戶并發(fā),以及數(shù)據(jù)并發(fā)同步等。

6、云托管服務(wù)

華為云托管服務(wù)是另一項 Serverless 服務(wù),使開發(fā)者可以在無云側(cè)設(shè)備情況下向用戶提供網(wǎng)頁應(yīng)用和靜態(tài)頁面訪問,并依托云托管管理平臺的一站式操作來完成版本部署。云托管服務(wù)具備歷史版本回退能力,同時可以將自有品牌關(guān)聯(lián)到華為網(wǎng)站。

華為云托管服務(wù)提供了豐富的 CDN 節(jié)點(diǎn),可以自動分發(fā)資源滿足流暢訪問需求;服務(wù)內(nèi)置配置證書以實(shí)現(xiàn)可信接入,并可對接云函數(shù)提供動態(tài)網(wǎng)頁內(nèi)容。

7、AppGallery Connect 的其他服務(wù)

除上述 Serverless 服務(wù)外,華為應(yīng)用市場 AppGallery Connect 平臺還提供了質(zhì)量服務(wù)來為開發(fā)者解決應(yīng)用上線的質(zhì)量控制難題。質(zhì)量服務(wù)通過跟蹤測量隨時捕捉應(yīng)用指標(biāo),并通過測試實(shí)驗室的大規(guī)模自動測試來提早發(fā)現(xiàn)應(yīng)用的問題隱患。

質(zhì)量服務(wù)中的崩潰服務(wù)還可以自動監(jiān)測線上用戶的崩潰情況,生成可視化報告,方便開發(fā)者解決問題。

另一項關(guān)鍵服務(wù)是性能管理服務(wù)(APM),提供分鐘級的應(yīng)用性能監(jiān)控能力。開發(fā)者可以在 AppGallery Connect 平臺查看性能數(shù)據(jù),快速發(fā)現(xiàn)并修復(fù)性能問題。開發(fā)者只需在應(yīng)用內(nèi)集成 APM SDK 即可自動開啟性能分析。性能管理服務(wù)具有全流程、場景化、易集成、實(shí)時性和可視化幾大特點(diǎn),可以很好地滿足開發(fā)者對于應(yīng)用性能監(jiān)測的各種需求。

通過本次沙龍的精彩分享,與會者不僅了解了 Serverless 技術(shù)的前世今生,對 Serverless 的各項優(yōu)勢有了深度認(rèn)知,還全方位體會到了華為應(yīng)用市場 AppGallery Connect 技術(shù)體系的強(qiáng)大能力。如今,隨著華為應(yīng)用市場在全球的快速成長,AppGallery Connect 的 Serverless 服務(wù)也將迎來持續(xù)增長與進(jìn)化,成為國內(nèi) Serverless 應(yīng)用領(lǐng)域的佼佼者和領(lǐng)導(dǎo)品牌。

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

熱門排行

信息推薦