ITPub博客

首页 > 云计算 > 公有云实践 > 亚马逊云基础设施即代码:年度回顾

亚马逊云基础设施即代码:年度回顾

公有云实践 作者:出海新观点 时间:2025-07-08 02:08:55 0 删除 编辑


导读

亚马逊云科技提供了一系列服务,使得以编程、描述性和声明性的方式创建、部署和维护应用程序基础设施成为可能。这些服务为应用程序开发带来了严谨性、清晰度和可靠性。参加本次会议,了解亚马逊云科技基础设施即代码的新功能和改进,包括亚马逊云科技 CloudFormation和亚马逊云科技 Cloud Development Kit(Amazon CDK),并探索它们如何能够使您的团队受益。

演讲精华

以下是小编为您整理的本次演讲的精华。

在2024年的亚马逊云科技 re:Invent大会上,亚马逊云科技公司举办了一场题为“亚马逊云基础设施即代码:年度回顾”的技术分享会。会议由亚马逊云科技基础设施代码产品团队的Ben Perick和James Hood以及来自Netflix的员工Nick Ciao共同主讲。Ben Perick首先向与会者致欢迎辞,并简要介绍了基础设施即代码(Infrastructure as Code,IaC)的概念。IaC允许用户使用代码来声明和配置所需的云基础设施资源,而不是通过手动操作来配置。他解释了Amazon CloudFormation作为IaC工具的核心作用,它可以根据用户提供的模板自动调用相应的API来创建和配置资源。

接下来,Ben概述了亚马逊云科技 IaC产品组合,包括CloudFormation、资源注册表(Resource Registry)、云控制API(Cloud Control API)等层次。他着重介绍了CloudFormation作为亚马逊云科技 IaC的核心工具,自2011年推出以来不断发展,提供了自动回滚、最终一致性检查等功能,确保基础设施部署的可靠性。CloudFormation已经成为亚马逊云科技内部和外部客户部署基础设施的事实标准工具。此外,亚马逊云科技还推出了一些专门解决特定用例的工具,如Service Application Model、Amplify等,它们都是建立在CloudFormation之上的。Ben还介绍了亚马逊云科技云开发工具包(Cloud Development Kit,CDK),它允许开发者使用熟悉的编程语言(如Python、TypeScript)来编写IaC代码,并提供模块化的构造块(Constructs)来封装最佳实践。最终,CDK会将代码合成为CloudFormation模板并通过CloudFormation进行部署。

在介绍了资源注册表(Resource Registry)和云控制API(Cloud Control API)之后,Ben将会议的主题权交给了James Hood。James Hood作为Amazon CloudFormation团队的资深工程师,分享了该团队在过去一年中为提高IaC开发效率、部署安全性和治理能力所做的工作。

在开发效率方面,James首先介绍了IaC生成器(IAC Generator)的新功能。该工具可以自动将手动创建的资源转换为CloudFormation模板,帮助用户从点击操作(Click Ops)过渡到IaC。James解释说,虽然控制台和CLI是了解新服务的好方式,但随着应用程序规模的扩大,手动构建IaC模板会成为IaC采用的一大障碍。IaC生成器可以浏览用户账户中的资源目录,选择需要导入的资源,并自动检测相关资源,最终生成CloudFormation模板。用户可以选择将这些资源导入新的堆栈或现有的堆栈中。

接下来,James分享了亚马逊云科技在优化堆栈创建时间方面的工作。他承认开发人员总是希望内循环(编辑、测试、调试的循环)尽可能快,而CloudFormation的部署速度直接影响了这一点。因此,亚马逊云科技专注于加快资源供应、加快错误响应和改进故障排查等几个方面。具体来说,亚马逊云科技通过并行创建独立资源和优化稳定等策略,使CloudFormation的堆栈创建时间提高了40%。James以IAM角色为例,详细解释了亚马逊云科技如何区分“配置完成”和“完全稳定”这两个里程碑,并采用“乐观稳定”的部署策略,在资源达到“配置完成”状态时就开始创建下一个依赖资源,从而提高并行度和减少总体创建时间。

除了原始供应速度之外,亚马逊云科技还在其他几个方面提高了开发效率。首先,CloudFormation现在可以在部署之前检查常见的模板错误,在中位数情况下,错误响应时间加快了6.2倍。其次,用户现在可以为自定义资源设置合理的超时时间,避免在开发和测试过程中等待过长时间。第三,CloudFormation增加了“查看根本原因”按钮、CloudTrail集成和Amazon Q诊断等功能,帮助开发人员更快速地定位和解决问题。

James还介绍了一些开发者工具,如cfn-lint、Rain和Amazon Q,它们可以提高CloudFormation模板编写和部署的效率。cfn-lint是一个流行的lint工具,可以在部署之前检查模板中的错误和警告,亚马逊云科技最近发布了该工具的GA版本。Rain是一个CLI工具,可以帮助格式化模板、打包本地工件等。Amazon Q则是一个基于生成式AI的助手,可以生成新模板、解释模板代码或编辑模板。

对于CDK用户,James分享了亚马逊云科技为CDK推出的一些新功能。包括新的L2构造块,如VPC和CloudFront,以及对资产管理和IAM角色会话超时等方面的改进。

在部署安全性方面,James重点介绍了CloudFormation变更集(ChangeSet)的增强功能。变更集现在可以显示资源属性的前后值,让用户在部署之前了解实际会发生的变更。James以一个Lambda函数的更新为例,说明了如何通过变更集了解动态值的实际变化情况。此外,亚马逊云科技还将变更集与Git集成,自动在拉取请求中发布变更集,以便审查人员在批准之前了解变更内容。

James还分享了亚马逊内部工具ChangeGuardian的使用案例。ChangeGuardian是一个与CloudFormation变更集集成的工具,它可以运行一系列规则来标记和阻止高风险变更,如意外删除有状态资源或创建公共访问存储桶等。亚马逊云科技的云形成团队与内部构建工具团队密切合作,共同探索安全部署的新创新,ChangeGuardian就是其中之一。James表示,亚马逊云科技将继续从这些内部实验中吸取经验教训,并将最佳实践整合到CloudFormation中,以便所有客户受益。

在治理控制方面,Ben分享了CloudFormation Hooks的新功能——亚马逊云科技托管Lambda Hook。传统上,CloudFormation Hooks的编写体验并不理想,因此亚马逊云科技允许用户编写Lambda函数来评估将要创建或更新的资源。在部署期间,CloudFormation会将解析后的资源有效负载发送到用户的Lambda函数,由函数决定是否批准该操作。Ben解释说,这种模式符合许多客户内部使用策略引擎的做法,只需获取将要供应的资源即可进行评估。亚马逊云科技托管Lambda Hook是一项免费服务,用户只需为Lambda函数的执行付费。

Ben继而分享了Netflix在亚马逊云科技上管理云资源的实践。Netflix内部有多种工具用于管理不同类型的资源,如ConsoleMe用于管理EC2资源,Spinnaker用于部署应用程序等。但对于诸如S3存储桶、SQS队列、DynamoDB表等核心云基础设施资源,Netflix缺乏统一的最佳实践方案,因此允许工程师自行决定使用控制台、CloudFormation或Terraform等工具。为了将安全和基础设施最佳实践融入到自助服务体验中,Netflix开发了“管理云资源”(Manage Cloud Resources)解决方案,它在底层利用了云控制API。Nick Ciao通过演示的方式展示了该解决方案的工作原理。

Nick解释了Netflix选择云控制API的原因,包括其资源覆盖范围广、可定制性强、支持漂移管理和控制引入等优势。通过云控制API,Netflix能够构建定制的资源管理体验,避免像CloudFormation那样的堆栈状态和资源导入/导出的限制,并且可以灵活地实施策略控制。Nick表示,使用云控制API的分解构建块,Netflix只用很少的代码就能构建出强大的基础设施管理解决方案。

最后,Ben和James分别对亚马逊云科技 IaC的未来发展方向进行了展望,包括进一步提高开发效率、增强部署安全性和治理能力等。他们还介绍了一些学习资源,如研讨会、Discord频道等,并鼓励观众在re:Invent大会期间提出任何问题。

总的来说,这场技术分享全面介绍了亚马逊云科技在基础设施即代码领域的最新进展,体现了亚马逊云科技不断努力简化和改进IaC工作流程的决心,以满足客户在开发效率、部署安全性和治理合规性方面的需求。会议内容丰富详实,为期望采用亚马逊云科技 IaC的用户提供了宝贵的指导和实践案例。

我们正处在 Agentic AI 爆发前夜。 2025 亚马逊云科技中国峰会提出,企业要从 " 成本优化 " 转向 " 创新驱动 " ,通过完善的数据战略和 AI 云服务,把握全球化机遇。亚马逊将投入 1000 亿美元在 AI 算力、云基础设施等领域,通过领先的技术实力和帮助“中国企业出海“和”服务中国客户创新“的丰富经验,助力企业在 AI 时代突破。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3090345/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-05-21

  • 博文量
    679
  • 访问量
    565556