本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
基础设施即代码
随着无服务器 AI 系统的扩展,配置、管理和发展云基础架构的复杂性迅速增加。手动设置 AWS Lambda 函数 APIs、Amazon Bedrock 代理、IAM 角色和状态机容易出错、不可重复且不合规。
基础设施即代码 (IaC) 是一门基础学科,可确保所有基础设施组件都是:
-
版本控制
-
可在不同环境中重复
-
可审计且可审查
-
模块化且可测试
通过采用 IaC,企业不仅可以获得自动化,还可以在部署和运营无服务器 AI 工作负载时获得治理、速度和弹性。
AWS 服务 用于在 IaC 上部署无服务器 AI AWS
以下工具 AWS 服务 和第三方工具支持 IaC 在上部署无服务器 AI。 AWS AWS CloudFormation AWS CDK、,并 AWS SAM 提供基础架构部署的本机 AWS 功能。 HashiCorpTerraform提供了一种流行的第三方解决方案。每种方法都有明显的优势,适合不同的团队要求和用例。
CloudFormation
CloudFormation是一项原生的声明式 IaC 服务,允许您将基础设施定义为结构化 JSON 或 YAML 模板。
的优势 CloudFormation 包括以下几点:
-
高度稳定且成熟,在所有方面都得到广泛支持 AWS 服务
-
集成的回滚和漂移检测
-
托管堆栈和变更集可实现更安全的部署
-
直接支持 AWS 管理控制台 用于视觉跟踪
CloudFormation 是满足以下要求的理想选择:
-
需要具有精细控制的明确、可审计模板的团队
-
强制要求代码可追溯性的监管环境
-
DevOps 管道强制执行严格推广工作流程的环境
AWS CDK
AWS Cloud Development Kit (AWS CDK)是一个开源框架。借助 AWS CDK,您可以使用熟悉的编程语言(例如TypeScript、PythonJava、或 C#)来定义 AWS 基础架构。
的优势 AWS CDK 包括以下几点:
-
命令式和声明式混合体,支持在代码中使用循环、条件和抽象
-
许多构造和可重复使用的模式的可用性
-
开发人员更容易采用(代码优先的思维方式)
-
支持使用环境感知堆栈进行多环境部署
AWS CDK 是满足以下要求的理想选择:
-
具有强大软件工程技能的团队
-
需要动态生成基础架构的用例
-
涉及构造重用、自定义和快速迭代的项目
AWS SAM
AWS Serverless Application Model (AWS SAM) 是一款针对定义无服务器应用程序(例如 Lambda 、Amazon API Gatew a y 和)进行了优化的 CloudFormation 扩展。AWS Step Functions
的优势 AWS SAM 包括以下几点:
-
最小语法,非常适合基于 Lambda 的管道
-
本地仿真和调试的原生支持
-
集成命令行界面 (CLI) 可简化部署、测试和打包工作流程
AWS SAM 是满足以下要求的理想选择:
-
主要关注 Lambda、API Gateway 和 Amazon Bedrock 的中小型项目
-
需要基于 YAML 的简单模板并具有内置持续集成和持续部署 (CI/CD) 支持的团队
Terraform
HashiCorp
Terraform
的优势Terraform包括以下几点:
-
除此之外 AWS ,广泛的提供商生态系统非常适合多云场景
-
丰富的状态管理和依赖关系图解析
-
在拥有 “ DevOps先行” 文化并使用 GitOps工作流程的企业中很受欢迎
Terraform是满足以下要求的理想选择:
-
拥有现有Terraform投资的团队
-
与软件即服务 (SaaS) 工具集成的多云部署或 AWS 原生服务
-
采用标准化Terraform以实现跨团队一致性的组织
无服务器 AI 项目中 IaC 的最佳实践
在无服务器 AI 项目中实施 IaC 时,请考虑以下最佳实践及其重要性:
-
版本控制一切 — 确保可重复性,支持回滚,并支持通过 Git 批准变更。
-
使用特定于环境的堆栈 — Cleanly 将开发、测试和生产部署分开。防止意外交叉污染。
-
基础设施模块化 — 鼓励重复使用,加快入门速度,缩小变更的爆炸半径(例如,一个模块用于 A mazon Bedrock Agen ts,另一个模块用于规则)。 EventBridge
-
使用参数化和标签-启用动态堆栈行为和成本跟踪。提高账单和 Amazon CloudWatch 的可观察性。
-
将 IaC 集成到 CI/CD 中 — 在部署期间自动更新基础架构,帮助确保应用程序和基础架构保持同步。
-
应用架构验证和 linting — 防止部署错误,并确保团队贡献的一致性。
-
实施漂移检测和审计跟踪 — 帮助确保基础架构符合预期定义并简化合规性审查(例如,使用 CloudFormation 漂移检测或 Terraform 状态验证)。
示例:无服务器 AI 助手的版本化部署
使用 AWS CDK 或 CloudFormation,由 Amazon Bedrock 提供支持的支持助手可能包括以下内容:
-
API Gateway 终端节点
-
Amazon Bedrock 代理,拥有三种基于 Lambda 的工具
-
引用 Amazon S3 文档的知识库
-
用于后备/错误处理的 Step Functions 工作流程
-
日志和可观测性基础设施,例如或 CloudWatch AWS X-Ray
在 IaC 中,所有这些元素都是在存储库中定义的,通过 CI/CD 进行推广,并在每次部署时都标有版本标记。这种方法可提供全面的可追溯性、可审计性,并在需要时进行回滚。
无服务器 AI 的 IaC 部署摘要
企业级无服务器 AI 系统的 IaC 是将实验转化为生产的基础,让组织确信自己的基础架构是:
-
在开发、测试和生产环境中保持一致
-
可通过政策、审查和审计机制进行管理
-
可扩展,速度与 AI 采用速度相同
无论是 AWS CDK 用于动态结构、与审计一致 CloudFormation 的部署,还是 AWS SAM 用于聚焦管道,IaC 都是智能的事件驱动云的控制平面。