什麼是函式即服務 (FaaS)?

FaaS 是一種無伺服器後端服務,讓開發人員能夠動態地編寫模組化程式碼片段,以在回應某些事件時執行。

學習目標

閱讀本文後,您將能夠:

  • 定義 FaaS
  • 探索 FaaS 的優缺點
  • 描述為什麼大型邊緣網路對 FaaS 應用程式效能至關重要

複製文章連結

什麼是「功能即服務」?

功能即服務 (FaaS) 是在邊緣執行模組化代碼片段的無伺服器方法。FaaS 使開發人員可以即時編寫和更新一段代碼,然後在回應事件(例如使用者按一下 Web 應用程式中的元素)時執行該代碼。這使得擴展代碼變得容易,並且是實現微服務的一種經濟高效的方法。

什麼是微服務?

如果說 Web 應用程式是視覺藝術作品,那麼使用微服務架構就像製作馬賽克拼貼畫。藝術家可以輕鬆地一次新增、更換和修復一小塊圖塊。單體架構就像在一塊畫布上繪出整個作品。

微服務與單體架構

這種用一組模組化元件構建應用程式的方法稱為微服務架構。將應用程式劃分為微服務對開發人員而言很有吸引力,因為這意味著開發人員可以建立和修改可輕鬆實作到代碼庫中的小段代碼。這與單體架構相反,在單體架構中,所有代碼都交織到一個大型系統中。對於大型的單體系統,即使對應用程式進行很小的變更,也需要繁重的部署過程。FaaS 消除了這種部署複雜性。

使用 FaaS 等無伺服器代碼,Web 開發人員可以專注于編寫應用程式碼,而無伺服器提供者則負責伺服器配置和後端服務。

使用 FaaS 有什麼優勢?

提高開發人員速度

使用 FaaS,開發人員可以將更多的時間花在編寫應用程式邏輯上,而將更少的時間用於伺服器和部署上。這通常意味著開發週期更短。

內建可擴展性

由於 FaaS 代碼本身具有可擴展性,因此開發人員不必擔心會因為高流量或大量使用而產生意外情況。無伺服器提供者將處理所有擴展問題。

成本效益

與傳統的雲端提供者不同,無伺服器 FaaS 提供者不會向客戶收取空閒運算時間的費用。因此,客戶僅需對使用時間支付費用,而無需浪費金錢來過度佈建雲端資源。

FaaS 有哪些缺點?

更少系統控制

由第三方管理基礎結構的一部分會使您難以理解整個系統,並增加了偵錯挑戰。

測試的複雜性提高

將 FaaS 代碼合併到本機測試環境中可能非常困難,因此對應用程式進行全面測試會成為一項更加繁重的任務。

如何開始使用 FaaS

開發人員必須與無伺服器提供者建立關係,方可將 FaaS 功能用於 Web 應用程式。由於 FaaS 整合意味著將從邊緣傳送一些應用程式代碼,因此邊緣伺服器的可用性和地理分佈是一個重要的考慮因素。義大利的使用者存取依賴于巴西一個超載資料中心提供的 FaaS 邊緣代碼的網站時,會遇到導致高跳出率的延遲。Cloudflare Workers 是一個 FaaS 解決方案,它利用 Cloudflare 遍佈超過 330 座城市的資料中心全球網路,因此成為一個廣受歡迎的選擇。