1. 程式人生 > 其它 >降價背後,函式計算規格自主選配功能揭祕

降價背後,函式計算規格自主選配功能揭祕

作者:吳森梵(仰森)

在剛剛結束的 2022 杭州 · 雲棲大會上,阿里雲宣佈函式計算 FC 開啟全面降價,vCPU 單價降幅 11% ,其他的各個獨立計費項最高降幅達 37.5% 。函式計算 FC 全面降價,讓 Serverless 更加普惠,使用者可隨用隨取,按量計費,用更低成本採用 Serverless 架構,但是函式計算 FC 究竟在技術上作出怎樣的升級才促成本次降價發生呢?本文將全面揭祕幕後關鍵技術——函式規格自主選配功能

痛點:規格靈活度低,成本浪費

隨著越來越多使用者逐步將更多樣化的負載部署至函式計算,比如 CPU 密集型,IO 密集型等,這些負載中有的需要更大的磁碟,但函式計算卻只提供了按照記憶體大小等比例分配算力的能力,此時為了滿足需求最大的一項,使用者需要設定比實際所需更大的規格,這並不利於更精確的控制成本。但由於可選的規格方案數量較少,加上較大的梯度,進一步削弱了靈活性。

為解決以上痛點,函式計算提供了規格自主選配功能,不僅放開了 CPU 和記憶體固定比例的限制,同時提供極小的梯度,精確地設定函式規格,讓函式需要多少用多少,提升資源利用率的同時,降低使用者成本。

規格自選功能如何幫助降低使用者成本?

接下來以具體案例進行展示,讓大家直觀地瞭解函式規則自主選配功能的優勢。

貼合實際資源用量的函式規格

下圖展示了函式執行期間 vCPU 和記憶體的使用情況,該函式的 vCPU 用量一直低於1.5核,記憶體用量低於 6GB,資源浪費明顯,使用者需要為沒使用到的資源付費。

在推出自主選配功能前,函式計算提供的記憶體規格有 4GB、8GB、16GB、32GB。由於該函式記憶體最大使用量超過 5GB,為確保函式正常執行,只能配置記憶體為 8GB,該記憶體對應的 vCPU 規格為 4 核。

現在,我們可以將函式規格調整為 1.5核 vCPU 和 6GB 記憶體,顯著提升資源利用率的同時,成本也降低到了原來的 44%。

  • 調整前:4核 8GB規格的函式,每秒費用是 4核0.000127元/(核秒) + 8GB0.0000127元/(GB秒) = 0.0006096元

  • 調整後:1.5核 6GB規格的函式,每秒費用是1.5核0.000127元/(核秒)+6GB0.0000127元/(GB秒)=0.0002662元

tips:觀察監控指標頁面的例項指標,如果函式不能充分利用vCPU或記憶體資源,考慮調整函式規格以降低成本。

更細粒度 GPU 算力

在一些演算法場景下,我們將模型部署到雲上提供線上推理服務,假設模型需要使用 1.8GB 的視訊記憶體,如果採用傳統方案,購買配備 GPU 資源的雲伺服器,最低視訊記憶體是 8GB,執行單個線上推理服務時,GPU 利用率低於 25%,存在巨大的浪費。即使通過單機執行多個線上推理服務來提高利用率,但需要額外開發請求排程功能、平衡其他型別資源的分配,增加開發和運維的複雜性,並且彈效能力幾乎為 0。

相比於持有整張 GPU 卡,使用函式計算可以僅為函式分配 2GB 的視訊記憶體,實現對資源利用率極致壓榨的同時,也收穫了強大的彈效能力,節省資源成本和運維成本。

立即體驗

規格自主選配功能現已對所有使用者開放,您可以在函式計算控制檯的函式配置頁面修改 CPU、記憶體、磁碟和 GPU資源的規格,但需滿足如下具體規則如下:

  • vCPU:在 0.05 核到 16 核的範圍內,且是 0.05 核的倍數
  • 記憶體:在 128MB 到 32GB 的範圍內,且是 64MB 的倍數
  • GPU:在 2GB 到 16GB 的範圍內,且是 1GB 的倍數
  • 磁碟:提供了 512 MB 和 10GB 兩種規格,函式計算為每個例項提供 512 MB 的免費磁碟空間

如果您使用 Serverless Devs  工具,可以通過配置 function 欄位的 memorySize、cpu 和 diskSize 屬性實現相同的效果,其中 memorySize 和 diskSize 的單位為 MB,cpu 單位為核數。

實現技術揭祕

從上文介紹的案例,可以感受到該功能的實用性和價值,而且這並不是一個複雜的功能,但為什麼現在才推出呢?

要回答這個問題,我們需要了解函式計算資源管理系統的工作原理。

高密部署

過去,函式計算使用 Docker 建立容器作為函式的執行環境,為了保證多租環境下的安全,為每個使用者分配獨立的虛擬機器,即使只需要執行 1 個 128MB 的小函式,也需要分配一臺 2 核 4G 的虛擬機器,平臺承擔了資源浪費。由於虛擬機器的規格都是固定的,為了提高平臺的資源利用率,在設定函式規格時,只允許設定記憶體大小,並且 CPU 與記憶體的比例與虛擬機器規格相近。

現在,函式計算在彈性裸金屬伺服器上通過安全容器執行使用者的函式,單機執行 2000+函式例項,實現高密部署,降低平臺成本。

排程優化

實現了高密部署後,還不能直接提供自主選配功能,因為這個功能會導致函式的規格種類呈現多樣化,各種可能的配比會增加函式計算的排程複雜性,降低平臺資源利用率。例如一臺裸金屬伺服器上運行了少數函式例項後,就將 CPU 打滿,而記憶體利用率仍在較低水位,但此時已經無法在該機器上建立新的函式例項。

對於這個問題,函式計算對函式進行資源畫像,統計函式對每種資源的使用情況,在排程函式例項時,選擇最有利於資源互補的機器建立例項。

基於多年來的技術沉澱和高效的排程策略,函式計算不斷提高資源池利用率,這也讓我們敢於提供自主選配功能,為使用者提供更靈活的體驗,更輕鬆地享受 Serverless 技術的紅利。

點選此處,直達函式計算!