移動APP持續交付系列之雲構建價值分析
現狀
企業A:小APP,Android、iOS研發各三人;大APP,Android、iOS研發各10人。CICD通過部署一臺jenkins伺服器 + 一臺Android 構建機器來完成Android的APP構建,iOS構建完全依賴開發本地環境。
企業B:3個APP5個研發同學,5臺伺服器年成本一萬左右 ,程式碼規範比較差導致質量不好
企業C:十幾個研發,五六臺伺服器。 尋求一站式交付平臺
可以看出:在企業內部為了支援APP構建需求一般會部署一臺jenkins用作構建任務管理,一臺以上的linux伺服器用於Android APP構建,視實際使用情況量級較小的iOS APP一般在本地完成構建,量級較大的APP會有單獨的構建機器。
成本
中小企業在APP構建部分的成本主要包括三個部分:
- 機器成本
用途
數量
配置
價格(元/年)
jenkins伺服器
1
4C8G+50G儲存
3830.10
Android構建機器
1
4C8G+50G儲存
3830.10
iOS構建機器(自行採購)
1
2.6GHz 處理器1 TB 儲存容量 mac mini
4945.00/4 (三年使用壽命來均攤成本)
OSS 儲存
200G
0.12元/GB/月 * 12
maven、cocoapods類庫倉庫
總計
9184.45
以最小資源消耗來看至少 1臺jenkins + 1臺Android + 1臺mac ,在業務量偏大的場景下可能需要更多的資源來支援構建、maven倉庫、cocoapods倉庫等。
- 人力成本
人力成本主要體現在以下幾個方面:
jenkins服務的搭建、日常維護、升級、異常處理
Android編譯機器的環境搭建、維護、Android SDK升級等
mac mini環境搭建、維護,xcode、cocoapods、證書等升級維護管理
構建異常等特殊情況下的問題排查、解決
簡單測算下一名Android 研發薪資 13263/月* 12 = 159156 (平均薪資資料取自獵聘網)
假設平均花費0.5個Android研發資源 159156 * 0.5 = 79578 元/年
- 時間成本
中小企業團隊沒有足夠的資源進行構建效率提升,使得每次構建相對消耗時間較長。無形中消耗了更多的時間成本。
這部分目前沒有能直觀的量化資料進行成本核算。
總計成本: 9184.45 + 79578 = 88762.45 元
從成本結構觀察,支撐APP 構建的成本主要在於人力成本的支出,而且這部分的工作是相對分散和繁雜的,也相對比較隱蔽不容易直觀體現和測算。
雲構建
雲構建是指通過雲技術提供Linux、MacOS的構建服務,為使用者提供簡單接入、低成本執行、高效的構建能力。
優勢
提供編譯快取、併發構建等能顯著提升構建效率的加速能力
提供環境、網路隔離,穩定的編譯環境
按需獲取資源進行構建,根據實際的構建需求動態排程實現資源的擴充套件和縮減
根據構建日誌智慧反饋構建失敗的排查建議
能夠無縫對接程式碼掃描、APP自動化測試、APP灰度釋出等能力,支援持續整合和支援交付
總結
隨著雲端計算概念的普及,大家對IAAS已經有比較多的認知。構建是研發基本的需求,通過雲服務既可以降低機器成本,又能有效降低開發者在構建服務的資源投入,將精力和時間更多的關注在業務中。