當前位置: 首頁 > 能源互聯(lián)網(wǎng) > 云計算

云計算未來的發(fā)展趨勢之無服務器架構(gòu)簡介

TechWeb發(fā)布時間:2020-06-01 11:51:46

  無服務器計算(Severless computing,簡稱 Serverless)現(xiàn)在是軟件架構(gòu)圈中的熱門話題,三大云計算供應商(Amazon、Google 和 Microsoft)都在大力投入這個領域,涌現(xiàn)了不計其數(shù)的相關(guān)書籍、開源框架、商業(yè)產(chǎn)品、技術(shù)大會。但是什么是無服務器,為什么值得考慮?我希望在本文中對這些問題有所啟發(fā)。

  什么是Serverless?

  就像軟件行業(yè)中的很多趨勢一樣,Serverless 的界限并不是特別清晰,尤其是它還涵蓋了兩個互相有重疊的概念:

  1)Serverless 最早用于描述那些大部分或者完全依賴于第三方(云端)應用或服務來管理服務器端邏輯和狀態(tài)的應用,這些應用通常是富客戶端應用(單頁應用或者移動端 App),建立在云服務生態(tài)之上,包括數(shù)據(jù)庫(Parse、Firebase)、賬號系統(tǒng)(Auth0、AWS Cognito)等。這些服務最早被稱為 “(Mobile) Backend as a Service”,下文將對此簡稱為 “BaaS”。

  2)Serverless 還可以指這種情況:應用的一部分服務端邏輯依然由開發(fā)者完成,但是和傳統(tǒng)架構(gòu)不同,它運行在一個無狀態(tài)的計算容器中,由事件驅(qū)動、生命周期很短(甚至只有一次調(diào)用)、完全由第三方管理。這種情況稱為 Functions as a service / FaaS。AWS Lambda 是目前的熱門 FaaS 實現(xiàn)之一,下文將對此簡稱為 “FaaS”。

  界面驅(qū)動的應用(UI-driven applications)

  我們來設想一個傳統(tǒng)的三層C/S 架構(gòu),例如一個常見的電子商務應用(比如在線寵物商店),假設它服務端用 Java,客戶端用 HTML/JavaScript:

  

  在這個架構(gòu)下客戶端通常沒什么功能,系統(tǒng)中的大部分邏輯——身份驗證、頁面導航、搜索、交易——都在服務端實現(xiàn)。

  把它改造成Serverless 架構(gòu)的話會是這樣:

  這是張大幅簡化的架構(gòu)圖,但還是有相當多變化之處:

  我們移除了最初應用中的身份驗證邏輯,換用一個第三方的BaaS 服務。

  另一個BaaS 示例:我們允許客戶端直接訪問一部分數(shù)據(jù)庫內(nèi)容,這部分數(shù)據(jù)完全由第三方托管(如 AWS Dynamo),這里我們會用一些安全配置來管理客戶端訪問相應數(shù)據(jù)的權(quán)限。

  前面兩點已經(jīng)隱含了非常重要的第三點:先前服務器端的部分邏輯已經(jīng)轉(zhuǎn)移到了客戶端,如保持用戶Session、理解應用的 UX 結(jié)構(gòu)(做頁面導航)、獲取數(shù)據(jù)并渲染出用戶界面等等??蛻舳藢嶋H上已經(jīng)在逐步演變?yōu)閱雾搼谩?/p>

  還有一些任務需要保留在服務器上,比如繁重的計算任務或者需要訪問大量數(shù)據(jù)的操作。這里以“搜索”為例,搜索功能可以從持續(xù)運行的服務端中拆分出來,以 FaaS 的方式實現(xiàn),從 API 網(wǎng)關(guān)(后文做詳細解釋)接收請求返回響應。這個服務器端函數(shù)可以和客戶端一樣,從同一個數(shù)據(jù)庫讀取產(chǎn)品數(shù)據(jù)。 我們原始的服務器端是用 Java 寫的,而 AWS Lambda(假定我們用的這家 FaaS 平臺)也支持 Java,那么原先的搜索代碼略作修改就能實現(xiàn)這個搜索函數(shù)。

  最后我們還可以把“購買”功能改寫為另一個 FaaS 函數(shù),出于安全考慮它需要在服務器端,而非客戶端實現(xiàn)。它同樣經(jīng)由 API 網(wǎng)關(guān)暴露給外部使用。

  消息驅(qū)動的應用(Message-driven applications)

  再舉一個后端數(shù)據(jù)處理服務的例子。假設你在做一個需要快速響應UI 的用戶中心應用,同時你又想捕捉記錄所有的用戶行為。設想一個在線廣告系統(tǒng),當用戶點擊了廣告你需要立刻跳轉(zhuǎn)到廣告目標,同時你還需要記錄這次點擊以便向廣告客戶收費。

  傳統(tǒng)的架構(gòu)會是這樣:“廣告服務器”同步響應用戶的點擊,同時發(fā)送一條消息給“點擊處理應用”,異步地更新數(shù)據(jù)庫(例如從客戶的賬戶里扣款)。

 

  在Serverless 架構(gòu)下會是這樣:

  這里兩個架構(gòu)的差異比我們上一個例子要小很多。我們把一個長期保持在內(nèi)存中待命的任務替換為托管在第三方平臺上以事件驅(qū)動的FaaS 函數(shù)。注意這個第三方平臺提供了消息代理和 FaaS 執(zhí)行環(huán)境,這兩個緊密相關(guān)的系統(tǒng)。

評論

用戶名:   匿名發(fā)表  
密碼:  
驗證碼:
最新評論0

相關(guān)閱讀

云計算的技術(shù)優(yōu)勢和商業(yè)優(yōu)勢是什么?

近年來,云計算發(fā)展迅猛,同時隨著大數(shù)據(jù)、人工智能等研究的不斷深入,云計算作為其重要技術(shù)和支撐,未來仍會有巨大的發(fā)展空間。下面和千鋒廣州小編一起來看看吧。
云計算2020-05-26

2020年云計算產(chǎn)業(yè)鏈現(xiàn)狀及發(fā)展趨勢

中國云計算市場處于快速發(fā)展階段,容器、微服務等技術(shù)的不斷成熟,推動著云計算的變革。隨著云計算的應用場景的不斷拓展,云計算的應用已深入達到政府、金融、工業(yè)、交通、物流等傳統(tǒng)行業(yè)。

云計算戰(zhàn)火再燃,企業(yè)級市場能否成就金山云?

金山云專注于為企業(yè)提供云服務。從2014年提出“All in Cloud”開始,金山云已經(jīng)成長為中國第三大互聯(lián)網(wǎng)云服務提供商,以及最大的獨立云服務提供商。眼下,金山云更是成功登陸納斯達克,股票代碼為“KC”。
云計算2020-05-09

大數(shù)據(jù)、云計算…34億的新基建,怎么才能薅到這波“數(shù)字紅利”

十年前,我們錯過了傳統(tǒng)基建這一風口上的紅利,十年后,新基建帶著新的風口向我們招手,沒薅到傳統(tǒng)基建的羊毛,這次就一定要薅到新基建的羊毛,但是我們應該怎么才能薅到這波“數(shù)字紅利”?
深度閱讀2020-04-30

云計算沖刺2020:華為云躋身前三 HAT爭霸賽開啟

都說華為進入一個行業(yè),就將重構(gòu)產(chǎn)業(yè)格局。云計算領域延續(xù)了這一定律,新晉者華為云在三年內(nèi),就躋身國內(nèi)前三、全球排名進入前六。
云計算2020-04-24

新基建有望拉動10萬億投資 中外巨頭爭奪云計算市場

新冠疫情令全球經(jīng)濟陷入了一場空前危機。經(jīng)濟學家預計,今年全球經(jīng)濟將出現(xiàn)衰退,中國將是為數(shù)不多的仍然實現(xiàn)增長的經(jīng)濟體。對新基建等領域的投資將成為拉動中國經(jīng)濟增長的重要驅(qū)動力。

3年投2000億加碼新基建,阿里云還欲在滬落地新經(jīng)濟發(fā)展

 4月20日,阿里云宣布,未來3年再投2000億元,用于云操作系統(tǒng)、服務器、芯片、網(wǎng)絡等重大核心技術(shù)研發(fā)攻堅和面向未來的數(shù)據(jù)中心建設。

騰訊云全面擁抱工業(yè)互聯(lián)網(wǎng) 助力數(shù)字新基建

 在垂直行業(yè)領域,騰訊與富士康、三一重工等領軍企業(yè)深度合作,并協(xié)助企業(yè)推出了各自的工業(yè)互聯(lián)網(wǎng)平臺,一方面滿足集團內(nèi)部集約化管理和服務,實現(xiàn)IT基礎資源彈性伸縮、工業(yè)軟件服務共享、軟件開發(fā)敏捷化、數(shù)據(jù)互聯(lián)互通、業(yè)務場景創(chuàng)新等

國家發(fā)改委發(fā)文:構(gòu)建產(chǎn)業(yè)互聯(lián)網(wǎng)平臺助力經(jīng)濟高質(zhì)量發(fā)展

日前,國家發(fā)改委發(fā)布《關(guān)于推進“上云用數(shù)賦智”行動,培育新經(jīng)濟發(fā)展實施方案》(以下簡稱《方案》),為加快數(shù)字產(chǎn)業(yè)化和產(chǎn)業(yè)數(shù)字化,助力建設現(xiàn)代化產(chǎn)業(yè)體系,實現(xiàn)經(jīng)濟高質(zhì)量發(fā)展,提出了多項舉措。
焦點頭條2020-04-14

國家發(fā)改委發(fā)文:構(gòu)建產(chǎn)業(yè)互聯(lián)網(wǎng)平臺助力經(jīng)濟高質(zhì)量發(fā)展

日前,國家發(fā)改委發(fā)布《關(guān)于推進“上云用數(shù)賦智”行動,培育新經(jīng)濟發(fā)展實施方案》(以下簡稱《方案》),為加快數(shù)字產(chǎn)業(yè)化和產(chǎn)業(yè)數(shù)字化,助力建設現(xiàn)代化產(chǎn)業(yè)體系,實現(xiàn)經(jīng)濟高質(zhì)量發(fā)展,提出了多項舉措。