亞馬遜云科技CTO 20年架構(gòu)經(jīng)驗(yàn)之道,re:Invent儉約架構(gòu)師的七大黃金法則

亞馬遜云科技CTO Werner Vogels向企業(yè)傳達(dá)了一條信息:在管理云成本方面,是時(shí)候成為儉約的架構(gòu)師了。

在過(guò)去17年里,Werner Vogels帶領(lǐng)著亞馬遜從一家在線圖書銷售商轉(zhuǎn)變?yōu)槿蜃畲蟮碾娮由虅?wù)帝國(guó)之一,可以說(shuō)是有史以來(lái)最著名的首席技術(shù)官。Werner也是一位超可擴(kuò)展系統(tǒng)的頂級(jí)專家,擁有計(jì)算機(jī)科學(xué)博士學(xué)位,是許多會(huì)議和期刊文章的作者,其中大多數(shù)是與計(jì)算機(jī)相關(guān)的分布式系統(tǒng)。

在今年的re:Invent 2023大會(huì)主題演講中,Werner給大家上了一節(jié)關(guān)于成本優(yōu)化的課:“我今天要講的,匯總了我過(guò)去20年作為架構(gòu)師的工作經(jīng)驗(yàn)?!薄白鳛榧夹g(shù)專家,我們生活在一個(gè)瞬息萬(wàn)變的世界,我們需要保持學(xué)習(xí),坐下來(lái),拿出你的記事本,現(xiàn)在開始做筆記?!?/p>

撿起我們?cè)サ摹凹軜?gòu)藝術(shù)”

Werner選擇在主題演講中討論成本問(wèn)題,這既反映了當(dāng)前的經(jīng)濟(jì)環(huán)境,也反映了云計(jì)算支出不斷增長(zhǎng)的態(tài)勢(shì)。近日,Gartner公司發(fā)布預(yù)測(cè),到2024年云支出將達(dá)到6780億美元,比今年的5630億美元大幅增長(zhǎng)。亞馬遜云科技在引領(lǐng)公有云市場(chǎng)方面取得了巨大成功,但同時(shí)也意識(shí)到,這個(gè)行業(yè)所帶來(lái)的成本壓力正在隨著生成式AI等技術(shù)的廣泛采用而不斷增加。

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

隨著執(zhí)行速度變得更為重要,你就可以能做以前不可能做到的事情。過(guò)去這15年,我們見(jiàn)證了各種令人驚嘆的創(chuàng)新。但這種發(fā)展速度下,我們也失去了一種架構(gòu)的藝術(shù):關(guān)注成本、以成本為重要考量的架構(gòu)設(shè)計(jì)的藝術(shù)。

“作為工程師,我們?cè)诳紤]成本方面的培訓(xùn)非常不足。我不是指大O階次的成本,而是實(shí)際的金錢成本。如果給我五個(gè)容錯(cuò)算法,我?guī)缀蹩梢蚤]著眼睛選擇最好的一個(gè)。但如果你問(wèn)我在系統(tǒng)開始擴(kuò)展時(shí)最佳和次佳方案之間的成本差異會(huì)是多少,我可能會(huì)感到猶豫?!盬erner其實(shí)早在2012年寫的一篇博客文章中就提醒我們必須關(guān)注成本問(wèn)題。

當(dāng)不考慮成本這個(gè)約束條件時(shí),大家可以做很棒的創(chuàng)新,但宏觀經(jīng)濟(jì)是會(huì)改變的,成本效益才再次顯露出來(lái)。Werner表示他曾通過(guò)一種艱難的方式學(xué)會(huì)了如何將成本納入架構(gòu)中,而在今天的演講中,“我把我的這些經(jīng)驗(yàn)掏出來(lái)送給各位,希望大家能拿出筆記本好好記一記?!?/p>

“作為架構(gòu)師,我們必須要認(rèn)真地考慮這些,不僅僅是因?yàn)槟阋?jié)約利用我們的資源,同時(shí)更加重要的是要讓我們的企業(yè)可持續(xù)性地增長(zhǎng)。”

Werner將他20年的平臺(tái)構(gòu)建經(jīng)驗(yàn),總結(jié)出了七條成為“儉約架構(gòu)師(The Frugal Architect)”的關(guān)鍵法則。其中包括創(chuàng)建將成本與業(yè)務(wù)對(duì)齊的系統(tǒng),觀察基礎(chǔ)設(shè)施中的關(guān)鍵運(yùn)營(yíng)網(wǎng)絡(luò)以避免未知的費(fèi)用,并追求漸進(jìn)式優(yōu)化。

“我嘗試向初創(chuàng)公司強(qiáng)調(diào)這一點(diǎn),”Werner說(shuō)?!澳銓⒁捎檬裁词杖肽J??他們需要構(gòu)建符合這一模式的架構(gòu)。確保你獲取收入的維度始終與你的成本保持一致。”

“儉約架構(gòu)師”的七大黃金法則

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

所謂非功能性需求,就是用于判斷系統(tǒng)操作的標(biāo)準(zhǔn),與具體特性或功能無(wú)關(guān)。可訪問(wèn)性、可用性、可擴(kuò)展性、安全性、可移植性、可維護(hù)性和合規(guī)性等都在此列。而成本往往是其中受到忽略的一條。

“在我們?cè)O(shè)計(jì)的時(shí)候,成本是非功能方面的要求,跟安全、合規(guī)、可用性、性能這些最經(jīng)典元素一樣,你必須記在心里面,時(shí)刻把它體現(xiàn)出來(lái)。畢竟我們不僅僅是為了打造技術(shù)而打造技術(shù),我們打造這個(gè)技術(shù)是為了支持業(yè)務(wù)運(yùn)營(yíng)需求的?!?/p>

在Werner看來(lái),業(yè)務(wù)之所以身陷困境,往往是因?yàn)樗麄儧](méi)有考慮到各個(gè)階段中的相應(yīng)成本——從設(shè)計(jì)到開發(fā)、再到運(yùn)營(yíng)——也可能是未能正確量化成本。這背后的原理非常簡(jiǎn)單:如果成本比收入還高,那還做業(yè)務(wù)干嘛呢。

架構(gòu)師需要盡可能早的、以更加可持續(xù)的方式考慮成本影響,才能在系統(tǒng)設(shè)計(jì)過(guò)程中在功能、上市時(shí)間和效率之間尋求平衡。這樣開發(fā)團(tuán)隊(duì)可以專注于維護(hù)更加精簡(jiǎn)高效的代碼,運(yùn)營(yíng)部門可以優(yōu)化資源用量和支出,從而最大限度提高盈利能力。

法則二:確保系統(tǒng)的最終成本與業(yè)務(wù)保持一致

系統(tǒng)能否長(zhǎng)治久安,取決于其成本是否與業(yè)務(wù)模式高度匹配。在設(shè)計(jì)和構(gòu)建系統(tǒng)時(shí),架構(gòu)師必須考慮收入來(lái)源和利潤(rùn)杠桿。更重要的是,必須找到能夠產(chǎn)生利潤(rùn)的維度,確保架構(gòu)規(guī)劃始終圍繞收益展開。

例如,在電子商務(wù)領(lǐng)域,這個(gè)核心維度可能是訂單數(shù)量。當(dāng)訂單增加時(shí),基礎(chǔ)設(shè)施和運(yùn)營(yíng)成本也會(huì)隨之上升。但沒(méi)關(guān)系,只要系統(tǒng)架構(gòu)設(shè)計(jì)良好,我們就能享受規(guī)模經(jīng)濟(jì)帶來(lái)的紅利。最重要的是基礎(chǔ)設(shè)施成本對(duì)業(yè)務(wù)的影響始終精確、可以量化。

作為架構(gòu)師,大家需要關(guān)注收入,并據(jù)此指導(dǎo)技術(shù)選型。任何不計(jì)代價(jià)的增長(zhǎng)只會(huì)招致毀滅。正如Werner強(qiáng)調(diào)的:“你要很確定,我們業(yè)務(wù)基礎(chǔ)設(shè)施擴(kuò)展的方式,能讓成本成長(zhǎng)低于銷售收入的增長(zhǎng)?!?/p>

法則三:架構(gòu)設(shè)計(jì)是一系列權(quán)衡的集合

在架構(gòu)當(dāng)中,每項(xiàng)決定都涉及相應(yīng)的權(quán)衡。成本、彈性和性能這些非功能性需求之間,往往相互沖突、難以調(diào)和。

常言道“萬(wàn)事萬(wàn)物終將隕落。”要想抵御這種失敗的風(fēng)險(xiǎn),就必須關(guān)注彈性,同時(shí)犧牲掉一部分性能。

在技術(shù)與業(yè)務(wù)需求間找到適當(dāng)?shù)钠胶鈱⒅陵P(guān)重要,也就是把握住風(fēng)險(xiǎn)承受能力與預(yù)算額度間的最佳比例。請(qǐng)記住,儉約是為了最大限度提升價(jià)值,而不只是盡可能控制支出。因此,在必須得花的錢上別吝嗇。

Werner還在這個(gè)環(huán)節(jié)指出,創(chuàng)新設(shè)計(jì)時(shí)需要平衡成本、安全性還有洞察力/內(nèi)情這三樣?xùn)|西,“Amazon Lambda就是在這樣的過(guò)程中一邊探索一邊打造出來(lái)的。我們?cè)谧鲈O(shè)計(jì)時(shí),始終要保持三個(gè)方面的關(guān)系,有時(shí)候你可能需要在成本方面做一些犧牲,來(lái)達(dá)到其他的技術(shù)或者安全的要求。再往上,我們一定要建一個(gè)演化的基礎(chǔ)結(jié)構(gòu),我們要確定我們做事情不能影響到客戶,這也是Lambda成功的關(guān)鍵?!?/p>

法則四:無(wú)法觀測(cè)的系統(tǒng)將帶來(lái)無(wú)法估量的成本

如果不認(rèn)真觀察和測(cè)量,系統(tǒng)運(yùn)營(yíng)的真實(shí)成本將難以把控。就如同隱藏在地下室中的電表一樣,這種直觀性的缺失必然導(dǎo)致浪費(fèi)。所以一定要把指標(biāo)擺在明面上,這將深刻改變運(yùn)營(yíng)行為。

Werner用建筑舉了個(gè)例子,“上面兩個(gè)房子是一模一樣的,其中一個(gè)房子使用的能源量比另外一個(gè)房子少了1/3。為什么呢?關(guān)鍵在于其中一個(gè)裝了測(cè)量器,會(huì)自動(dòng)調(diào)整冷暖氣?!?/p>

盡管實(shí)現(xiàn)可觀測(cè)性需要投入,但這筆錢絕對(duì)會(huì)物有所值。有句格言說(shuō)“如果無(wú)法量化,也就無(wú)法管理。”請(qǐng)始終堅(jiān)持對(duì)利用率、支出、錯(cuò)誤等至關(guān)重要的成本管理指標(biāo)保持關(guān)注。

當(dāng)工程師和業(yè)務(wù)合作伙伴能夠隨時(shí)查看關(guān)鍵成本指標(biāo)時(shí),自然就會(huì)催生出更具可持續(xù)性的實(shí)踐策略。持續(xù)檢查能幫我們發(fā)現(xiàn)非必要支出,并調(diào)整運(yùn)營(yíng)以減少浪費(fèi)。總之,可觀測(cè)性帶來(lái)的回報(bào)往往遠(yuǎn)超過(guò)前期投入。

最重要的是,這本身也是對(duì)成本的強(qiáng)調(diào),能在企業(yè)中塑造出鼓勵(lì)可持續(xù)性實(shí)踐的文化。

法則五:依托成本感知架構(gòu)實(shí)現(xiàn)成本控制

儉約架構(gòu)的本質(zhì),在于強(qiáng)大監(jiān)控與成本優(yōu)化能力的結(jié)合。精心設(shè)計(jì)的系統(tǒng)能幫助大家抓住改進(jìn)的機(jī)會(huì)。為此,請(qǐng)將應(yīng)用程序拆分成一系列可以調(diào)節(jié)的構(gòu)建塊。

也就是說(shuō),不同的組件一定要有相應(yīng)的工具來(lái)掌控,來(lái)操縱這些內(nèi)容的程式,同時(shí)來(lái)調(diào)試它的矩陣和性能,要能做到隨時(shí)隨地想打開哪些組件就能打開它們,想關(guān)上的時(shí)候也能及時(shí)關(guān)上。這個(gè)開關(guān)必須要置于業(yè)務(wù)運(yùn)營(yíng)的關(guān)鍵環(huán)節(jié)上,保障你能夠輕松控制業(yè)務(wù)的運(yùn)營(yíng)。

一種常見(jiàn)的方法就是按重要性對(duì)組件進(jìn)行分層。T1層組件必不可少,應(yīng)當(dāng)不計(jì)成本進(jìn)行優(yōu)化;T2層組件非常重要,但暫時(shí)縮小規(guī)模也不會(huì)產(chǎn)生重大影響;T3層組件則屬于“錦上添花”,要保證其成本低廉且易于控制。

明確定義各層,即可在成本及其他要求之間求得平衡。對(duì)組件的精細(xì)控制則能優(yōu)化成本和體驗(yàn)?;A(chǔ)設(shè)施、語(yǔ)言、數(shù)據(jù)庫(kù)都應(yīng)具備可調(diào)節(jié)性,并在系統(tǒng)的設(shè)計(jì)和構(gòu)建階段考慮收入和利潤(rùn)??傊?,成本優(yōu)化必須可量化,且與業(yè)務(wù)影響直接掛鉤。

法則六:成本優(yōu)化是個(gè)漸進(jìn)的過(guò)程

追求成本效率是個(gè)持續(xù)的過(guò)程。即使在部署之后,我們也必須隨時(shí)審視系統(tǒng)以逐步尋求優(yōu)化。其中的關(guān)鍵在于不斷提問(wèn)、深入研究。編程語(yǔ)言往往提供分析工具以追蹤代碼性能,雖然這需要額外的精力和專業(yè)知識(shí),但精細(xì)的調(diào)優(yōu)足以帶來(lái)幾毫秒的差異。而這種看似微小的優(yōu)化,累積起來(lái)足以產(chǎn)生超出想象的成本優(yōu)勢(shì)。

在運(yùn)營(yíng)中,大部分時(shí)間都被用于運(yùn)行現(xiàn)有系統(tǒng)。所以請(qǐng)把握一切機(jī)會(huì),分析資源使用情況并減少浪費(fèi)。亞馬遜云科技持續(xù)監(jiān)控生產(chǎn)中的服務(wù),發(fā)現(xiàn)運(yùn)營(yíng)模式并消除低效因素。儉約是堅(jiān)持的結(jié)果——通過(guò)逐步降低延遲和基礎(chǔ)設(shè)施成本,服務(wù)成本才能最終得到優(yōu)化。

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

法則七:沒(méi)經(jīng)歷過(guò)挫折會(huì)讓人盲目自信

如果軟件團(tuán)隊(duì)在取得重大成功的過(guò)程中,從未經(jīng)歷過(guò)任何嚴(yán)重失敗或者阻礙,則往往會(huì)出現(xiàn)自滿情緒。這是一種危險(xiǎn)的傾向,會(huì)導(dǎo)致團(tuán)隊(duì)成員對(duì)原本的方法、工具和實(shí)踐變得盲目信息。

軟件團(tuán)隊(duì)經(jīng)常陷入這樣的陷阱:僅憑以往的工作經(jīng)驗(yàn),他們就認(rèn)為當(dāng)前的技術(shù)、架構(gòu)或語(yǔ)言永遠(yuǎn)是最佳選擇。這可能會(huì)產(chǎn)生一種錯(cuò)誤的安全感,阻礙對(duì)現(xiàn)狀的質(zhì)疑,更會(huì)打擊對(duì)可能更加高效、更具成本效益或可擴(kuò)展性更強(qiáng)的新選項(xiàng)的探索。

說(shuō)到編程語(yǔ)言,人們往往會(huì)說(shuō)“我們是一家Java公司”。這話大有問(wèn)題,其底層邏輯無(wú)疑是在扼殺創(chuàng)新。唾手可得的成功會(huì)滋生自滿情緒,而只有質(zhì)疑才能不斷激發(fā)新的優(yōu)化與改進(jìn)思路。

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

寫在最后

按照慣例,Werner Vogels以最后一個(gè)主題演講結(jié)束今年的re:Invent會(huì)議。

在過(guò)去的一年里,技術(shù)演進(jìn)速度迅速加快。云技術(shù)、機(jī)器學(xué)習(xí)和生成式AI變得更加容易獲得,幾乎影響著我們生活的方方面面,從寫電子郵件到開發(fā)軟件,甚至在早期階段檢測(cè)癌癥。未來(lái)幾年,旨在實(shí)現(xiàn)技術(shù)普及并幫助我們跟上日常生活節(jié)奏的領(lǐng)域?qū)⒊錆M創(chuàng)新——而這一切都從生成式AI開始。

許多組織面臨的一個(gè)困境是,隨著對(duì)生成式AI的興趣不斷高漲,驅(qū)動(dòng)應(yīng)用程序所需的資源量顯著增加,隨著生成式AI等技術(shù)的廣泛采用,組織面臨的成本壓力也在不斷增加。

Werner在他的演講中強(qiáng)調(diào):“技術(shù)的發(fā)展非常迅速,我們必須持續(xù)學(xué)習(xí),深入了解我們的想法所在,并放下自尊心,認(rèn)真思考成本問(wèn)題。因?yàn)槌杀臼菑?fù)雜而重要的?!?/p>

“過(guò)去,我們受到了各種約束條件,雖然我們不想回到過(guò)去,但或許我們可以考慮將約束條件納入我們的系統(tǒng),以促進(jìn)成本管理和可持續(xù)發(fā)展。使用這種約束條件可能會(huì)帶來(lái)不同的成果?!?/p>

極客網(wǎng)企業(yè)會(huì)員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2023-12-15
亞馬遜云科技CTO 20年架構(gòu)經(jīng)驗(yàn)之道,re:Invent儉約架構(gòu)師的七大黃金法則
亞馬遜云科技CTO Werner Vogels向企業(yè)傳達(dá)了一條信息:在管理云成本方面,是時(shí)候成為儉約的架構(gòu)師了。

長(zhǎng)按掃碼 閱讀全文