當我們在討論現代雲端架構時,Serverless 無疑是最受關注的概念之一。而要真正理解 Serverless,我們必須深入了解其最重要的支柱—FaaS (Function-as-a-Service, 函數即服務)。
從技術本質上看,Serverless 是「事件驅動」(event-driven)的,由第三方服務(third-party services)、客戶端邏輯(client-side logic)與在雲端上的遠端程序呼叫(cloud-hosted remote procedure calls)所組成。這第三個組成的核心元素就是 FaaS。
FaaS 的四大核心技術要素
- 就是個函式 (Independent, server-side, logical functions): 名如其實,functions 就如同我們會在程式碼裡面寫的 functions,獨立、分離、自成一格。
- 無狀態執行 (Stateless by Nature): 每個請求都是獨立的。每次執行不會受到之前的執行內容/結果影響。任兩次對同一個 function 的呼叫可能會在完全不同的容器(container)裡面執行。
- 瞬時啟動與銷毀 (Ephemeral & Instant): FaaS 隨叫隨開,並且做完了任務就馬上關掉,需要的啟動時間與關機時間都非常的短(尺度是毫秒級)。
- 事件驅動 (Event-triggered): 雖然 functions 可以直接被調用,它們通常會從其他雲端服務被觸發,像是 HTTP 請求、資料庫變動事件、或是內部訊息隊列通知。FaaS 比較常被使用的情境是雲端環境中各服務之間的橋樑。
- 默認高度可擴展 (Scalable by default): 你可以一次啟動好幾百個 container 來同時呼叫同一個 function。就算同一時間有成千上萬的請求(incoming request)也完全不需要擔心伺服器過載。
作為領先的雲端技術團隊,CloudFun 全力擁抱 FaaS,幫助企業排除伺服器維護的煩惱,聚焦於核心業務代碼的編寫,以最具效益的運算架構為客戶創造價值。
準備好實現全自動擴展的微服務架構了嗎?
CloudFun 提供從 legacy 系統到 AWS Lambda 或 Google Cloud Functions 的架構重塑、代碼拆分與完全託管服務,幫助您的應用實現毫秒級擴展與極致的零空閒成本支出。
立即與 FaaS 部署專家對談