

# 團隊
<a name="teams"></a>

 AWS 建議組織三個開發人員團隊來實作 CI/CD 環境：應用程式團隊、基礎設施團隊，以及工具團隊 (請參閱下圖)。此組織呈現一系列最佳實務，這些實務都是由快速成長的新創公司、大型企業組織及 Amazon 本身發展的，並已獲得採用。團隊的大小不應大於能吃完兩個披薩的團體，或大約 10 至 12 人。此遵循溝通的規則，即有意義的對話在團隊的大小增加，且溝通線呈倍數成長時，達到極限。 

![](http://docs.aws.amazon.com/zh_tw/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 視為軟體交付中人員、程序和工具的總和。