互联网资讯 · 2024年1月24日

架构师必读书籍推荐

12月5日消息,2023年亚马逊云科技Re:Invent的压轴演讲由亚马逊副总裁兼首席技术官Werner Vogels主讲。

作为亚马逊CTO,Werner Vogels是云科技领域的知名专家。他拥有计算机博士学位,曾在康奈尔大学进行十年的研究工作,专注于大规模分布式系统。

自2004年加入亚马逊担任系统研究总监以来,Werner Vogels于2005年1月被任命为CTO和副总裁,并至今一直担任此职务。今年是他第十二次在Re:Invent大会上亮相。

在今年的演讲中,Werner Vogels向现场及线上架构师推荐了他撰写的《The Frugal Architect》(《云架构节俭之道》)一书。

架构师们,亚马逊CTO喊你看看这本书” alt=”亚马逊公司副总裁兼首席技术官 Werner Vogels” />

实际上,《The Frugal Architect》只有短短7页,每页对应了他想要强调的一项法则,为架构师和开发者提供了关于架构设计、衡量和优化的规范指南。在当前全球企业普遍强调“降本”的大背景下,理解这本书的内容尤为重要。

架构师们,亚马逊CTO喊你看看这本书” alt=”” />

架构师们,亚马逊CTO喊你看看这本书” alt=”” />

《The Frugal Architect》的核心法则:

法则 I

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

非功能性需求指定可用于评估系统运行的标准,而非特定特征或功能。示例包括可访问性、可用性、可扩展性、安全性、可移植性、可维护性和合规性。成本往往被忽视。

公司可能会因为未在每个阶段(从设计到开发再到运营)考虑成本,或者未能正确衡量成本而面临失败风险。简单来说,如果成本高于收入,企业就会面临风险。

通过尽早和持续地考虑成本影响,可以设计出平衡功能、上市时间和效率的系统,从而使开发能够专注于维护高效的代码,运营也能微调资源使用和支出,以实现最大化的盈利能力。

法则 II

持续的系统使成本与业务保持一致。

系统的持久性取决于其成本与商业模式的一致性。在设计和构建系统时,必须考虑收入来源和利润杠杆。找到盈利的维度并确保架构与之相辅相成至关重要。

例如,在电子商务中,该维度可能是订单数量。订单增加时,基础设施和运营成本也会相应上升,这是合理的,因为如果系统架构良好,可以利用规模经济。关键在于基础设施成本对业务的可量化影响。

法则 III

架构是取舍的系列过程。

在架构中,每个决策都伴随着权衡。成本、弹性和性能是非功能性需求,这些需求往往彼此冲突。

正如谚语所说,“一切都可能失败。”抵御失败需要投资于韧性,但性能可能会因此受到影响。

找到技术需求与业务需求之间的正确平衡至关重要,以确保与风险承受能力和预算相一致。记住,节俭是最大化价值,而不仅仅是降低开支。为此,需要确定愿意为之付费的内容。

法则 IV

未观测到的系统带来未知的成本。

如果没有仔细观察和衡量,运营系统的真实成本将保持隐形。缺乏可见性可能导致浪费,而提高仪表的可见性能够显著改变行为。

尽管观察需要投资,但未能实施适当的监控是短视的。正如格言所警告的那样,“如果无法测量,就无法管理。”跟踪使用率、支出和错误等对于成本管理至关重要。

法则 V

通过成本感知的架构实施成本控制。

节俭架构的核心在于强大的监控能力与优化成本的结合。良好设计的系统能够抓住改进机会。为此,应将应用程序分解为可调的构建块。

一种常见的方法是按关键程度对组件进行分层。一级组件是必不可少的,需无视成本进行优化;二级组件虽重要,但可以在不产生重大影响的情况下暂时缩减;三级组件则是“好拥有的”,应使其低成本且易于控制。

法则 VI

成本优化是渐进的。

追求成本效率是一个持续的过程。即使在部署后,仍需定期检查系统以逐步改进优化。关键在于不断质疑和深入分析。

编程语言提供性能分析工具,虽然这些工具需要设置及专业知识,但可实现细致分析,带来显著效益。

法则 VII

未受挑战的成功导致假设。

当软件团队在没有遭遇重大失败或障碍的情况下取得显著成功时,可能会导致自满。过度自信的趋势非常危险。