亚马逊云科技基础设施即代码:全年回顾

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/DOP206-AWS_infrastructure_as_code__A_year_in_review-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 亚马逊云科技以编程、描述性和声明性的方式提供帮助创建、部署和维护应用程序基础架构的服务。这些服务有助于为应用程序开发提供严密性、清晰度和可靠性。参加本次讲座,了解亚马逊云科技基础设施即代码的新功能和改进,以及 Amazon CloudFormation 和 Amazon Cloud Development Kit (Amazon CDK) 如何使您的团队受益。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共2000字,阅读时间大约是10分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> 1. 亚马逊云科技为加强基础设施即代码基础投资的主要领域 2. 探讨如何在不同类型的组织中实现基础设施即代码的转变 3. 对基础设施即代码未来可能的发展趋势的前景分析 詹姆斯对第一部分进行了阐述,详细介绍了亚马逊云科技在基础设施即代码方面的投资组合。他指出,这一投资组合由多个层次组成,每个层次都在上一层次的基础上构建。 首先,底层是亚马逊云科技的CloudFormation资源注册表,它将众多的亚马逊云科技云服务作为可在代码中描述的提供资源,以便暴露给基础设施即代码工具。 其次,上一层是亚马逊云科技的CloudFormation产品本身。它负责协调跨这些资源的配置操作,并提供一些管理体验,如漂移检测、用于预览更改的变更集以及用于多帐户/多区域部署的栈集。用户可以通过编写YAML或JSON模板与CloudFormation互动。 此外,在核心CloudFormation层之外,还有许多其他的抽象和集成。这些包括使用熟悉的编程语言的亚马逊云科技云计算开发工具包(CDK)来编写基础设施即代码,适用于[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)应用的亚马逊云科技服务器应用模型(SAM),以及针对特定使用情况的解决方案,如亚马逊云科技Copilot和亚马逊云科技Application Composer。 Amazon Web Services (亚马逊云科技) 的 Service Catalog 是一个集中式平台,用于共享和管理对 CloudFormation 模板以及其他标准化产品的访问。亚马逊云科技 的 Amplify 也整合于此,旨在加速移动和 web 应用程序的开发。 关键在于,基础资源注册表还被插入到 亚马逊云科技 的 Cloud Control API 中。这一点非常重要,因为它允许像 Terraform, Pulumi 和 Ansible 这样的第三方基础设施即代码工具与 亚马逊云科技 提供的相同健壮的资源定义进行集成。 James 强调,在 2023 年,亚马逊云科技 在改善这些底层——基础设施即代码的基本原理方面投入了大量资金。尽管许多新功能已经发布,但一些最具影响力的工作仍在幕后进行。 他提供了一些历史背景。在 12 年前的 CloudFormation 启动时,资源提供商层就嵌入在 CloudFormation 代码本身中。然而,随着 亚马逊云科技 的创新速度大幅加快,每年发布数千项新功能,这变得不可持续。CloudFormation 团队难以跟上添加、更新和维护资源提供商的负担。 独立资源注册表的引入允许采用联邦所有权模型。如今,像 S3, Lambda 和 DynamoDB 这样的服务团队负责构建和演变他们服务的资源提供者。CloudFormation 团队摆脱了这种负担。 这种注册表架构还有其他好处: - 第三方支持 - 目前,来自 20 多个合作伙伴的超过 153 种资源类型可供使用,涵盖了监控、数据库、网络等领域。 - 资源覆盖率至关重要 - 一位企业首席信息官表示:“如果没有 CloudFormation 对 亚马逊云科技 功能或服务的支持,我们无法将这些 亚马逊云科技 创新作为我们云基础设施的一部分。”对于管理云应用规模,基础设施即代码是必需的,因此拥有可用且最新的资源具有巨大影响。 - 注册表上的资源可免费获取读取、列出和导入等功能。这支持了当资源由 CloudFormation 管理时发生的偏移检测功能。 - CloudFormation 支持已纳入标准的 亚马逊云科技 服务发布过程。大多数新服务现在从第一天起至少具备基本的 CloudFormation 支持。 首先,所有注册表中的资源提供程序都必须遵循标准合同,以确保其合规性。其次,自动化测试被用来验证它们的合规性。接下来,对旧资源和新的资源提供程序之间的API相同性进行严格测试,以确保在迁移后的API调用保持一致。此外,还使用了混沌工程技术来模拟部分故障,以确保在边缘情况下具有优雅的错误处理。特别注意的是保持向后兼容性,以确保客户的正常使用不受影响。 这种测试方法不仅验证了初始迁移,还将继续保护客户免受未来开发中不必要的更改的影响。尽管这并不是最花哨的工作,但詹姆斯很自豪地向观众展示了加强这些基础所涉及的工程工作的幕后情况。他认为,对于像CloudFormation这样的托管服务来说,保持向后兼容性尤为重要。詹姆斯指出,现在有超过百万的亚马逊云科技客户在使用CloudFormation。然而,还有许多其他客户选择使用像Terraform、Ansible和Pulumi这样的工具来管理基础设施。团队坚信,所有亚马逊云科技客户都应该受益于他们对完善资源注册表的投资。 为了实现这个目标,亚马逊云科技团队推出了亚马逊云科技Cloud Control API。通过将这些经过验证的资源提供程序作为外部服务公开,第三方基础设施即代码工具可以构建在它们之上。例如,HashiCorp计划将在2024年初发布他们的Terraform Cloud Control提供商。这将使Terraform能够利用亚马逊云科技服务团队维护的数百个资源提供程序。 在概述了基本原理之后,詹姆斯将演讲交给了塔蒂安娜,以便她讨论2023年更多面向客户的基础设施即代码发布内容。由于过去一年中推出的新功能和改进数量众多,塔蒂安娜将重点介绍与基础设施即代码工作流程的各个阶段相关的仅仅几个发布。 了解初始模式后,她开始专注于对亚马逊云科技应用程序编配器的更新。这个用于构建云计算应用的可视化界面最初只支持有限的[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)资源。然而,根据用户反馈,它已经扩展到涵盖所有CloudFormation资源。如今,用户可以可视化地探索任何资源的组合方式,而不仅仅是[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)应用。本周与Step Functions工作流工作室的集成还解锁了在其他[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)应用程序中使用同一画布的其他应用场景。 在创作过程中,她强调了对原生CloudFormation模板语言的两个改进。这两个改进是基于GitHub讨论中汇总的频繁用户请求,添加了新的内置函数如Fn::FindInMap和循环功能如Fn::Split。团队希望听到更多的建议,以指导未来的模板语言增强。 在部署和开发/测试周期方面,一个新的亚马逊云科技集成应用程序测试套件现已处于预览阶段。这通过处理测试资源的设置和配置,使在云中进行驱动式开发变得更加容易。目前的支持主要集中在用Python编写的EventBridge应用。欢迎用户提供有用的集成建议。 最后,针对代码驱动的基础设施扩展,她提到了更容易与Git存储库集成以进行CloudFormation部署。现在,用户可以通过将模板直接从GitHub、GitHub企业、BitBucket和GitLab触发栈操作,从而消除了手动将模板上传到S3以进行部署的需求。 总之,这些只是与代码驱动的基础设施工作流程相关的各项举措的示例。随后,她将话语权交给了詹姆斯,以便讨论代码驱动的基础设施转型。 嵌入式DevOps专家——派驻在团队内部处理基础设施的个人。他们专注于实现自动化、持续集成和持续交付(CI/CD),以确保应用程序的稳定性和性能。这些专家通常熟悉各种DevOps工具和实践,以便为团队提供最佳实践和支持。 - 分散式DevOps:在这种模式下,开发者拥有端到端的基础设施和应用程序代码。这使得团队能够更快地响应变化,提高效率和灵活性。这种模式需要高度协作和良好的沟通,以确保所有团队成员都了解并遵循相同的实践和标准。 詹姆斯通过最近针对每种模式的帮助组织转型的基础设施即代码功能进行了介绍: - 对于已经具备资源但尚未管理的团队,即将推出的CloudFormation模板生成将扫描账户并生成初始模板。CDK迁移对现有资源执行相同操作并生成CDK代码。这通过将现有环境纳入基础设施即代码中,为采用提供了推动力。 - 为了鼓励手动用户接受基础设施即代码,与GitHub、GitLab和BitBucket的集成使得采用基于git的工作流程变得更加容易。CloudFormation堆栈同步消除了离开git工具链的需求。 - 抽象如亚马逊云科技SAM和CDK支持重用并提高开发者的速度。CDK在GitHub上的开源社区有助于在组织和组织之间共享模式。 - 最后,安全功能如CloudFormation钩子允许在部署前实施安全围栏和政策强制执行。GoDaddy使用名为Stack Safeguard的钩子解决方案来阻止不安全的配置。 塔蒂安娜回顾了一下核心内容。她断言基础设施即代码正处于多模式交互的时代。从历史角度看,用户手动编辑原始模板文件。2019年,CDK引入了编程语言抽象的选择。去年,Application Composer提供了一个用于构建的视觉画布。仅仅在今年,CodeWhisper将生成性AI引入了创作过程。塔蒂安娜预测未来将会涉及视觉、文本和语音驱动交互的无缝流动。未来的基础设施即代码工具将根据用户的需要满足他们的需求,促进适合每个开发阶段的不同模式。 詹姆斯以一些关于基础设施即代码将如何和不会发生变化的视角结束了演讲。他引用了杰夫·贝索斯的一句话:“最重要的问题不是‘什么会改变?’,而是‘什么不会改变?’”。后者揭示了公司可以在哪里进行大胆投资。对于基础设施即代码,詹姆斯坚信资源覆盖、可扩展性和安全性将继续是亚马逊云科技的首要任务,无论用户与工具的交互方式如何变化。 一些核心信仰: 1. 基础设施即代码是一种强大的工具,可以帮助企业优化其基础设施和管理过程。 2. DevOps方法和实践继续成为现代软件开发的关键组成部分。 3. 随着技术的发展,基础设施即代码工具将继续改进和创新,以满足不断变化的需求和挑战。 4. 可扩展性和安全性将继续是基础设施即代码的核心关注点,以确保可靠性和稳定性。 基础资源层的一致性与质量对构建更高层次的基础设施即代码解决方案至关重要。基础设施即代码已成为管理云计算基础设施的主要方法,且其重要性将持续增长。随着编写速度的提升,自动回滚和安全政策等安全功能将变得越来越重要。总的来说,Tatiana和James期待与会者提供反馈,共同探讨相关问题。他们提到了YouTube、LinkedIn、产品路线图以及新的IaC Builder Slack社区等沟通渠道。简而言之,演讲内容涉及了2023年在基础设施即代码领域的一些重大投资以及为简化采用过程而推出的高级功能。亚马逊云科技认为,结合视觉、文本和语音输入的多模态界面将成为基础设施即代码的未来发展方向。同时,他们也承诺将一致性、可扩展性和安全性等关键核心价值融入其所构建的所有产品中。用户的反馈将有助于推动朝着正确方向进行的创新。 **下面是一些演讲现场的精彩瞬间:** 詹姆斯·胡德在亚马逊云科技担任首席工程师,他在亚马逊工作了14年,期间既参与了零售团队的工作,也参与了亚马逊云科技团队的工作。 ![](https://d1trpeugzwbig5.cloudfront.net/DOP206-AWS_infrastructure_as_code__A_year_in_review/images/rebranded/DOP206-AWS_infrastructure_as_code__A_year_in_review_0.png) 塔蒂安娜通过让观众举手回答问题,分享他们在使用代码基础设施方面的经验,以此吸引观众的注意力。 ![](https://d1trpeugzwbig5.cloudfront.net/DOP206-AWS_infrastructure_as_code__A_year_in_review/images/rebranded/DOP206-AWS_infrastructure_as_code__A_year_in_review_1.png) 演讲内容强调了亚马逊云科技在基础建设方面的基础投资,以及如何通过代码基础设施建设来改变组织的运作方式。 ![](https://d1trpeugzwbig5.cloudfront.net/DOP206-AWS_infrastructure_as_code__A_year_in_review/images/rebranded/DOP206-AWS_infrastructure_as_code__A_year_in_review_2.png) 此外,演讲还展望了2024年基础设施即代码(IAC)的发展前景。 ![](https://d1trpeugzwbig5.cloudfront.net/DOP206-AWS_infrastructure_as_code__A_year_in_review/images/rebranded/DOP206-AWS_infrastructure_as_code__A_year_in_review_3.png) 詹姆斯回顾了他所参与的亚马逊云科技的IAC产品组合,包括资源注册层、亚马逊云科技的CloudFormation产品以及近期推出的CloudFormation钩子功能。 ![](https://d1trpeugzwbig5.cloudfront.net/DOP206-AWS_infrastructure_as_code__A_year_in_review/images/rebranded/DOP206-AWS_infrastructure_as_code__A_year_in_review_4.png) 亚马逊云科技的CloudFormation层提供了核心的基础设施配置能力,而更高层次的抽象,如CDK、SAM和Amplify,则加速了应用程序的开发过程。 ![](https://d1trpeugzwbig5.cloudfront.net/DOP206-AWS_infrastructure_as_code__A_year_in_review/images/rebranded/DOP206-AWS_infrastructure_as_code__A_year_in_review_5.png) 亚马逊云科技的工程师们在幕后默默努力,使得客户能够专注于自己的应用程序,而无需关心基础设施方面的问题。 ![](https://d1trpeugzwbig5.cloudfront.net/DOP206-AWS_infrastructure_as_code__A_year_in_review/images/rebranded/DOP206-AWS_infrastructure_as_code__A_year_in_review_6.png) ## 总结 亚马逊云科技的Infrastructure as Code团队在过去一年中对其基础组件进行了改进,包括资源注册表,使得各个服务能够拥有自己的资源定义。这一改进有助于使IaC工具能够紧跟亚马逊云科技的新功能。同时,他们还推出了Cloud Control API,使第三方IaC工具能够利用注册表。 在编写IaC方面,他们扩展了亚马逊云科技的应用程序编配器(Application Composer)以可视化方式支持所有CloudFormation资源。此外,他们还添加了CodeWhisperer的AI支持来协助编写模板。在部署方面,他们推出了一项新功能,可以从如GitHub等Git提供商同步栈并检测失败的原因。 展望未来,他们预计IaC将有多种交互方式,实现视觉、文本和语音界面之间的无缝切换。IaC的核心价值仍将在为基础设施部署提供一致性、可扩展性和安全性。他们欢迎对于像编配器、模板生成、从Git同步以及CodeWhisperer等产品提供的反馈。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站! [2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站") [点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯! [点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯! ## 即刻注册亚马逊云科技账户,开启云端之旅! [【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“") [【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭