

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 基础设施即代码
<a name="infrastructure-as-code"></a>

随着无服务器 AI 系统的扩展，配置、管理和发展云基础架构的复杂性迅速增加。手动设置 AWS Lambda 函数 APIs、Amazon Bedrock 代理、IAM 角色和状态机容易出错、不可重复且不合规。

基础设施即代码 (IaC) 是一门基础学科，可确保所有基础设施组件都是：
+ 版本控制
+ 可在不同环境中重复 
+ 可审计且可审查
+ 模块化且可测试

通过采用 IaC，企业不仅可以获得自动化，还可以在部署和运营无服务器 AI 工作负载时获得治理、速度和弹性。

## AWS 服务 用于在 IaC 上部署无服务器 AI AWS
<a name="section-iac-aws-services"></a>

以下工具 AWS 服务 和第三方工具支持 IaC 在上部署无服务器 AI。 AWS AWS CloudFormation AWS CDK、，并 AWS SAM 提供基础架构部署的本机 AWS 功能。 HashiCorpTerraform提供了一种流行的第三方解决方案。每种方法都有明显的优势，适合不同的团队要求和用例。

### CloudFormation
<a name="section-iac-cloudformation"></a>

[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)是一项原生的声明式 IaC 服务，允许您将基础设施定义为结构化 JSON 或 YAML 模板。

的优势 CloudFormation 包括以下几点：
+ 高度稳定且成熟，在所有方面都得到广泛支持 AWS 服务 
+ 集成的回滚和漂移检测
+ 托管堆栈和变更集可实现更安全的部署 
+ 直接支持 AWS 管理控制台 用于视觉跟踪

CloudFormation 是满足以下要求的理想选择：
+ 需要具有精细控制的明确、可审计模板的团队
+ 强制要求代码可追溯性的监管环境 
+  DevOps 管道强制执行严格推广工作流程的环境

### AWS CDK
<a name="section-iac-cdk"></a>

[AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)是一个开源框架。借助 AWS CDK，您可以使用熟悉的编程语言（例如TypeScript、PythonJava、或 C\#）来定义 AWS 基础架构。

的优势 AWS CDK 包括以下几点：
+ 命令式和声明式混合体，支持在代码中使用循环、条件和抽象 
+ 许多构造和可重复使用的模式的可用性
+ 开发人员更容易采用（代码优先的思维方式）
+ 支持使用环境感知堆栈进行多环境部署

 AWS CDK 是满足以下要求的理想选择：
+ 具有强大软件工程技能的团队
+ 需要动态生成基础架构的用例
+ 涉及构造重用、自定义和快速迭代的项目

### AWS SAM
<a name="section-iac-sam"></a>

[AWS Serverless Application Model (AWS SAM)](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) 是一款针对定义无服务器应用程序（例如 Lambda [、Amazon API](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) Gatew [a](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) y 和）进行了优化的 CloudFormation 扩展。[AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)

的优势 AWS SAM 包括以下几点：
+ 最小语法，非常适合基于 Lambda 的管道
+ 本地仿真和调试的原生支持
+ 集成命令行界面 (CLI) 可简化部署、测试和打包工作流程

AWS SAM 是满足以下要求的理想选择：
+ 主要关注 Lambda、API Gateway 和 Amazon Bedrock 的中小型项目
+ 需要基于 YAML 的简单模板并具有内置持续集成和持续部署 (CI/CD) 支持的团队

### Terraform
<a name="section-iac-terraform"></a>

[https://developer.hashicorp.com/terraform/intro](https://developer.hashicorp.com/terraform/intro)是一款 IaC 工具，可帮助您使用代码来配置和管理云基础架构和资源。

的优势Terraform包括以下几点：
+ 除此之外 AWS ，广泛的提供商生态系统非常适合多云场景 
+ 丰富的状态管理和依赖关系图解析
+ 在拥有 “ DevOps先行” 文化并使用 GitOps工作流程的企业中很受欢迎

Terraform是满足以下要求的理想选择：
+ 拥有现有Terraform投资的团队
+ 与软件即服务 (SaaS) 工具集成的多云部署或 AWS 原生服务
+ 采用标准化Terraform以实现跨团队一致性的组织

## 无服务器 AI 项目中 IaC 的最佳实践
<a name="section-iac-best-practices"></a>

在无服务器 AI 项目中实施 IaC 时，请考虑以下最佳实践及其重要性：
+ **版本控制一切** — 确保可重复性，支持回滚，并支持通过 Git 批准变更。
+ **使用特定于环境的堆栈** — Cleanly 将开发、测试和生产部署分开。防止意外交叉污染。
+ **基础设施模块化** — 鼓励重复使用，加快入门速度，缩小变更的爆炸半径（例如，一个模块用于 A [mazon Bedrock Agen](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html) ts，另一个模块用于规则）。 EventBridge 
+ **使用参数化和标签**-启用动态堆栈行为和成本跟踪。提高账单和 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 的可观察性。
+ **将 IaC 集成到 CI/CD** 中 — 在部署期间自动更新基础架构，帮助确保应用程序和基础架构保持同步。
+ **应用架构验证和 linting** — 防止部署错误，并确保团队贡献的一致性。
+ **实施漂移检测和审计跟踪** — 帮助确保基础架构符合预期定义并简化合规性审查（例如，使用 CloudFormation [漂移检测](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)或 Terraform 状态验证）。

## 示例：无服务器 AI 助手的版本化部署
<a name="section-iac-example-deployment"></a>

使用 AWS CDK 或 CloudFormation，由 Amazon Bedrock 提供支持的支持助手可能包括以下内容：
+ API Gateway 终端节点
+ Amazon Bedrock 代理，拥有三种基于 Lambda 的工具
+ 引用 Amazon S3 文档的知识库
+ 用于后备/错误处理的 Step Functions 工作流程
+ 日志和可观测性基础设施，例如或 CloudWatch [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)

在 IaC 中，所有这些元素都是在存储库中定义的，通过 CI/CD 进行推广，并在每次部署时都标有版本标记。这种方法可提供全面的可追溯性、可审计性，并在需要时进行回滚。

## 无服务器 AI 的 IaC 部署摘要
<a name="section-iac-summary"></a>

企业级无服务器 AI 系统的 IaC 是将实验转化为生产的基础，让组织确信自己的基础架构是：
+ 在开发、测试和生产环境中保持一致
+ 可通过政策、审查和审计机制进行管理
+ 可扩展，速度与 AI 采用速度相同

无论是 AWS CDK 用于动态结构、与审计一致 CloudFormation 的部署，还是 AWS SAM 用于聚焦管道，IaC 都是智能的事件驱动云的控制平面。