新手入門:無服務器函數和FaaS簡介
無服務器(Serverless)架構的價值在于其成本效益、彈性和擴展性、簡化的開發和部署流程、高可用性和可靠性以及使開發者能夠專注于業務邏輯。通過自動化資源調配和按需計費,無服務器架構能夠降低成本并適應流量變化,同時簡化開發流程并提供可靠的基礎設施。這使得開發者能夠更快速地推出新功能,滿足用戶需求,從而實現業務目標。
延伸閱讀,點擊鏈接了解 Akamai Cloud Computing
然而作為新手,當我們準備構建自己的首個容器化應用程序時,可能會將函數、無服務器和Kubernetes等基本概念混為一談。Akamai將通過本文向大家詳細介紹這些概念的含意,為構建可擴展的云原生應用程序奠定基礎。
Kubernetes是什么?
“Kubernetes是一種用于管理容器生命周期,以及管理運行容器的節點所使用的容器編排工具。“
上述這句話的含意可以這樣分開來理解:
- 總的來說,容器是一種打包的應用程序,其中已經包含了應用程序的所有依賴項,不依賴底層操作系統提供的任何額外的庫即可運行。
- 容器可以匯聚成組,形成在大量節點上運行的多個Pod。
- 節點是一種計算單元,通常是運行Linux的虛擬機(但從技術上來看,也可以是集群中運行Pod或容器組的任何虛擬或物理服務器)。
Kubernetes將協調節點的創建工作,并根據開發者定義的條件,在不同節點上部署、銷毀和移動容器與Pod。
為了構建和自動運行容器化應用程序,并實現規模化和高可用性,Kubernetes至關重要。
Kubernetes與無服務器函數和FaaS有很大差異,但通常可用于支撐運行這些技術的后端。
無服務器是什么?
無服務器(Serverless)是一種開發模型,可以讓開發者通過容器發布代碼,而無需管理服務器或其他云基礎設施。云服務提供商負責管理服務器/操作系統以及該級別之下的一切,借此可以為開發者提供高度精簡的環境,開發者可以在此基礎上編寫和部署代碼。
不同提供商的稱呼可能各異,但無服務器架構將責任從開發者轉移到云服務提供商,涵蓋了從服務器級別到更底層的一切。
函數是什么?
為應用程序構建的模塊化組件通常可稱為微服務(Microservice),開發者可以通過微服務將經常使用的功能“切分”為代碼塊,而這些代碼塊就叫作函數(Function),可在相應事件被觸發后執行。
任何可以觸發一個或一系列事件的用戶活動都可以部署為函數。例如,用戶在我們的網站上注冊,可能會觸發數據庫更改,進而觸發發送歡迎電子郵件。我們可以用一系列無服務器函數來處理這背后的后臺工作。

函數即服務(FaaS)是什么?

“即服務”這個稱呼似乎已經開始被行業中的所有事物所使用。一般來說,任何“即服務”的意思都是指云服務提供商通過后端基礎設施,讓自己的用戶能夠流暢地訪問作為服務的那些功能。FaaS使開發者能夠直接構建和運行函數,而無需維護任何基礎設施。FaaS通常會按執行時間收費,這意味著只有在代碼片段運行時才會計費。與全天候運行服務器相比,這是一種極具成本效益的做法。
FaaS平臺會圍繞特定基礎設施技術(如Kubernetes)進行構建,或提供GUI來創建函數并將其連接到應用程序而無須編寫任何代碼,從而讓函數易于部署和管理。
社區提交的函數讓用戶可以更容易地查找和實施用于優化應用程序性能的邏輯。FaaS是一種熱門產品,很多云服務提供商都有相應服務,借此幫助用戶在一個平臺上管理函數和應用程序基礎設施。
總結
如果您目前的應用程序開發工作就用到了任何云平臺提供的函數,那么歡迎通過評論將使用感受分享給Akamai。Akamai云計算服務正在探索是否可以將函數添加到Akamai云平臺。歡迎通過評論告訴我們,您希望在Akamai云平臺上使用或看到怎樣的函數服務。
—————————————————————————————————————————————————
如您所在的企業也在考慮采購云服務或進行云遷移,
點擊鏈接了解Akamai Linode的解決方案