

# 軟體交付的挑戰
<a name="the-challenge-of-software-delivery"></a>

 如今，企業面臨著快速變化的競爭環境、不斷演進的安全需求，以及效能可擴展性所帶來的挑戰。企業必須縮小營運穩定性和快速開發功能間的差距。持續整合和持續交付 (CI/CD) 是相當實務的做法，可讓您進行快速的軟體變更，同時維持系統穩定性和安全。 

 Amazon 很早就意識到為 Amazon.com 零售客戶、Amazon 子公司和 Amazon Web Services (AWS) 提供功能業務需求，將需要全新且創新的軟體交付方式。在像 Amazon 這樣規模的公司裡，成千上萬的獨立軟體團隊必須能夠平行運作，以快速、安全、可靠地交付軟體，且對於任何中斷零容許。 

 透過學習如何快速地交付軟體，Amazon 和其他具前瞻思維的組織率先開啟了 [DevOps](https://aws.amazon.com/devops/what-is-devops/)。DevOps 是文化哲學、實務和工具的組合，可提升組織快速交付應用程式及服務的能力。組織使用 DevOps 原則，可以比使用傳統軟體開發和基礎設施管理程序的組織，更快速地演進及改善產品。這樣的速度讓組織可以為客戶提供更佳的服務，並在市場上更有效率地競爭。

 其中一些原則，例如[雙披薩團隊](https://www.businessinsider.com/jeff-bezos-two-pizza-rule-for-productive-meetings-2013-10)和微型服務/服務導向架構 (SOA) 不在本白皮書探討的範圍內。本白皮書探討 Amazon 建置及持續改善的 CI/CD 功能。CI/CD 是快速且可靠地交付軟體功能的關鍵。

 AWS 現在以一組開發人員服務的形式提供這些 CI/CD 功能：[AWS CodeStar](https://aws.amazon.com/codestar/)、[AWS CodeCommit](https://aws.amazon.com/codecommit/)、[AWS CodePipeline](https://aws.amazon.com/codepipeline/)、[AWS CodeBuild](https://aws.amazon.com/codebuild/)、[AWS CodeDeploy](https://aws.amazon.com/codedeploy/) 及 [AWS CodeArtifact](https://aws.amazon.com/codeartifact/)。從事 DevOps 的開發人員和 IT 營運專業人員可以使用這些服務，快速、安全地交付軟體。這些服務結合在一起，可協助您安全地存放，並將版本控制套用到您應用程式的原始檔。您可以使用 AWS CodeStar，快速地協調使用這些服務的端對端軟體發行工作流程。針對現有環境，AWS CodePipeline 具備了靈活性，可使用您現有的工具獨立整合每項服務。這些具備高可用性且可輕鬆整合的服務，和任何其他的 AWS 服務相同，可透過 AWS 管理主控台、AWS 應用程式的程式設計界面 (API) 和 AWS 軟體開發工具組 (SDK)，進行存取。