架構(gòu)師們,亞馬遜CTO喊你看看這本書

12月5日消息,2023亞馬遜云科技 re:lnvent 的壓軸仍然是亞馬遜公司副總裁兼首席技術(shù)官 Werner Vogels 的演講。

作為亞馬遜CTO,Werner Vogels可謂是亞馬遜云科技的靈魂人物,也是云計(jì)算領(lǐng)域知名的頂級專家。

Werner Vogels 擁有計(jì)算機(jī)博士學(xué)位,在加入亞馬遜之前,Werner Vogels 是一名學(xué)者,曾在康奈爾大學(xué)進(jìn)行了十年的研究科學(xué)工作,并建立了大規(guī)模的分布式系統(tǒng)。

2004年Werner Vogels 加入亞馬遜擔(dān)任系統(tǒng)研究總監(jiān),2005年1月被任命為CTO和副總裁至今。

今年是Werner Vogels 第十二次在re:lnvent 亮相。

在今年的演講中,Werner Vogels 鄭重向現(xiàn)場和線上的架構(gòu)師們推薦了自己寫的《The Frugal Architect》(《云架構(gòu)節(jié)儉之道》)這本“新書”。


亞馬遜公司副總裁兼首席技術(shù)官 Werner Vogels

其實(shí)《The Frugal Architect》只有短短7頁,每頁對應(yīng)了Werner Vogels 想要強(qiáng)調(diào)的一項(xiàng)法則,為架構(gòu)師和開發(fā)者們提供了有關(guān)架構(gòu)設(shè)計(jì)、衡量、優(yōu)化的規(guī)范準(zhǔn)則教程。

在全球企業(yè)都在強(qiáng)調(diào)“降本”的大環(huán)境中,理解《The Frugal Architect》可謂正合時(shí)宜。


以下為《The Frugal Architect》的內(nèi)容:

LAW I.

Make Cost a Non-functional Requirement.

A non-functional requirement specifies criteria that can be used to judge the operation of a system, rather than specific features or functions. Examples are accessibility, availability, scalability, security, portability, maintainability, and compliance. What often goes overlooked is cost.

Companies can fail because they don’t consider cost at every stage of the business – from design to development to operation – or because they’re not measuring it properly. The math is simple: if costs are higher than your revenue, your business is at risk.

By considering cost implications early and continuously, systems can be designed to balance features, time-to-market, and efficiency. Development can focus on maintaining lean and efficient code. And operations can fine-tune resource usage and spending to maximize profitability.

法則I

使成本成為非功能性需求。

非功能性需求指定了可用于判斷系統(tǒng)運(yùn)行的標(biāo)準(zhǔn),而不是特定的特征或功能。示例包括可訪問性、可用性、可擴(kuò)展性、安全性、可移植性、可維護(hù)性和法規(guī)遵從性。經(jīng)常被忽視的是成本。

公司可能會失敗,因?yàn)樗麄儧]有考慮到業(yè)務(wù)的每個(gè)階段——從設(shè)計(jì)到開發(fā)再到運(yùn)營——或者因?yàn)樗麄儧]有正確地衡量成本。數(shù)學(xué)很簡單:如果成本高于收入,你的企業(yè)就面臨風(fēng)險(xiǎn)。

通過盡早和持續(xù)地考慮成本影響,可以設(shè)計(jì)系統(tǒng)來平衡功能、上市時(shí)間和效率。開發(fā)可以專注于維護(hù)精簡高效的代碼。運(yùn)營可以微調(diào)資源使用和支出,以最大限度地提高盈利能力。

LAW II.

Systems that Last Align Cost to Business.

The durability of a system depends on how well its costs are aligned to the business model. When designing and building systems, we must consider the revenue sources and profit levers. It’s important to find the dimension you’re going to make money over, then make sure the architecture follows the money.

For example, in e-commerce, that dimension might be the number of orders. When orders go up, infrastructure and operation costs rise. And that’s okay, because if your system is architected well, you can start to exploit economies of scale. What’s important is that infrastructure costs have a measurable impact on the business.

As builders, we need to think about revenue – and use that knowledge to inform our choices. Because growth at all costs leads to a trail of destruction.

法則II

最后使成本與業(yè)務(wù)保持一致的系統(tǒng)。

系統(tǒng)的持久性取決于其成本與商業(yè)模式的一致性。在設(shè)計(jì)和構(gòu)建系統(tǒng)時(shí),我們必須考慮收入來源和利潤杠桿。重要的是要找到你將要賺錢的維度,然后確保架構(gòu)遵循資金。

例如,在電子商務(wù)中,該維度可能是訂單數(shù)量。當(dāng)訂單增加時(shí),基礎(chǔ)設(shè)施和運(yùn)營成本就會上升。這沒關(guān)系,因?yàn)槿绻愕南到y(tǒng)架構(gòu)良好,你就可以開始利用規(guī)模經(jīng)濟(jì)。重要的是,基礎(chǔ)設(shè)施成本對業(yè)務(wù)有著可衡量的影響。

作為構(gòu)建者,我們需要考慮收入,并利用這些知識為我們的選擇提供信息。因?yàn)椴幌б磺写鷥r(jià)的增長會帶來毀滅的痕跡。

LAW III.

Architecting is a Series of Trade-offs.

In architecture, every decision comes with a trade-off. Cost, resilience, and performance are non-functional requirements that are often at tension with each other.

As the saying goes, “Everything fails, all the time.” Being able to defend against failure means investing in resilience, but performance may pay the price.

It’s crucial to find the right balance between your technical and business needs – to find the sweet spot that aligns with your risk tolerance and budget. Remember, frugality is about maximizing value, not just minimizing spend. And to do that, you need to determine what you’re willing to pay for.

法則 III

在持續(xù)的取舍與權(quán)衡中搭建架構(gòu)。

在體系結(jié)構(gòu)中,每一個(gè)決策都伴隨著一種權(quán)衡。成本、彈性和性能是非功能性需求,它們往往相互矛盾。

俗話說:“一切都會失敗?!蹦軌虻钟∫馕吨顿Y于韌性,但業(yè)績可能會付出代價(jià)。

在您的技術(shù)和業(yè)務(wù)需求之間找到正確的平衡至關(guān)重要——找到與您的風(fēng)險(xiǎn)承受能力和預(yù)算相一致的最佳點(diǎn)。記住,節(jié)儉是價(jià)值最大化,而不僅僅是支出最小化。要做到這一點(diǎn),你需要確定你愿意為什么付費(fèi)。

LAW IV.

Unobserved Systems Lead to Unknown Costs.

Without careful observation and measurement, the true costs of operating a system remain invisible. Like a utility meter tucked away in a basement, lack of visibility enables wasteful habits. Making meters more visible can profoundly shift behaviors.

Though observation requires investment, not implementing adequate monitoring is shortsighted. The adage warns, “If you can’t measure it, you can’t manage it.” Tracking utilization, spending, errors, and more, is crucial for cost management.

When critical cost metrics are placed front-and-center before engineers and their business partners, more sustainable practices emerge organically. Ongoing inspection lets you spot excess spend and tune operations to trim expenses. The return on investment in observability typically far outweighs the expense.

Most importantly, keeping costs in the forefront encourages sustainable practices.

法則IV

未觀測到的系統(tǒng)帶來未知的成本

如果沒有仔細(xì)的觀察和衡量,運(yùn)行一個(gè)系統(tǒng)的真正成本仍然是看不見的。就像藏在地下室的公用事業(yè)計(jì)量表一樣,缺乏可見性會導(dǎo)致浪費(fèi)的習(xí)慣。使儀表更顯眼可以深刻地改變行為。

盡管觀察需要投資,但不進(jìn)行充分的監(jiān)測是短視的。這句格言警告說,“如果你不能衡量它,你就無法管理它?!备櫪寐?、支出、錯誤等對成本管理至關(guān)重要。

當(dāng)關(guān)鍵成本指標(biāo)被放在工程師及其業(yè)務(wù)合作伙伴之前的首要位置和中心位置時(shí),更可持續(xù)的實(shí)踐就會有機(jī)地出現(xiàn)。持續(xù)的檢查可以讓您發(fā)現(xiàn)多余的支出,并調(diào)整運(yùn)營以削減開支??捎^測性的投資回報(bào)通常遠(yuǎn)遠(yuǎn)超過支出。

最重要的是,將成本保持在首位會鼓勵可持續(xù)的做法。

LAW V.

Cost Aware Architectures Implement Cost Controls.

The essence of frugal architecture is robust monitoring combined with the ability to optimize costs. Well-designed systems allow you to take action on opportunities for improvement. For this to work, decompose applications into tunable building blocks.

A common approach is tiering components by criticality. Tier 1 components are essential; optimize regardless of cost. Tier 2 components are important but can be temporarily scaled down without major impact. Tier 3 components are “nice-to-have”; make them low-cost and easily controlled.

Defining tiers enables trade-offs between cost and other requirements. Granular control over components optimizes both cost and experience. Infrastructure, languages, databases should all be tunable. Architect and build systems with revenue and profit in mind. Cost optimization must be measurable and tied to business impact.

法則V

通過成本感知的架構(gòu)實(shí)施成本控制。

節(jié)儉架構(gòu)的本質(zhì)是穩(wěn)健的監(jiān)控與優(yōu)化成本的能力相結(jié)合。精心設(shè)計(jì)的系統(tǒng)使您能夠抓住改進(jìn)的機(jī)會采取行動。要實(shí)現(xiàn)這一點(diǎn),請將應(yīng)用程序分解為可調(diào)的構(gòu)建塊。

一種常見的方法是按關(guān)鍵程度對組件進(jìn)行分層。一級組件是必不可少的;優(yōu)化而不考慮成本。二級組件很重要,但可以暫時(shí)縮減,不會產(chǎn)生重大影響。第3層組件是“很好擁有的”;使其成本低且易于控制。

定義層可以在成本和其他需求之間進(jìn)行權(quán)衡。對組件的精細(xì)控制可優(yōu)化成本和體驗(yàn)?;A(chǔ)設(shè)施、語言和數(shù)據(jù)庫都應(yīng)該是可調(diào)的。在設(shè)計(jì)和構(gòu)建系統(tǒng)時(shí)考慮到收入和利潤。成本優(yōu)化必須是可衡量的,并與業(yè)務(wù)影響掛鉤。

LAW VI.

Cost Optimization is Incremental.

The pursuit of cost efficiency is an ongoing journey. Even after deployment, we must revisit systems to incrementally improve optimization. The key is continually questioning and diving deeper. Programming languages provide profiling tools to analyze code performance, and while these require setup and expertise, they enable granular analyses that can lead to changes that shave milliseconds. What may seem like small optimizations accumulate into large savings at scale.

In operations, most time is spent running existing systems. There are opportunities to profile resource usage and identify waste reduction. At Amazon, we continuously monitor services in production to understand patterns and trim inefficiencies. Frugality takes persistence – by incrementally reducing latencies and infrastructure costs, we can optimize the cost to serve.

There is always room for improvement… if we keep looking. The savings we reap today fund innovation for tomorrow.

法則VI

成本優(yōu)化是漸進(jìn)的

追求成本效益是一個(gè)持續(xù)的過程。即使在部署之后,我們也必須重新訪問系統(tǒng)以逐步改進(jìn)優(yōu)化。關(guān)鍵是不斷質(zhì)疑和深入研究。編程語言提供了分析代碼性能的分析工具,雖然這些工具需要設(shè)置和專業(yè)知識,但它們可以實(shí)現(xiàn)細(xì)粒度分析,從而導(dǎo)致縮短幾毫秒的更改。看似微小的優(yōu)化會大規(guī)模地積累成巨大的節(jié)約。

在操作中,大部分時(shí)間都花在運(yùn)行現(xiàn)有系統(tǒng)上。有機(jī)會了解資源使用情況并確定廢物減少情況。在亞馬遜,我們持續(xù)監(jiān)控生產(chǎn)中的服務(wù),以了解模式并降低效率。節(jié)儉需要持久性——通過逐步減少延遲和基礎(chǔ)設(shè)施成本,我們可以優(yōu)化服務(wù)成本。

如果我們繼續(xù)尋找,總有改進(jìn)的空間。我們今天節(jié)省下來的資金用于明天的創(chuàng)新

LAW VII.

Unchallenged Success Leads to Assumptions.

When software teams achieve significant success without facing major failures or roadblocks, complacency can set in. There is a dangerous tendency to become overconfident in the methods, tools, and practices that led to those wins.

Software teams often fall into the trap of assuming their current technologies, architectures, or languages will always be the best choice, simply because they have worked in the past. This can create a false sense of security that discourages questioning the status quo or exploring new options which could be more efficient, cost-effective, or scalable.

You see this frequently when it comes to programming languages. “We’re a Java shop” is a phrase I’ve heard too often – and it can stifle innovation. Unchallenged success breeds complacency through assumptions. We must always look for ways to question, optimize and improve.

As Grace Hopper famously stated, one of the most dangerous phrases in the English language is: “We’ve always done it this way.”

法則VII

走出慣性,遠(yuǎn)離盲目

當(dāng)軟件團(tuán)隊(duì)在沒有面臨重大失敗或障礙的情況下取得重大成功時(shí),就會產(chǎn)生自滿情緒。對導(dǎo)致這些勝利的方法、工具和實(shí)踐有過度自信的危險(xiǎn)傾向。

軟件團(tuán)隊(duì)經(jīng)常陷入這樣的陷阱,即認(rèn)為他們當(dāng)前的技術(shù)、體系結(jié)構(gòu)或語言永遠(yuǎn)是最好的選擇,僅僅因?yàn)樗麄冞^去是這樣工作的。這可能會產(chǎn)生一種虛假的安全感,阻礙人們質(zhì)疑現(xiàn)狀或探索更高效、更具成本效益或可擴(kuò)展的新選擇。

當(dāng)涉及到編程語言時(shí),您經(jīng)常會看到這種情況?!拔覀兪且患襃ava商店”是我經(jīng)常聽到的一句話——它會扼殺創(chuàng)新。不受挑戰(zhàn)的成功通過假設(shè)滋生自滿情緒。我們必須始終尋找質(zhì)疑、優(yōu)化和改進(jìn)的方法。

正如Grace Hopper的名言,英語中最危險(xiǎn)的短語之一是:“我們一直都是這樣做的。”

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

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

2023-12-05
架構(gòu)師們,亞馬遜CTO喊你看看這本書
12月5日消息,2023亞馬遜云科技 re:lnvent 的壓軸仍然是亞馬遜公司副總裁兼首席技術(shù)官 Werner Vogels 的演講。作為亞馬遜CTO,Werner Vogels可謂是亞馬遜云科技的靈魂人物,也是云計(jì)算領(lǐng)

長按掃碼 閱讀全文