做者 | 代志鋒(雲果) 阿里雲技術專家網絡
本文整理自《Serverless 技術公開課》less
導讀:本節課程有三部份內容,首先闡述 ECI 支持成本優化的幾種方式,而後重點介紹 Spot 實例是什麼以及如何採用 Spot 實例進行成本優化,最後總結 Spot 實例支持的場景以及注意事項。ide
ECI 除了有秒級彈性、無限容量的優點以外,在一些特定場景下對成本的優化也是很是明顯的,經過上圖咱們能夠看到,相同規格的實例,在日運行時間少於 14 小時的時候,使用 ECI 會更加便宜。測試
除了日運行時長小於 14 小時的情形,ECI 實例還支持多種計費類型,客戶能夠根據自身業務選擇相應的計費模式:long run 類型的能夠採用 RI 實例券;運行時長低於 1 小時能夠選用 Spot 競價實例;針對突發流量部分,採用按量實例。大數據
搶佔式實例是一種按需實例,能夠在數據計算等場景中下降計算成本。搶佔式實例建立成功後擁有一小時的保護週期。搶佔式實例的市場價格會隨供需變化而浮動,咱們支持兩種 spot 策略,一種是徹底根據市場出價,一種是指訂價格上限,咱們只須要給 pod 加上對應的 annotation 便可,使用方法很是簡單。優化
首先咱們查詢出【華北 2(北京)地域 ecs.c5.large 按量(小時)價格:0.62】,而後咱們以此規格來建立 Spot 競價實例。阿里雲
採用 Spot 實例來運行 CronJob,分別採用「指定最高限價」、「系統自動出價」的方式。隨市場價的場景目前尚未辦法直接看到真實的價格,只能根據實例 ID 查詢帳單信息。編碼
採用 Spot 實例運行 Deployment,在本次實驗中咱們採用指定最高限價的策略,並設置一個極低的小時價格,能夠看到 2 個 Pod 都建立失敗了,使用 kubectl describe 命令能夠看到失敗的詳細緣由爲價格不匹配:The current price of recommend instanceTypes above user max price。3d
如上圖所示,當 Spot 實例運行超過 1 小時保護期後,有可能會由於庫存不足,或者設置的價格小於市場價而觸發實例釋放,實例釋放前 3 分鐘會有事件通知。server
您能夠在搶佔式實例上部署如下業務:
搶佔式實例適用於無狀態的應用場景,例如可彈性伸縮的 Web 站點服務、圖像渲染、大數據分析和大規模並行計算等。應用程序的分佈度、可擴展性和容錯能力越高,越適合使用搶佔式實例節省成本和提高吞吐量。
須要結合自身業務特徵,並充分考慮到市場價格波動的狀況下選擇合理的出價。
1 小時到期時,系統會嘗試再次出價,如庫存充足則不會被釋放。
不超過相同規格按量最高價(原價)。
搶佔式 ECI 實例依然支持 ECS InstanceType、CPU / 內存形式兩種建立方式。
支持,跟非 GPU 方式同樣。