為應(yīng)用開(kāi)發(fā)提供強(qiáng)大支撐:AppGallery Connect Serverless全面解析 | 活動(dòng)推薦

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

為應(yīng)用開(kāi)發(fā)提供強(qiáng)大支撐:AppGallery Connect Serverless全面解析

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

為應(yīng)用開(kāi)發(fā)提供強(qiáng)大支撐:AppGallery Connect Serverless全面解析

一、Serverless 概況與歷史軌跡

1、Serverless 特征

  

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

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

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

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

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

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

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

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

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

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

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

二、AppGallery Connect Serverless 服務(wù)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

為簡(jiǎn)化開(kāi)發(fā)者的認(rèn)證系統(tǒng)構(gòu)建過(guò)程,AppGallery Connect 提供了托管式的認(rèn)證服務(wù),可以全方位保護(hù)開(kāi)發(fā)者的數(shù)據(jù)安全。應(yīng)用認(rèn)證過(guò)程中涉及到的基礎(chǔ)設(shè)施、登錄邏輯、密碼加密、網(wǎng)關(guān)對(duì)接與交付、可靠性、隱私、安全和性能優(yōu)化等工作,都被華為認(rèn)證服務(wù)包裝成為了簡(jiǎn)單的接口調(diào)用。開(kāi)發(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)了跨平臺(tái)支持。認(rèn)證服務(wù)還支持郵箱、微信、QQ、微博、華為帳號(hào)、Facebook、Google 等主流賬戶(hù)的認(rèn)證集成。

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

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

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

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

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

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

4、云存儲(chǔ)服務(wù)

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

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

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

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

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

6、云托管服務(wù)

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

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

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

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

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

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

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

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )