亞馬遜云科技CTO Werner Vogels向企業傳達了一條信息:在管理云成本方面,是時候成為儉約的架構師了。

在過去17年里,Werner Vogels帶領著亞馬遜從一家在線圖書銷售商轉變為全球最大的電子商務帝國之一,可以說是有史以來最著名的首席技術官。Werner也是一位超可擴展系統的頂級專家,擁有計算機科學博士學位,是許多會議和期刊文章的作者,其中大多數是與計算機相關的分布式系統。

在今年的re:Invent 2023大會主題演講中,Werner給大家上了一節關于成本優化的課:“我今天要講的,匯總了我過去20年作為架構師的工作經驗?!薄白鳛榧夹g專家,我們生活在一個瞬息萬變的世界,我們需要保持學習,坐下來,拿出你的記事本,現在開始做筆記?!?/p>

撿起我們曾失去的“架構藝術”

Werner選擇在主題演講中討論成本問題,這既反映了當前的經濟環境,也反映了云計算支出不斷增長的態勢。近日,Gartner公司發布預測,到2024年云支出將達到6780億美元,比今年的5630億美元大幅增長。亞馬遜云科技在引領公有云市場方面取得了巨大成功,但同時也意識到,這個行業所帶來的成本壓力正在隨著生成式AI等技術的廣泛采用而不斷增加。

“以前我們處于受限的環境中,在存在約束的條件下構建這些系統時蘊含了很多藝術。我們要做商業創新時,雖然有了絕妙的想法,但也要根據各種限制條件對藍圖進行修剪,”Werner表示,“后來我們有了云計算,突然間所有的這些限制幾乎都消失了,等于把手銬、腳鐐都拿掉了。擺脫了束縛后,突然間一切都變了,我們最重要的事情變成了迅速行動、推出產品?!?/p>

隨著執行速度變得更為重要,你就可以能做以前不可能做到的事情。過去這15年,我們見證了各種令人驚嘆的創新。但這種發展速度下,我們也失去了一種架構的藝術:關注成本、以成本為重要考量的架構設計的藝術。

“作為工程師,我們在考慮成本方面的培訓非常不足。我不是指大O階次的成本,而是實際的金錢成本。如果給我五個容錯算法,我幾乎可以閉著眼睛選擇最好的一個。但如果你問我在系統開始擴展時最佳和次佳方案之間的成本差異會是多少,我可能會感到猶豫?!盬erner其實早在2012年寫的一篇博客文章中就提醒我們必須關注成本問題。

當不考慮成本這個約束條件時,大家可以做很棒的創新,但宏觀經濟是會改變的,成本效益才再次顯露出來。Werner表示他曾通過一種艱難的方式學會了如何將成本納入架構中,而在今天的演講中,“我把我的這些經驗掏出來送給各位,希望大家能拿出筆記本好好記一記?!?/p>

“作為架構師,我們必須要認真地考慮這些,不僅僅是因為你要節約利用我們的資源,同時更加重要的是要讓我們的企業可持續性地增長?!?/p>

Werner將他20年的臺構建經驗,總結出了七條成為“儉約架構師(The Frugal Architect)”的關鍵法則。其中包括創建將成本與業務對齊的系統,觀察基礎設施中的關鍵運營網絡以避免未知的費用,并追求漸進式優化。

“我嘗試向初創公司強調這一點,”Werner說?!澳銓⒁捎檬裁词杖肽J??他們需要構建符合這一模式的架構。確保你獲取收入的維度始終與你的成本保持一致?!?/p>

“儉約架構師”的七大黃金法則

法則一:將成本視為一種非功能性需求

所謂非功能性需求,就是用于判斷系統操作的標準,與具體特性或功能無關??稍L問性、可用性、可擴展性、安全性、可移植性、可維護性和合規性等都在此列。而成本往往是其中受到忽略的一條。

“在我們設計的時候,成本是非功能方面的要求,跟安全、合規、可用性、性能這些最經典元素一樣,你必須記在心里面,時刻把它體現出來。畢竟我們不僅僅是為了打造技術而打造技術,我們打造這個技術是為了支持業務運營需求的?!?/p>

在Werner看來,業務之所以身陷困境,往往是因為他們沒有考慮到各個階段中的相應成本——從設計到開發、再到運營——也可能是未能正確量化成本。這背后的原理非常簡單:如果成本比收入還高,那還做業務干嘛呢。

架構師需要盡可能早的、以更加可持續的方式考慮成本影響,才能在系統設計過程中在功能、上市時間和效率之間尋求平衡。這樣開發團隊可以專注于維護更加精簡高效的代碼,運營部門可以優化資源用量和支出,從而最大限度提高盈利能力。

法則二:確保系統的最終成本與業務保持一致

系統能否長治久安,取決于其成本是否與業務模式高度匹配。在設計和構建系統時,架構師必須考慮收入來源和利潤杠桿。更重要的是,必須找到能夠產生利潤的維度,確保架構規劃始終圍繞收益展開。

例如,在電子商務領域,這個核心維度可能是訂單數量。當訂單增加時,基礎設施和運營成本也會隨之上升。但沒關系,只要系統架構設計良好,我們就能享受規模經濟帶來的紅利。最重要的是基礎設施成本對業務的影響始終精確、可以量化。

作為架構師,大家需要關注收入,并據此指導技術選型。任何不計代價的增長只會招致毀滅。正如Werner強調的:“你要很確定,我們業務基礎設施擴展的方式,能讓成本成長低于銷售收入的增長?!?/p>

法則三:架構設計是一系列權衡的集合

在架構當中,每項決定都涉及相應的權衡。成本、彈性和性能這些非功能性需求之間,往往相互沖突、難以調和。

常言道“萬事萬物終將隕落?!币氲钟@種失敗的風險,就必須關注彈性,同時犧牲掉一部分性能。

在技術與業務需求間找到適當的平衡將至關重要,也就是把握住風險承受能力與預算額度間的最佳比例。請記住,儉約是為了最大限度提升價值,而不只是盡可能控制支出。因此,在必須得花的錢上別吝嗇。

Werner還在這個環節指出,創新設計時需要平衡成本、安全性還有洞察力/內情這三樣東西,“Amazon Lambda就是在這樣的過程中一邊探索一邊打造出來的。我們在做設計時,始終要保持三個方面的關系,有時候你可能需要在成本方面做一些犧牲,來達到其他的技術或者安全的要求。再往上,我們一定要建一個演化的基礎結構,我們要確定我們做事情不能影響到客戶,這也是Lambda成功的關鍵?!?/p>

法則四:無法觀測的系統將帶來無法估量的成本

如果不認真觀察和測量,系統運營的真實成本將難以把控。就如同隱藏在地下室中的電表一樣,這種直觀性的缺失必然導致浪費。所以一定要把指標擺在明面上,這將深刻改變運營行為。

Werner用建筑舉了個例子,“上面兩個房子是一模一樣的,其中一個房子使用的能源量比另外一個房子少了1/3。為什么呢?關鍵在于其中一個裝了測量器,會自動調整冷暖氣?!?/p>

盡管實現可觀測性需要投入,但這筆錢絕對會物有所值。有句格言說“如果無法量化,也就無法管理?!闭埵冀K堅持對利用率、支出、錯誤等至關重要的成本管理指標保持關注。

當工程師和業務合作伙伴能夠隨時查看關鍵成本指標時,自然就會催生出更具可持續性的實踐策略。持續檢查能幫我們發現非必要支出,并調整運營以減少浪費。總之,可觀測性帶來的回報往往遠超過前期投入。

重要的是,這本身也是對成本的強調,能在企業中塑造出鼓勵可持續性實踐的文化。

法則五:依托成本感知架構實現成本控制

儉約架構的本質,在于強大監控與成本優化能力的結合。精心設計的系統能幫助大家抓住改進的機會。為此,請將應用程序拆分成一系列可以調節的構建塊。

也就是說,不同的組件一定要有相應的工具來掌控,來操縱這些內容的程式,同時來調試它的矩陣和性能,要能做到隨時隨地想打開哪些組件就能打開它們,想關上的時候也能及時關上。這個開關必須要置于業務運營的關鍵環節上,保障你能夠輕松控制業務的運營。

一種常見的方法就是按重要性對組件進行分層。T1層組件必不可少,應當不計成本進行優化;T2層組件非常重要,但暫時縮小規模也不會產生重大影響;T3層組件則屬于“錦上添花”,要保證其成本低廉且易于控制。

明確定義各層,即可在成本及其他要求之間求得平衡。對組件的精細控制則能優化成本和體驗?;A設施、語言、數據庫都應具備可調節性,并在系統的設計和構建階段考慮收入和利潤。總之,成本優化必須可量化,且與業務影響直接掛鉤。

法則六:成本優化是個漸進的過程

追求成本效率是個持續的過程。即使在部署之后,我們也必須隨時審視系統以逐步尋求優化。其中的關鍵在于不斷提問、深入研究。編程語言往往提供分析工具以追蹤代碼性能,雖然這需要額外的精力和專業知識,但精細的調優足以帶來幾毫秒的差異。而這種看似微小的優化,累積起來足以產生超出想象的成本優勢。

在運營中,大部分時間都被用于運行現有系統。所以請把握一切機會,分析資源使用情況并減少浪費。亞馬遜云科技持續監控生產中的服務,發現運營模式并消除低效因素。儉約是堅持的結果——通過逐步降低延遲和基礎設施成本,服務成本才能最終得到優化。

只要不懈努力,我們總能找到改進空間。而今天省下的資源,就是明天創新的燃料。

法則七:沒經歷過挫折會讓人盲目自信

如果軟件團隊在取得重大成功的過程中,從未經歷過任何嚴重失敗或者阻礙,則往往會出現自滿情緒。這是一種危險的傾向,會導致團隊成員對原本的方法、工具和實踐變得盲目信息。

軟件團隊經常陷入這樣的陷阱:僅憑以往的工作經驗,他們就認為當前的技術、架構或語言永遠是最佳選擇。這可能會產生一種錯誤的安全感,阻礙對現狀的質疑,更會打擊對可能更加高效、更具成本效益或可擴展性更強的新選項的探索。

說到編程語言,人們往往會說“我們是一家Java公司”。這話大有問題,其底層邏輯無疑是在扼殺創新。唾手可得的成功會滋生自滿情緒,而只有質疑才能不斷激發新的優化與改進思路。

Grace Hopper的名言,準確反映了這一值得高度警惕的陷阱:“我們一直都是這樣做的?!?/p>

寫在最后

按照慣例,Werner Vogels以最后一個主題演講結束今年的re:Invent會議。

在過去的一年里,技術演進速度迅速加快。云技術、機器學習和生成式AI變得更加容易獲得,幾乎影響著我們生活的方方面面,從寫電子郵件到開發軟件,甚至在早期階段檢測癌癥。未來幾年,旨在實現技術普及并幫助我們跟上日常生活節奏的領域將充滿創新——而這一切都從生成式AI開始。

許多組織面臨的一個困境是,隨著對生成式AI的興趣不斷高漲,驅動應用程序所需的資源量顯著增加,隨著生成式AI等技術的廣泛采用,組織面臨的成本壓力也在不斷增加。

Werner在他的演講中強調:“技術的發展非常迅速,我們必須持續學習,深入了解我們的想法所在,并放下自尊心,認真思考成本問題。因為成本是復雜而重要的?!?/p>

“過去,我們受到了各種約束條件,雖然我們不想回到過去,但或許我們可以考慮將約束條件納入我們的系統,以促進成本管理和可持續發展。使用這種約束條件可能會帶來不同的成果?!?/p>

免責聲明:市場有風險,選擇需謹慎!此文僅供參考,不作買賣依據。

標簽: