

# 团队
<a name="teams"></a>

 AWS 建议组成三个开发人员团队来实施 CI/CD 环境：应用程序团队、基础设施团队和工具团队（请参见下图）。该组织代表了一套最佳实践，这些实践已在快速发展的初创公司、大型企业组织和 Amazon 本身中得以开发和应用。团队规模应不超过两个比萨饼可以承受的人数，或大约 10-12 人。这遵循了一条沟通规则，即随着群体规模的增加和沟通渠道的增多，有意义的对话会达到极限。 

![](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/practicing-continuous-integration-continuous-delivery/images/image7.png)


*应用程序、基础设施和工具团队*

## 应用程序团队
<a name="application-team"></a>

应用程序团队创建应用程序。应用程序开发人员拥有待办事项、情节和单元测试，并且根据指定的应用程序目标开发功能。该团队的组织目标是最大限度地减少这些开发人员花在非核心应用程序任务上的时间。

除了具备应用程序语言方面的功能编程技能外，应用程序团队还应具备平台技能并了解系统配置。这将使他们能够专注于开发功能和强化应用程序。 

## 基础设施团队
<a name="infrastructure-team"></a>

 基础设施团队负责编写代码，以同时创建和配置运行应用程序所需的基础设施。该团队可能使用原生 AWS 工具（例如 AWS CloudFormation）或通用工具，例如 Chef、Puppet 或 Ansible。基础设施团队负责指定所需的资源，并与应用程序团队密切合作。对于一个小型应用程序，基础设施团队可能只由一两个人组成。

 团队应该具备基础设施预置方法方面的技能，例如 AWS CloudFormation 或 HashiCorp Terraform。团队还应使用 Chef、Ansible、Puppet 或 Salt 等工具来培养配置自动化技能。

## 工具团队
<a name="tools-team"></a>

 工具团队负责构建和管理 CI/CD 管道。他们负责构成管道的基础设施和工具。他们不是双比萨团队的成员；但是，他们创建的工具可供组织中的应用程序团队和基础设施团队使用。组织需要不断完善其工具团队，以便工具团队比日趋成熟的应用程序团队和基础设施团队领先一步。

 工具团队必须能够熟练地构建和集成 CI/CD 管道的所有部分。这包括构建源代码管理存储库、工作流引擎、构建环境、测试框架和构件存储库。该团队可以选择实施 AWS CodeStar、AWS CodePipeline、AWS CodeCommit、AWS CodeDeploy、AWS CodeBuild 和 AWS CodeArtifact 等软件以及 Jenkins、GitHub、Artifactory、TeamCity 和其他类似工具。一些组织可能将其称为 DevOps 团队，但 AWS 不鼓励这样做，而是鼓励将 DevOps 视为软件交付中人员、流程和工具的总和。