去年,Linux基金會旗下有個FinOps基金會,調查了1千多家企業上雲的花費,結果相當驚人!超過36%的企業,上雲費用每年超過了百萬美元,甚至有少數大型企業付了超過10億美元之多。雲端資源看似沒有極限,但最大的代價就是得按用量計價,用越多、越久,就越貴。

所以,國外企業積極上雲多年之後,這兩年開始回頭檢視雲端費用的管理挑戰,興起了一股FinOps浪潮。

不少重度上雲的大型企業,也陸續分享了自身推動FinOps的經驗。例如一年科技預算超過150億美元的摩根大通,也開始重視雲端成本的控管,在內部組成了一個FinOps社群,集結了CIO、財務部門、AP擁有者、業務第一線人員、IT現代化推動團隊等角色,讓所有與上雲相關的人員,共通分攤上雲維運責任,也共同管理雲端財務。

摩根大通一方面讓跨雲支出更加透明化,另一方面則是盡可能將各種雲端資產用到必要的刀口,先聚焦在6項持續改善的行動,包括建立責任共享和分攤的制度、改善效能、優化資料架構、改善資料應用、提升資料透明度、優化維運方法。

全球零售龍頭Walmart則是推動FinOps的組織協作,要求工程團隊開始注重每一天的上雲花費,更從每天花費的變化率,來思考對顧客的影響。FinOps支援團隊不介入各部門的FinOps改善,而是想辦法促進工程團隊和業務團隊之間的合作,共同討論和激盪,有哪些可能改善效率的機會,來達到降低上雲費用的效果。

不論是摩根大通或是Walmart,上雲成本控管的一大關鍵都是要盡可能提高軟體系統的運作效率。但該怎麼做,可以做得更好呢?

在去年re:Invent 2023大會上,全球最大電商Amazon技術長Werner Vogels提出一個新軟體架構設計法則,稱為「節約架構(Frugal Architect)」設計法則,他呼籲企業,要將成本意識納入軟體架構設計中,進而達成永續目標。這個節約架構,來自亞馬遜二十多年來軟體開發經驗的總結。

這個節約架構包括了三大類、七項軟體架構設計法則,Vogels用法則來形容,意思是指這是7條過往龐大經驗的心得,而非硬性的規定。並區分成三類,「設計(Design)」、「量測(Measure)」與「最佳化(Optimize)」,則是要提供一個框架式的思考架構。

第一條法則就是「將成本納入非功能性需求」,和資安、法規遵循、無障礙設計、效能、可用性、擴充性、可維護性等都是必要的非功能性需求,在軟體架構設計的每一個環節都要有成本意識。其次,「系統成本必須跟公司獲利保持一致」,確保系統成本支出提高時,營收也要成長,第三是「系統架構是一連串的權衡和取捨」,要保持軟體架構可以不斷進化和改善。

等到軟體系統上線後,還需要進行各種量測,Werner Vogels提出的第四法則是,「無法量測的系統必有隱藏的成本」。能夠想辦法量測,才能依據成本效益和永續指標來訂定基準,例如用於開發新功能的策略,或是作為系統改善的衡量基準。

像亞馬遜購物網站採微服務架構,他們會先計算每一個微服務的運算成本,再來衡量網站上,每一個功能所用微服務的成本加總,再除以網頁瀏覽量,就能知道,每讀取一個網頁的單位運算成本。搭配每個網頁帶來的下單轉換率,就能知道網頁成本和轉換率的關係,來分析成本效益。

有了清楚的成本結構,就能夠建立成本控制措施,來進行各項最佳化。節約架構第五法則就是「有成本意識的架構必有成本控制措施」。

推動最佳化時也得意識到,「成本最佳化是漸進的」,這是第六法則,需要持續調整,逐漸改善,從不起眼的細節改善,來避免累積成很大的數位浪費。更可以透過應用程式效能分析(Profiling),來了解隱藏的數位浪費。

最後一項法則與態度有關,「無庸置疑的成功必將導致錯誤的臆斷」。Werner Vogels提醒,一昧複製過去的成功,就無法持續改善,軟體開發團隊得打破技術本位的思維,來保持進步。

這七大法則都是老一輩軟體開發前輩的老生常談,但Werner Vogels認為,逐漸失傳的技藝,隨著永續需求迎面而來,從運算成本著手,將是最接近達成永續目標的作法。

 相關報導 

搶救 IT 失傳技藝,亞馬遜技術長倡議節約架構

專欄作者

熱門新聞

Advertisement