

# 软件交付面临的挑战
<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) 进行访问。