概述
为什么选择 AWS 用于 DevOps?
快速入门
注册 AWS 账户之后,可以随时使用各项 AWS 服务。无需进行任何设置或安装任何软件。
完全托管服务
这些服务可以帮助您更快速地利用 AWS 资源。您无需过多关注基础设施的设置、安装和运行,可以将注意力集中到自己的核心产品上。
专为扩展而设计
您可以使用 AWS 服务管理单个实例或者将实例量扩展至上千个。这些服务可以帮助您简化预置、配置和扩展工作,从而充分利用灵活的计算资源。
可编程
您可以通过 AWS 命令行界面或者 API 和 SDK 来使用各项服务。您还可以使用声明式 AWS CloudFormation 模板来构建和预置 AWS 资源以及您的整个 AWS 基础设施。
为什么选择 AWS 用于 DevOps?
自动化
AWS 可以帮助您使用自动化功能,让您更加快速、高效地进行构建。利用 AWS 服务,您可以将部署、部署与测试工作流、容器管理和配置管理等手动任务和流程自动化。
安全
使用 AWS Identity and Access Management (IAM) 设置用户权限和策略。这让您可以对资源的访问者及其访问方式进行精细控制。
按使用付费
凭借 AWS,您可以根据需要并且仅在您计划使用它们的期间购买服务。AWS 定价没有前期费用、终止罚款或长期合同。AWS 免费套餐可帮助您开始使用 AWS。可以查看各项服务的定价页面以了解更多信息。
AWS 提供的 DevOps 工具
AWS 可以提供多种服务来帮助您的公司实现 DevOps,而且这些服务的设计初衷是与 AWS 配合使用。这些工具可以自动执行手动任务,帮助团队大规模管理复杂环境,并使工程师能够控制 DevOps 实现的高速度。
持续集成和持续交付
AWS 开发人员工具可以帮助您安全地对应用程序的源代码进行存储和版本控制,还可帮助您自动构建、测试应用程序并将其部署至 AWS 或本地环境。您可以通过 AWS CodePipeline 来构建一个组合或分别使用 AWS CodeBuild、AWS CodeDeploy 和各种其他工具的持续集成或持续交付工作流。
软件发布工作流
AWS CodePipeline
AWS CodePipeline 是一种持续集成与持续交付服务,可以实现快速而可靠的应用程序和基础设施更新。根据您定义的发布流程模型,只要代码发生变化,CodePipeline 便会构建、测试和部署您的代码。这使您能够快速而可靠地提供各种功能和更新。
生成和测试代码
AWS CodeBuild
AWS CodeBuild 是一项完全托管的生成服务,可编译源代码、运行测试以及生成可供部署的软件包。使用 CodeBuild,您无需配置、管理和扩展自己的生成服务器。CodeBuild 可以持续扩展并同时处理多项构建任务,因此您的构建任务不会在队列中等待。
部署自动化
AWS CodeDeploy
AWS CodeDeploy 可将代码自动部署至任何实例,包括 Amazon EC2 实例和本地服务器。借助 AWS CodeDeploy,您可以更轻松地快速发布新功能、避免在应用程序部署过程中出现停机,并简化应用程序的更新工作。
Instacart
Instacart 使用 AWS CodeDeploy 来自动部署其所有的前端和后端服务。利用 AWS CodeDeploy,Instacart 的开发人员可以专注于自己的产品,无需过多关注部署操作。

lululemon athletica
lululemon athletica 使用各种 AWS 服务来设计完全自动化的持续集成和交付系统。lululemon 使用 AWS CodePipeline 部署通过 Amazon S3 分发的项目。从这一阶段开始,项目会被部署到 AWS Elastic Beanstalk。

生产 Docker 平台
Amazon Elastic Container Service
Amazon Elastic Container Service (ECS) 是一项高度可扩展的高性能容器管理服务,支持 Docker 容器,并让您能够在托管的 Amazon EC2 实例集群上轻松运行应用程序。
无服务器计算
AWS Lambda
通过 AWS Lambda,无需配置或管理服务器即可运行代码。借助 Lambda,您几乎可以为任何类型的应用程序或后端服务运行代码,而且完全无需管理。只需上传您的代码,Lambda 会处理运行和扩展高可用性代码所需的一切工作。
Coursera
Coursera 使用 Amazon Elastic Container Service 为其应用程序管理基于微服务的架构。现在,Coursera 在资源隔离的环境中只需几分钟(而非数小时)即可完成软件更改的部署。

Localytics
Localytics 使用 AWS Lambda 来创建多种微服务,这些服务每月可以接收包含约 1000 亿个数据点的 Amazon Simple Storage Service 文件和 Kinesis 数据流

基础设施即代码
使用代码和模板来预置、配置和管理您的 AWS 基础设施资源。监控并实现基础设施合规性
模板化的基础设施预置
AWS CloudFormation
AWS CloudFormation 向开发人员和系统管理员提供了一种用于创建和管理一批相关 AWS 资源的简便方法,并通过有序且可预测的方式对其进行预置和更新。 您可以使用 AWS CloudFormation 的示例模板,也可以创建自己的模板。
Chef 配置管理
AWS OpsWorks
AWS OpsWorks 是一项配置管理服务,其使用的 Chef 自动化平台可以将服务器配置作为代码来处理。OpsWorks 利用 Chef 来自动处理您在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上或本地计算环境中的服务器的配置、部署和托管工作。OpsWorks 提供两种工具,一种是 AWS OpsWorks for Chef Automate,另一种是 AWS OpsWorks Stacks。
简单
Simple 在 AWS 上构建网上银行平台。利用 AWS CloudFormation,Simple 可以自动执行曾经需要数月时间才能完成的流程,从而将工作重点集中在客户服务而不是 IT 基础设施的管理上。
Toronto Star
Toronto Star 是加拿大最大的在线新闻网站。利用 AWS OpsWorks,Toronto Star 将内容管理应用程序的部署时间从 3 小时减少到 20 分钟,从而降低成本并提高生产率。
配置管理
AWS Systems Manager
AWS Systems Manager 是一项管理服务,可以帮助您自动收集软件清单、应用操作系统补丁、创建系统映像以及配置 Windows 和 Linux 操作系统。这些功能可以帮助您定义和跟踪系统配置、防止出现偏差并保持 EC2 和本地配置的软件合规性。
策略即代码
AWS Config
AWS Config 是一种完全托管的服务,可为您提供 AWS 资源库存、配置历史记录和配置更改通知,以确保安全性和方便管理。Config Rules 支持您创建规则,以自动检查 AWS Config 记录的 AWS 资源的配置。
Prezi
Prezi 使用 AWS Config 来跟踪对其 AWS 资源的配置更改。无论何时创建、修改或删除资源,AWS Config 均会发送通知。Prezi 使用 AWS Config 规则来管理 AWS 内资源的预置和配置。
了解详情
根据 AWS CloudFormation 模板预置基础设施、调用 AWS Systems Manager 来跟踪软件清单或配置实例,并使用 AWS Config 自动修复任何配置变化。
监控和日志记录
近乎实时地记录日志与监控应用程序和基础设施性能。
云和网络监控
Amazon CloudWatch
Amazon CloudWatch 是一项针对 AWS 云资源和在 AWS 上运行的应用程序的监控服务。您可以使用 Amazon CloudWatch 来收集和跟踪各项指标、收集和监控日志文件、设置警报以及自动应对 AWS 资源的更改。
分布式跟踪
AWS X-Ray
AWS X-Ray 可以帮助开发人员分析与调试分布式生产应用程序,例如使用微服务架构构建的应用程序。借助 X-Ray,您可以了解应用程序及其底层服务的执行方式,从而识别和排查导致性能问题和错误的根本原因。
The Globe and Mail
《环球邮报》是加拿大阅读量最高的报纸,全国数字读者人数高达每周 470 万。它使用 Amazon CloudWatch 来监控系统性能并采用 DevOps 方法来实现基础设施自动化。
活动和 API 使用情况跟踪
AWS CloudTrail
AWS CloudTrail 是一项 web 服务,为您的帐户记录 AWS API 调用并向您交付日志文件。记录的信息包括 API 调用者的身份、API 调用的时间、API 调用者的源 IP 地址、请求参数以及 AWS 服务返回的响应元素。
应用程序可用性
Amazon DevOps Guru
Amazon DevOps Guru 是一种采用机器学习(ML)技术的服务,可用于轻松提高应用程序的操作性能和可用性。DevOps Guru 有助于检测异常应用程序行为,这样您就可以在操作问题影响您的客户之前及早地识别出它们。
Slack
Slack 为用户提供一个旨在统一不同通信服务的消息收发平台。Slack 的平台在 AWS 上运行,使用大量云服务。该公司使用 AWS CloudTrail 来监控与 Amazon EC2 实例有关的日志。
平台即服务
无需预置和管理基础设施与应用程序体系即可部署 Web 应用程序。
运行和管理 Web 应用
AWS Elastic Beanstalk
AWS Elastic Beanstalk 是一项易于使用的服务,用于在熟悉的服务器(例如 Apache、Nginx、Passenger 和 IIS )上部署和扩展使用 Java、.NET、PHP、Node.js、Python、Ruby、GO 和 Docker 开发的 Web 应用程序和服务。您只需上传代码,Elastic Beanstalk 即可自动处理包括容量预配置、负载均衡、自动扩展和应用程序运行状况监控在内的部署工作。同时,您能够完全控制为应用程序提供支持的 AWS 资源,并可以随时访问底层资源。
Zillow
Zillow 将其图像处理和投放系统迁移到 AWS,解决了性能问题,并实现了可扩展性。它使用 Elastic Beanstalk 来运行带有自定义代码的 Python 图像库,用于图像处理工作。
Rachio
Rachio 是 Smart Sprinkler Controller(一种基于 WiFi 的灌溉控制器)的开发商。Rachio 使用 AWS Elastic Beanstalk 来部署和管理其网站、应用程序和 API。

版本控制
在云中托管安全且高度可扩展的 Git 存储库。