Werner Vogels 博士主题演讲
关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, 生成式AI, CodeWhisperer, Cloud Migration, Cost Awareness, Frugal Architect, Sustainable Architectures, Machine Learning Models]
导读
请观看 Amazon.com 副总裁兼首席技术官 Werner Vogels 博士的主题演讲,这是他第十二次在 re:Invent 亮相。在主题演讲中,他将介绍设计弹性和成本意识架构的最佳做法。他还将与我们分享 AI 为何是每个开发者在开发系统时必须考虑的问题,及其对世界产生何种影响。
演讲精华
以下是小编为您整理的本次演讲的精华。
在宏伟的礼堂里,当Werner Vogels博士登台时,现场气氛热烈,来自亚马逊云科技(亚马逊云科技) re:Invent 2024活动第四天的忠实与会者们以热烈的掌声欢迎他的到来。Vogels博士带着温暖的微笑,对他们坚持不懈的付出表示由衷的感谢,并赞扬他们为了到场而不惜熬夜排长队。
Vogels博士向亚马逊云科技社区中那些在前线作出宝贵贡献的英雄们致以最诚挚的敬意,他特别提到了Luke,这位备受推崇的Alexa Bullhorn奖得主,进一步凸显了大家共同努力的重要性。
当Vogels博士开始主题演讲时,他回顾了云计算时代之前的情况,那时物理硬件的限制决定了创新的边界。他生动地回忆起亚马逊在那些日子里所面临的挑战,比如当1000台Wii和PS4游戏机在上午11点开售时,急切的顾客在预定时间前几分钟就疯狂地按F5键刷新页面,导致流量猛增。尽管存在重重障碍,但团队的创新精神和应变能力最终确保了其他顾客的正常服务。
然而,Vogels博士承认,这些限制也给商业创新带来了阻碍。就在黑色星期五前几周,团队成员会向他提出绝佳的想法,但由于现有基础设施的限制,他不得不对这些想法的可行性表示怀疑和担忧。尽管如此,构建系统并在这些约束条件下生存所需的独特创造力,是Vogels博士怀念的一部分。
云计算的出现打破了这些束缚,开启了前所未有的自由和创新时代。突然之间,枷锁被解除,重心转向优先考虑执行速度和快速产品交付。虽然这在过去15年里催生了无数在亚马逊云科技之上的卓越创新,但Vogels博士警告说,在追求速度的过程中,构建经济高效架构的艺术已经失传。
回顾2011年首届re:re:Invent,Vogels博士提醒与会者,他当时概述了在云端构建的12条原则之一就是以成本为中心进行架构设计。由于亚马逊云科技明确了资源成本,比较不同系统和架构的成本变得更加容易,从而凸显了成本意识的重要性。
随着近年来宏观经济环境的变化,Vogels博士注意到,越来越多的公司开始关注系统的真实成本。他希望与会者能够认真聆听他在亚马逊过去20年中构建经济高效和可持续架构的经验。
Vogels博士随后将焦点转向公共广播电视台(PBS),这个组织体现了在严格预算下生存的需求。以”由像你我这样的观众支持”这句标志性口号而闻名的PBS,不仅为附属机构提供节目,还提供内容流媒体服务。在2009年”芝麻街”40周年纪念日期间,他们的内部数据中心在流媒体需求下不堪重负,促使他们迁移到亚马逊云科技。
起初,PBS采用了简单的”提升和转移”方式,但在云端证明效率低下且无法扩展。不久之后,他们意识到需要重新构建系统,充分利用亚马逊云科技提供的每一项服务。通过直接从Amazon S3和CloudFront进行流媒体传输,转移到Amazon ECS和Amazon Fargate,PBS成功将流媒体成本降低了惊人的80%。Vogels博士举例说,PBS最近的纪录片”美国野牛”在播出时毫无问题,这要归功于他们的云迁移和重构工作,与内部基础设施相比,节省了80%的成本。
转移话题,Vogels博士谈到了可持续发展这一当务之急,将其比作一列直扑科技行业的货运列车,无法被忽视。由于亚马逊云科技服务缺乏明确的碳足迹指标,他认为成本可以作为资源使用和可持续性影响的合理近似值。
Vogels博士强调了WeTransfer的案例,这家认证的B型企业(Benefit Corporation)是亚马逊云科技在欧洲最资深的客户之一。WeTransfer支持大文件的上传和分发,同时重组自身以满足最高标准的环境、社会和财务透明度。尽管每月为8000万人服务,但WeTransfer成功地重构了系统,以预测、跟踪和衡量碳排放,采用了一些独特的策略,这些策略将在Vogels博士的主题演讲中重点探讨。
Vogels博士提出了”节俭架构师”的概念,并推出了一本总结他在亚马逊20年来构建经济高效和可持续架构经验的书籍。他强调,构建者应该将节俭和可持续性作为资源使用的优先考虑因素,不仅是为了节省成本,更是出于道德责任。
Vogels博士将他的观察和”定律”分为三个不同领域:设计、测量和优化。在”设计”类别中,他强调将成本视为与安全性、合规性、性能和可访问性同等重要的非功能性需求。他断言,在考虑业务的非功能性需求时,成本和可持续性应该与其他因素同等重要。
Vogels博士解释说,在云计算时代,测量成本变得更加简单,这与他作为亚马逊首席技术官的早期经历形成鲜明对比,当时他不得不向数据库公司支付大笔预付款,并提前五年预测容量需求。在亚马逊云科技中,成本与资源使用直接挂钩,实现了实时监控和优化。
Vogels博士回顾了Amazon S3定价的演变历程,最初是基于预期的带宽和存储成本。然而,随着早期客户的加入,很快就发现需要将请求数量作为第三个维度纳入定价模型。这一经历凸显了观察客户使用模式并相应调整定价模型的重要性,这一经验教训同样适用于任何新的颠覆性服务。
当Amazon DynamoDB推出时,团队已经掌握了基于成本定价的艺术。Vogels博士强调了DynamoDB中最终一致性读取和强一致性读取之间的区别,后者的定价是前者的两倍,因为确保强一致性需要进行两次读取以达到仲裁,而不是一次。
将讨论延伸到商业考虑,Vogels博士强调了技术人员和业务合作伙伴之间持续协作的重要性。敏捷开发策略需要就功能、可靠性、可扩展性以及最关键的成本进行持续对话——这种对话过去并未得到足够重视,但现在已经变得不可或缺。
对于初创公司,Vogels博士建议从一开始就将成本结构与收入模型保持一致,因为成本错配最终可能导致它们的失败。他以亚马逊为例,解释说该公司的成功是以每分钟订单量为衡量标准,这一指标决定了基础设施的扩展规模,同时利用规模经济效应随着时间的推移降低成本。
接下来,Vogels博士宣布了一项重大消息:Amazon Control Tower中的”我的应用程序”,这是一种新的体验,可以提供每个应用程序的成本、健康状况、安全性和性能的可见性。通过为资源分配”应用程序”标签,用户可以获得应用程序在各种非功能性需求(包括作为可持续性代理的成本)方面的统一全面视图。
意识到为应用程序配置监测的复杂性,尤其是在Kubernetes等分布式环境中,Vogels博士推出了CloudWatch Application Insights。该服务可以自动为EKS应用程序配置监测,提供统一的仪表板来监控相关指标,简化了可观测性流程。
在深入探讨之前,Vogels博士重申了明确定义指标的重要性,并确保成本和可持续性被纳入其中,因为持续测量将推动行为改变。
转入”优化”类别,Vogels博士倡导实施成本控制并构建可调优的架构。软件选择、数据库类型、API语言以及对非功能性需求的优先级,都有助于这种可调优性,使组织能够根据需要调整系统。
借鉴亚马逊主页的灵感,Vogels博士阐明了根据成本、性能或其他指标操纵各个组件的必要性。如果某个指标超出可接受范围,能够关闭非关键组件就变得至关重要——这一决定应该与业务利益相关者共同作出,因为他们是技术的最终受益者。
Vogels博士解释说,根据关键性将应用程序分解为不同层级是一种关键策略。在亚马逊,搜索、浏览、购物车和结账等功能被视为第一级别(Tier 1)——应用程序无法运行的基本组件。第二级别(Tier 2)包括重要但非关键的功能,如推荐和个性化,而第三级别(Tier 3)则是那些可以短暂中断而对客户体验影响不大的辅助组件。
在与商业合作伙伴合作时,技术人员必须做出明智的权衡,例如每个层级所需的容错和复制级别。第一层组件可能需要跨多个Availability Zones进行复制以获得最大的弹性,而Tier 2可以跨两个Availability Zones进行复制,第三层则可以采用最小冗余运行。
Vogels博士强调了保持对这些层级的控制的重要性,使企业能够根据需要关闭或限制组件,无论是通过禁用预取、降低细节级别还是实施其他节省成本的措施。
转移到优化方面,Vogels博士感叹在追求快速创新的过程中失去了”修补艺术”。然而,他强调识别和消除系统内部的数字浪费的重要性日益增加,因为即使看似微不足道的成本也可能累积。
简单的行动,如在夜间关闭开发环境、调整实例大小、迁移到Graviton、减少4K流媒体或高分辨率图像传输等功能以及优化资源利用率,都可以带来可观的成本节省。
Vogels博士强调了分析的价值,这是他在成长过程中所接受的一种做法。像Amazon CodeGuru Profiler这样的分析工具使开发人员能够深入了解他们的代码,通过诸如火焰图之类的技术来识别瓶颈和低效之处。
他分享了一个真实的亚马逊服务的例子,通过分析发现意外地有8%的资源被垃圾回收所消耗,而高达42%的资源被用于网络通信,这与预期结果不符。通过代码优化解决这些问题,该团队将总体资源消耗从42%降低到27%,凸显了优化过程的持续性。
Vogels博士随后谈到了一个有争议的话题:“我们一直这样做”这种危险的说法。他挑战这种思维定式,敦促与会者通过成本和可持续性的视角不断重新评估他们的技术选择,包括编程语言。
引用里斯本大学Hui Pereira的研究,Vogels博士透露,某些编程语言如Ruby和Python的能耗可能比C++和Rust高出50多倍。虽然承认C++存在安全风险,但他提倡采用Rust,这种语言结合了效率、强类型和内存安全性,符合亚马逊云科技的可持续性目标,并被用于Firecracker和亚马逊S3的大部分项目。
然而,Vogels博士警告不要轻率地抛弃现有的知识和系统。相反,他鼓励持续学习的心态,愿意挑战自己的信念,摒弃自我和成见,拥抱更具成本效益和可持续性的解决方案。
回顾在Amazon.com的经历,Vogels博士承认构建成本意识和可持续架构的挑战,但也认识到约束条件可以孕育创新和效率。他对自我施加约束持开放态度,相信这可以培养创新和效率。
为了说明他建议的实用性,Vogels博士分享了他亲自构建一个机器学习模型来从CT扫描中检测脑出血的经历。受一位中风专家的启发,强调快速治疗的关键性,因为中风患者如果不及时治疗,每分钟就会失去190万个神经元,Vogels博士着手创建一个可以在放射科医生的工作列表中优先排列阳性病例的流程。
利用Kaggle的70万张预标记CT脑扫描数据集,Vogels博士遵循标准做法,将数据分为70%用于训练、15%用于验证和15%用于测试集。他利用Python SDK和流行的开源模型中心的预训练模型,针对特定用例微调了一种架构。
只需单击一个按钮,Vogels博士就启动了训练过程,该过程涉及神经网络的正向和反向传递,调整权重和偏差以最小化损失分数和最大化准确性。结果是一个可部署的模型,具有用于对新CT扫描图像进行预测的API端点。
采用可演进的架构,Vogels博士整合了各种亚马逊云科技组件来重新组织放射科医生的工作列表,并在检测到阳性病例时甚至向神经科医生发送短信警报,凸显了对这种每分钟都很关键的疾病进行快速治疗的紧迫性。
虽然承认他的项目并非一个生产就绪系统,但Vogels博士对自己的成就表示自豪,并感谢亚马逊云科技团队的Priya Valee和Extra将他”可怕的代码”转化为与会者的学习体验。
Vogels博士强调了机器学习的可及性,鼓励与会者在GitHub上探索该项目的代码,并断言:“如果我能做到,你也一定能做到。”他强调了针对特定用例的小型、快速和经济的模型的重要性,因为医院希望在每次脑部扫描时在本地运行此类模型,而不会产生过高的计算成本。
展望未来,Vogels博士讨论了放射科医生对会话界面的渴望,该界面可以提供患者状况的360度视图,不仅整合影像数据,还整合其他临床信息。虽然这些界面仍将依赖于针对特定任务的小型本地化模型,但它们将使放射科医生能够更全面地探索数据,从而加快并提高诊断的准确性。
在谈到生成式AI对软件开发的影响时,Vogels博士介绍了CDK构造用于生成式AI,允许开发人员直接在云开发工具包(CDK)中构建数据摄取管道、问答系统、文档摘要等。
然而,Vogels博士强调,最重大的影响可能来自开发人员与编码助手(如亚马逊CodeWhisperer)之间的协作。他展示了CodeWhisperer与各种亚马逊云科技服务和开发工具的集成,包括SageMaker Studio、Code Catalyst和Application Composer。
在SageMaker Studio中,开发人员现在可以启动一个基于开源版Visual Studio Code的全功能代码编辑器,其中直接集成了CodeWhisperer等AI驱动工具。
Vogels博士演示了CodeWhisperer如何在Code Catalyst中协助生成全新的功能或方法,从而促进对复杂代码库的学习和理解。
他还强调了CodeWhisperer与Application Composer的集成,后者是一个用于处理CloudFormation模板的可视化工具。在Visual Studio Code中,开发人员可以利用CodeWhisperer询问有关CloudFormation的问题,并将响应直接插入到他们的YAML文件中,实现问答和代码编辑的多模式工作流。
在整个主题演讲中,Vogels博士强调了终身学习和在技术快速发展的环境中保持好奇心的重要性。他对软件开发的未来充满期待,届时像CodeWhisperer这样的AI助手将成为云计算、机器学习算法和无数其他领域的专家,增强人类开发人员的能力。
最后,Vogels博士鼓励与会者拥抱亚马逊云科技和生成式AI带来的机遇,敦促他们继续构建具有积极影响力的创新解决方案。在还有一天的学习时间之际,他提醒大家晚上的庆祝活动,届时乐队Portugal. The Man将进行表演。
主题演讲以一个幽默的小品结束,其中扮演建筑师的Vogels博士被一位名叫Vanna的访客质疑缺少一个承诺的功能。在一个有趣的转折中,Vogels博士宣布推出了缺失的功能,并向观众发出响亮的号召:“现在去构建吧!”
下面是一些演讲现场的精彩瞬间:
您是否曾考虑过迁移到云端?云迁移?我们需要一段视频剪辑来展现这一重大时刻。
人工智能从符号化向具身化的转变,推动了深度学习、强化学习等新算法的发展,软硬件的相互促进带来了人工智能技术的快速进步。
在reInvent2024大会上,亚马逊首席执行官安迪·贾西展示了他在业余时间内构建的机器学习模型,展现了构建这些模型并不困难。
展望未来,医生期待AI助手能够提供更多对话式界面,帮助他们从多角度全面了解患者状况,从而更快速地做出诊断。
在重新发明2024的演讲中,Werner Vogels展示了如何利用CodeWhisperer等编码助手与人工智能协作,提高开发效率并简化机器学习项目的实现。
亚马逊CodeWhisperer是一款革命性的AI助手,可帮助开发人员提高工作效率,减少繁琐工作,专注于更高价值的工作,真正释放创造力。
总结
在这个富有洞见的主题演讲中,亚马逊公司首席技术官Werner Vogels深入探讨了成本意识和可持续性在现代软件架构中的重要性。他强调,在设计系统时,成本应被视为一个非功能性需求,与安全性、合规性和性能并列。Vogels分享了他在亚马逊任职期间的经验和教训,强调了持续优化、分析和拥抱新技术和编程语言(以提高效率和可持续性)的必要性。
Vogels介绍了”注重成本的架构师”的概念,这种思维模式鼓励架构师从一开始就设计出经济高效和可持续的系统。他提出了三个关键原则:设计时考虑成本、持续测量和优化,以及保持开放心态,接受新方法。Vogels还展示了亚马逊云科技成本资源管理器和亚马逊云科技应用程序洞察等服务,帮助开发人员监控和优化应用程序成本。
此外,Vogels演示了使用亚马逊云科技服务(如SageMaker)构建机器学习模型的简易性,强调了针对特定用例的小型、快速和经济的模型的重要性。他还强调了生成式人工智能和编码助手(如亚马逊CodeWhisperer)在转变软件开发方面的潜力,使开发人员能够更高效地探索新的问题领域、语言和技术。
Vogels最后鼓励开发人员拥抱终身学习的心态,保持好奇心,利用人工智能助手的力量来增强自身能力。他强调技术应该是一股积极的力量,举例说明一些组织如何利用人工智能来解决重要问题,为社会带来积极影响。
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。亚马逊云科技致力于成为企业构建和应用生成式AI的首选,通过生成式AI技术栈,提供用于模型训练和推理的基础设施服务、构建生成式AI应用的大模型等工具、以及开箱即用的生成式AI应用。深耕本地、链接全球 – 在中国,亚马逊云科技通过安全、稳定、可信赖的云服务,助力中国企业加速数字化转型和创新,并深度参与全球化市场。