什麼是全棧式無伺服器? - DEV

banq發表於2020-10-13

全棧式無伺服器(Full Stack Serverless)是將無伺服器Serverless技術與端到端全棧架構相結合,開發人員能夠以過去無法實現的方式來實現雲中部署與複製,並在複雜的可擴充套件雲應用程式上進行迭代。
全棧無伺服器應用程式具有以下三個特徵:
  1. 松耦合的前端
  2. 基礎架構即程式碼
  3. 無伺服器技術,以最少的開發獲得最大的可擴充套件性

由於許多無伺服器技術(例如AWS Amplify,CDK和無伺服器框架(以及其他))都在降低使用IAC(基礎架構即程式碼)構建雲應用程式的入門門檻,因此,新一代的傳統前端開發人員可以使用他們現有的網路和移動技能,以構建傳統上無法實現的應用程式型別。
當我說使用他們現有的技能時,我假設典型的前端或全棧開發人員熟悉以下內容:
  1. JavaScript,TypeScript或Python
  2. 與CLI互動
  3. 與RESTful和/或GraphQL APIS互動的基本理解

全棧式無伺服器(Full Stack Serverless)應用程式可以作為端對端專案進行共享和部署,而不必擔心開發人員的本地環境,因為所有基礎架構都在雲中執行。可以輕鬆部署它們、共享它們、對其進行迭代和重新使用它們。
只需數分鐘即可建立和銷燬後端基礎架構,從而使開發人員不必擔心會產生大量開發成本。因為服務是無伺服器的,所以無論如何開發成本都將很低。
 

為什麼使用無伺服器?
全棧式無伺服器(Full Stack Serverless)嚴重依賴Serverless理念來構建後端功能。這意味著需要考慮以下因素:

  • 開發人員的速度高於服務所有權
  • 專注於創造業務價值與重新發明輪子
  • 總擁有成本應在基本層面上理解(每次計算的報酬->變數與資本支出)
  • 程式碼是責任
  • 如果它可以作為服務使用,則永遠不要從頭開始構建
  • 無伺服器函式填補了託管服務無法覆蓋的空白

研究還表明,雲端計算正變得越來越無伺服器,這意味著無伺服器比無伺服器更具前瞻性。

在《簡化的雲程式設計:關於無伺服器計算的伯克利觀點》中,對雲端計算的未來的預測是:
  • 我們期望建立新的BaaS儲存服務,以擴充套件在無伺服器計算上執行良好的應用程式型別。這樣的儲存將與本地塊儲存的效能相匹配,並具有臨時性和永續性變體。與當今為其提供支援的傳統x86微處理器相比,我們將看到用於無伺服器計算的計算機硬體具有更多的異構性。
  • 我們期望無伺服器計算比高伺服器計算更安全地程式設計,這得益於高階程式設計抽象和雲功能的細粒度隔離。
  • 我們看不出無伺服器計算的成本應該比無伺服器計算的成本高的根本原因,因此我們預測計費模型將不斷髮展,因此幾乎任何規模的應用程式幾乎都不會因使用Serverless而花費更多甚至更少計算。
  • Serverful計算的未來將是促進BaaS。事實證明,在無伺服器計算之上難以編寫的應用程式(例如OLTP資料庫)或通訊原語(例如佇列)可能會作為所有云提供商提供的更豐富的服務的一部分提供。
  • 儘管無伺服器雲端計算不會消失,但隨著無伺服器計算克服其當前的侷限性,該部分雲的相對重要性將下降。
  • 無伺服器計算將成為Cloud Era的預設計算範例,在很大程度上取代Serverful計算,從而為Client-Server Era帶來封閉。

在上面的論文中,他們將術語“無伺服器”重新定義為:
簡而言之,無伺服器計算= FaaS + BaaS。
Serverless無伺服器的定義不再只是作為服務函式,現在還包括後端即服務(Baas)。您還將經常看到Serverless被更多地討論為一種哲學,策略頻譜
除了無伺服器技術的傳統優勢之外,無伺服器技術比有伺服器Serverful更受青睞的另一個主要原因是:

降低傳統非後端開發人員的進入門檻
因為開發人員正在利用託管服務提供身份驗證和資料庫等功能,而不必管理基礎架構,所以與傳統的Serverful雲端計算相比,它對新開發人員的進入門檻更低。

 

相關文章