多數工程團隊會審計生產環境的開支,卻很少有人關注構建和部署這些環境的底層設施。GitHub Actions的運行時長、ECR鏡像層、構建產物歸檔、臨時測試集群——它們被歸入與業務負載不同的預算科目,很少受到同等審視。漏洞就從這里開始。
這不是關于流水線部署了什么,而是關于流水線本身花了多少錢。
![]()
CI/CD基礎設施成本包含四個組件,多數團隊將其視為固定開銷:運行器計算、鏡像存儲、產物存儲、臨時測試環境。單看每項作業,成本微乎其微。規模化后,它們每月疊加成數千美元。
機制在于速度乘數。一個團隊每天推送50次提交,每次觸發10步流水線,每日產生500次作業執行。每次作業消耗運行器算力、寫入產物存儲、通常還要拉取新鏡像。成本在無人察覺中累積,因為它追蹤的是工程活動,而非你主動配置的資源。
四個組件相互關聯。鏡像層的緩存未命中觸發完整重建,增加5分鐘運行器計算和一次新的ECR寫入。臃腫的產物歸檔持續增長,直到有人設置保留策略。本應"臨時"的集成測試環境運行數月,只因無人負責關閉。
GitHub Actions托管運行器的定價表面簡單。Linux運行器每分鐘0.008美元,Windows每分鐘0.016美元,macOS每分鐘0.08美元。Linux與macOS的價差達10倍,當iOS構建或Xcode工具鏈需要macOS時,這一點至關重要。
一個團隊每天運行500個CI作業,平均每次8分鐘,使用Linux每月花費960美元。同樣負載用macOS則達9600美元。多數團隊不會將其視為每月8640美元差異的決策,他們只選一次運行器類型便不再過問。
自建運行器看似誘人,直到計入閑置時間。一臺m5.xlarge實例按需每小時0.192美元,持續運行每月132美元。利用率15%——這在無自動擴縮容的團隊中很常見——有效每分鐘成本是Linux托管運行器的6.7倍。機器在工程師睡覺時仍在運轉,托管運行器不會。
自建運行器在每月約3000構建分鐘時開始具備成本效益,但前提是配備自動擴縮容以終止閑置節點。低于該閾值,或無自動擴縮容時,托管運行器更便宜且運維更簡單。
Amazon ECR每月每GB收費0.10美元。這個費率聽起來微不足道,直到計算無保留策略時的累積量。
一個團隊每次構建推送一個鏡像,每個1.2 GB,每日200次構建,每日寫入240 GB新鏡像數據。無生命周期規則時,ECR無限期保留每個標簽。一個月內,該賬戶持有7.2 TB鏡像數據,僅存儲費就達每月720美元。大多數鏡像超出...
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.