在剛剛結束的 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元/(核*秒) + 8GB*0.0000127元/(GB*秒) = 0.0006096元 - 調整后:1.5核 6GB規格的函式,每秒費用是
1.5核*0.000127元/(核*秒)+6GB*0.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 兩種規格,函式計算為每個實體提供512MB的免費磁盤空間

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

實作技術揭秘
從上文介紹的案例,可以感受到該功能的實用性和價值,而且這并不是一個復雜的功能,但為什么現在才推出呢?
要回答這個問題,我們需要了解函式計算資源管理系統的作業原理,
高密部署
過去,函式計算使用 Docker 創建容器作為函式的運行環境,為了保證多租環境下的安全,為每個用戶分配獨立的虛擬機,即使只需要運行1個 128MB 的小函式,也需要分配一臺 2核4G 的虛擬機,平臺承擔了資源浪費,由于虛擬機的規格都是固定的,為了提高平臺的資源利用率,在設定函式規格時,只允許設定記憶體大小,并且 CPU 與記憶體的比例與虛擬機規格相近,
現在,函式計算在彈性裸金屬服務器上通過安全容器運行用戶的函式,單機運行 2000+函式實體,實作高密部署,降低平臺成本,

調度優化
實作了高密部署后,還不能直接提供自主選配功能,因為這個功能會導致函式的規格種類呈現多樣化,各種可能的配比會增加函式計算的調度復雜性,降低平臺資源利用率,例如一臺裸金屬服務器上運行了少數函式實體后,就將CPU打滿,而記憶體利用率仍在較低水位,但此時已經無法在該機器上創建新的函式實體,
對于這個問題,函式計算對函式進行資源畫像,統計函式對每種資源的使用情況,在調度函式實體時,選擇最有利于資源互補的機器創建實體,
基于多年來的技術沉淀和高效的調度策略,函式計算不斷提高資源池利用率,這也讓我們敢于提供自主選配功能,為用戶提供更靈活的體驗,更輕松地享受 Serverless 技術的紅利,
點擊閱讀原文,直達函式計算!
https://www.aliyun.com/product/fc
更多內容關注 Serverless 微信公眾號(ID:serverlessdevs),匯集 Serverless 技術最全內容,定期舉辦 Serverless 活動、直播,用戶最佳實踐,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/539038.html
標籤:其他
上一篇:Serverless Devs 重大更新,基于 Serverless 架構的 CI/CD 框架:Serverless-cd
