亚马逊的技术哲学

亚马逊 CTO Werner Vogels 博士今年在 re:Invent 上的主题演讲,以一种特殊的角度将亚马逊作为一个最佳实践,向我们展示了如何设计出成本优先的技术架构。

亚马逊的技术哲学_第1张图片

“在商业活动中识别最有盈利潜力的领域,并以此为中心来构建和优化整个业务架构。” 这句话其实在某种程度上也昭示了亚马逊的技术哲学,即技术总是围绕商业来构建的,它的目的也是让商业运转得更具效率。这样就不难看出为什么是亚马逊首先将云技术普及给了用户,并且它一直代表了云技术领域最先进的思潮。

亚马逊的技术哲学_第2张图片

商业决策驱动了技术决策,这是 Werner Vogels 博士后面展开的重点。一种被称为节制架构(THE FRUGAL ARCHITECT)的设计思想贯穿了这部分内容的始终,而在我看来这也何尝不是一种 Amazon Way。

始终关注成本的设计思想

根据这一思想,在架构设计之初你就应该考虑成本的地位。它不应该是一种功能需求,而应当作为一种指导思想。

亚马逊的技术哲学_第3张图片

一系列的权衡会在架构设计中出现,当然需要记住的是,你的每一个权衡后的决策都会产生成本。

亚马逊的技术哲学_第4张图片

亚马逊云科技的很多产品其实就是根据这一思想设计的,比如 Lambda,Firecracker 等等。它们的存在,让你的系统更加灵活且成本可控。如果你遵循成本至上的原则,可以很容易地与这些产品契合,并设计出适合你产品的技术架构。

可测量的成本

亚马逊的技术哲学_第5张图片

实现成本可控还有一个很重要的前提,你必须知道你付出了多少成本。 Werner Vogels 举了一个他老家荷兰在上个世纪能源危机时的例子,那时的人们发现同样大小和结构的房子,有的能耗就小很多。最后大家得知这两者的不同其实是电表所在位置的不同导致,电表在地面上的房子能耗情况更容易被观测到,因此也可以更好地指导人们如何节约能源。所以,一个不可被观测的系统一定会导致成本的增加。

正如 Werner Vogels 主题演讲中所说的 —— To Predict the Future, Observe the Present.

亚马逊的技术哲学_第6张图片

亚马逊云科技此次更新了 Management Console 里的 myApplications 服务,已使它能更直观地展示当前的系统支出情况。

亚马逊的技术哲学_第7张图片

还给 CloudWatch 增加了 Application Signals 功能,让你有一个直观的仪表盘能够显示 EKS 集群中所有服务的运转状况。

亚马逊的技术哲学_第8张图片

当我们能有效测量成本之后,还需要按照重要程度对系统进行模块划分,不同的模块对应不同的成本策略。这样可以帮助我们在控制成本的前提下做出权衡。

持续的成本优化

亚马逊的技术哲学_第9张图片

成本优化是一个持续渐进的过程,我们有多种决策来实现这一目标,当然作何决策也需要你的权衡。有时候这种决策甚至需要你打破基于之前成功经验的某些认知。

向善的人工智能

亚马逊的技术哲学_第10张图片

今年绝对是 AI 爆发的元年,作为这一领域的重要玩家,除了发布一系列与 AI 相关的产品,亚马逊云科技对 AI 技术本身的态度也格外惹人关注。作为一种非常先进的技术,人类对 AI 的情感复杂。一方面期待它带来效率的提升和更多的经济效益,另一方面它的存在和不断发展也可能在未来威胁到人类的切身利益。

Werner Vogels 给出的答案是:AI for good。更具体一点说是:Good Data, Good AI(好的数据训练出好的AI)。要让 AI 一直为人类所用,我们需要用好的数据训练它达到好的目的。亚马逊云科技 AI 在医疗领域的应用,成功地帮助医生更快地诊断中风患者,这从某种程度上消除了我们对这一技术未来的担忧。

写在最后

亚马逊的技术哲学_第11张图片

当我第一次知道亚马逊将 Vegas 选做 re:Invent 的「老家」时,内心是有一点不解的。毕竟让我把这样一个高科技企业和这个娱乐之城联系在一起,着实需要花费一番想象力。但当我听完 Werner Vogels 博士的分享,我发现这种反差竟产生了奇妙的化学反应,Vegas 代表了极致的商业化代表了财富,而亚马逊云科技所追求的不正是让技术产生价值吗?这种安排大概也只有亚马逊能够做出吧!


编辑附:云架构俭约之道:企业架构七大黄金法则 | re:Invent 2023 Werner 20 年架构经验分享

亚马逊的技术哲学_第12张图片

第一法则:将成本视作一种非功能性需求
在设计、开发和运营系统时,要在早期就开始以及持续考虑成本问题,以平衡功能、上线时间和效率。

第二法则:系统的耐久性取决于其成本与业务模型的匹配度
设计与业务模式的盈利杠杆相契合的系统,以利用规模经济,顺势而为,确保收益的同时不断成长。无限制的增长若没有盈利将削弱价值。

第三法则:架构设计就是一系列取舍的集合
每个设计决策都伴随着权衡。定期重新评估技术和商业上的权衡,投入资源以满足业务需求至关重要。

第四法则:无法观察的系统将带来无法估量的成本
尽管监控系统需要前期投资,但它们让组织能够精准找出浪费的行为,优化工作流程,并将资源有序地用于优先级高的事情。

第五法则:成本感知架构实现成本控制
有了强大的监控体系,您可以在发现改进机会的领域采取行动。通过实施细致的控制,您可以在成本与用户体验之间取得最佳平衡。

第六法则:成本优化是渐进的过程
追求成本效率是一个持续的过程。监控您的系统以了解其模式并消除低效率。持续优化需要重新审视系统,以找到更多的改进空间。

第七法则:未经挑战的成功会导致盲目自信
持续质疑过去有效的方法。重新审视先前成功的方法和工具。正如 Grace Hopper(著名计算机科学家,COBOL 之母)所说,英语中最危险的短语之一是:“我们一直都是这样做的”。

你可能感兴趣的:(亚马逊的技术哲学)