

# OPS 7 如何知道您已经准备好支持某种工作负载？
<a name="w2aac19b5b7c11"></a>

 评估工作负载、流程及程序和工作人员的操作准备就绪情况，以便了解与工作负载相关的操作风险。 

**Topics**
+ [OPS07-BP01 确保员工能力](ops_ready_to_support_personnel_capability.md)
+ [OPS07-BP02 确保以一致的方式对运维准备情况进行审查](ops_ready_to_support_const_orr.md)
+ [OPS07-BP03 使用运行手册执行程序](ops_ready_to_support_use_runbooks.md)
+ [OPS07-BP04 根据行动手册调查问题](ops_ready_to_support_use_playbooks.md)
+ [OPS07-BP05 做出明智的决策来部署系统和更改](ops_ready_to_support_informed_deploy_decisions.md)

# OPS07-BP01 确保员工能力
<a name="ops_ready_to_support_personnel_capability"></a>

 通过一种机制来验证您是否有适当数量技术娴熟的员工来提供对运营需求的支持。根据需要进行员工培训并调整人员产能，以便保持有效的支持。 

 您需要拥有足够的团队成员来完成所有活动（包括待命的团队成员）。确保您的团队拥有必要的技能，以便能够成功完成关于您的工作负载、运营工具和 AWS 的培训。 

 AWS 提供了许多资源，包括 [AWS 入门资源中心](https://aws.amazon.com/getting-started/)， [AWS Blog](https://aws.amazon.com/blogs/)， [AWS 在线技术讲座](https://aws.amazon.com/getting-started/)， [AWS 活动和网络研讨会](https://aws.amazon.com/events/)，以及 [AWS Well-Architected 实验室](https://wellarchitectedlabs.com/)，这些资源提供了指导、示例和详细演练，用以培训您的团队。此外， [AWS 培训与认证](https://aws.amazon.com/training/) 提供了一些免费培训，可以通过自定进度的数字课程，学习 AWS 的基础知识。您还可以注册讲师指导培训，进一步帮助培养您团队的 AWS 技能。 

 **常见反模式：** 
+  在以下情况下部署工作负载：团队成员不能熟练使用平台和服务。 
+  在以下情况下部署工作负载：在预期的支持时间内没有团队成员可以提供支持。 
+  在以下情况下部署工作负载：如果有团队成员正在休假或生病，则没有足够的团队成员来提供支持。 
+  在以下情况下部署额外的工作负载：没有考虑团队成员为它和其他工作负载提供支持时的额外影响。 

 **建立此最佳实践的好处：** 拥有技能娴熟的团队成员能够为您的工作负载提供有效支持。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 高 

## 实施指导
<a name="implementation-guidance"></a>
+  员工能力：确认是否有足够的训练有素的人员来有效地支持工作负载。 
  +  团队规模：确保您拥有足够的团队成员来执行运营活动，以及随时待命。 
  +  团队技能：确保您的团队成员接受了足够的 AWS、工作负载及运营工具的培训，以履行其职责。 
    +  [AWS 活动和网络研讨会](https://aws.amazon.com/about-aws/events/) 
    +  [欢迎参加 AWS 培训与认证](https://aws.amazon.com/training/) 
  +  了解能力：在操作环境和工作负载发生变化时查看团队规模和技能，以确保有足够的能力保持卓越运营。进行适当调整，以确保团队规模和技能与团队所支持的工作负载的操作要求相匹配。 

## 资源
<a name="resources"></a>

 **相关文档：** 
+  [AWS Blog](https://aws.amazon.com/blogs/) 
+  [AWS 活动和网络研讨会](https://aws.amazon.com/about-aws/events/) 
+  [AWS 入门资源中心](https://aws.amazon.com/getting-started/) 
+  [AWS 在线技术讲座](https://aws.amazon.com/getting-started/) 
+  [欢迎参加 AWS 培训与认证](https://aws.amazon.com/training/) 

 **相关示例：** 
+  [Well-Architected 实验室](https://wellarchitectedlabs.com/) 

# OPS07-BP02 确保以一致的方式对运维准备情况进行审查
<a name="ops_ready_to_support_const_orr"></a>

使用运维准备情况审查（ORR，Operational Readiness Review），确保可以运营您的工作负载。ORR 是 Amazon 开发的一种机制，用于验证团队可以安全地运营其工作负载。ORR 是一个使用要求核对清单进行审查和检查的过程。ORR 是一种自助服务体验，供团队用于验证其工作负载。ORR 中包含的最佳实践源自我们多年构建软件的经验教训。 

 ORR 核对清单包括架构推荐、运维过程、事件管理和发布质量。我们的更正错误（CoE，Correction of Error）流程是这些项目的主要推动因素。您的事后分析应该可以推动自己的 ORR 演进。ORR 并不仅仅关系到遵循最佳实践，还关系到预防以前的事件再次发生。最后，ORR 中还可以包括安全性、监管和合规性要求。

 在工作负载正式公开发布之前运行 ORR，然后在整个软件开发生命周期中运行 ORR。在发布之前运行 ORR 可以提升安全运营工作负载的能力。对工作负载定期重新运行 ORR 可以收集任何偏离最佳实践的情况。您可以准备用于新服务发布的 ORR 以及用于定期审查的 ORR。这可以帮助您遵循最新制定的最佳实践，并吸取从事后分析中学到的经验教训。随着您对云的使用日趋成熟，您可以将 ORR 要求作为默认设置整合到自己的架构中。

 **期望的结果：**  您已准备好 ORR 核对清单，其中包括适合您组织的最佳实践。在工作负载发布之前运行 ORR。在整个工作负载生命周期中定期运行 ORR。 

 **常见反模式：** 
+ 您启动了工作负载，但不知道谁负责其运维工作。
+ 在验证工作负载以便发布时，没有包括监管和安全性要求。
+ 没有定期重新评估工作负载。
+ 发布工作负载而没有准备好所需的规程。
+ 您在多个工作负载中看到相同的根本原因反复导致出现故障。

 **建立此最佳实践的好处：** 
+  您的工作负载包括架构、流程和管理最佳实践。 
+  学到的经验教训可合并到 ORR 流程中。 
+  在工作负载发布时已准备好所需的规程。 
+  在工作负载的整个软件生命周期中运行 ORR。 

 **未建立这种最佳实践的情况下的风险等级：** 高 

## 实施指导
<a name="implementation-guidance"></a>

 ORR 关系到两点：流程和核对清单。ORR 流程应该由您的组织采用并获得高管支持。至少，ORR 必须在工作负载正式公开发布之前已运行。在整个软件开发生命周期中运行 ORR 可确保软件始终遵循新的最佳实践或新要求。ORR 核对清单应包括配置项目、安全性和监管要求，以及组织的最佳实践。在一段时间后，您可以使用 [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)、 [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)和 [AWS Control Tower 防护机制](https://docs.aws.amazon.com/controltower/latest/userguide/guardrails.html)等服务，将源自 ORR 的最佳实践整合到防护机制中，以实现自动化的最佳实践检测。

 **客户示例** 

 在经历了多起生产事件之后，AnyCompany Retail 决定实施 ORR 流程。他们构建了核对清单，其中包括最佳实践、监管和合规性要求，以及从中断中学到的经验教训。在发布新工作负载之前，运行 ORR。每个工作负载会每年运行一次 ORR，其中包括一小组最佳实践，用于整合添加到 ORR 核对清单中的新最佳实践和要求。在一段时间后，AnyCompany Retail 使用 [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 来检测一些最佳实践，以加快 ORR 流程。 

 **实施步骤** 

 如需详细了解 ORR，请阅读 [运维准备情况审查（ORR）白皮书](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/wa-operational-readiness-reviews.html)。其中详细介绍了 ORR 流程的历史，如何构建自己的 ORR 实践，以及如何制定自己的 ORR 核对清单。以下步骤是该文档的缩减版本。如需深入了解什么是 ORR 以及如何自行构建，建议您阅读该白皮书。 

1. 让关键利益相关方聚在一起讨论，包括来自安全、运维和开发部门的代表。

1. 让每个利益相关方至少提一个要求。对于第一次迭代，请尝试将项目数限制为不超过三十个。
   +  [附录 B：ORR 问题示例](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/appendix-b-example-orr-questions.html) 源自运维准备情况审查（ORR）白皮书，包含您在开始着手时可借鉴的示例问题。 

1. 在电子表格中收集您的要求。
   + 您可以使用 [自定义剖析](https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-custom.html) （位于 [AWS Well-Architected Tool](https://console.aws.amazon.com/wellarchiected/) 中）开发自己的 ORR，并跨账户以及在 AWS Organization 中分享它们。

1. 确定一个工作负载来运行 ORR。最好选择发布前的工作负载或者内部工作负载。

1. 运行 ORR 核对清单并记录任何发现结果。如果已经有防范措施，那么发现结果可能就不太重要。对于任何没有防范措施的发现结果，请将它们记录到项目的待办事项中，并在发布之前实施它们。

1. 在一段时间后，继续在 ORR 中添加最佳实践和要求。

 具有 Enterprise Support 的 支持 客户可以向其技术客户经理请求举行 [运维准备情况审查研讨会](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/) 。该研讨会是一个交互式研讨会，采用 *反推式工作方法* ，可帮助您制定自己的 ORR 核对清单。

 **实施计划的工作量级别：** 高。在组织中采用 ORR 实践需要获得高管以及利益相关方的支持。使用整个组织中获得的反馈意见来构建和更新核对清单。 

## 资源
<a name="resources"></a>

 **相关最佳实践：** 
+ [OPS01-BP03 评估监管要求](ops_priorities_governance_reqs.md) – 监管要求非常适合包括在 ORR 核对清单中。
+ [OPS01-BP04 评估合规性要求](ops_priorities_compliance_reqs.md) – 合规性要求有时候包括在 ORR 核对清单中。另一些时候它们可作为单独的流程。
+ [OPS03-BP07 为团队配置适当的资源](ops_org_culture_team_res_appro.md) – 团队能力是很适合加入 ORR 要求的候选项。
+ [OPS06-BP01 针对不成功的更改制定计划](ops_mit_deploy_risks_plan_for_unsucessful_changes.md) – 在发布工作负载之前，必须建立回滚或前滚计划。
+ [OPS07-BP01 确保员工能力](ops_ready_to_support_personnel_capability.md) – 为了支持工作负载，您必须具备所需的人员。
+ [SEC01-BP03 识别并验证控制目标](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_securely_operate_control_objectives.html) – 安全控制目标会是非常合适的 ORR 要求。
+ [REL13-BP01 定义停机和数据丢失的恢复目标](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_planning_for_recovery_objective_defined_recovery.html) – 灾难恢复计划是很好的 ORR 要求。
+ [COST02-BP01 根据组织的要求制定各种策略](https://docs.aws.amazon.com/wellarchitected/latest/framework/cost_govern_usage_policies.html) – 成本管理策略非常适合包括在 ORR 核对清单中。

 **相关文档：** 
+  [AWS Control Tower – AWS Control Tower 中的防护机制](https://docs.aws.amazon.com/controltower/latest/userguide/guardrails.html) 
+  [AWS Well-Architected Tool – 自定义剖析](https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-custom.html) 
+  [Adrian Hornsby 提供的运维准备情况审查模板](https://medium.com/the-cloud-architect/operational-readiness-review-template-e23a4bfd8d79) 
+  [运维准备情况审查（ORR）白皮书](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/wa-operational-readiness-reviews.html) 

 **相关视频：** 
+  [AWS 支持 为您提供支持 \$1 构建高效的运维准备情况审查（ORR，Operational Readiness Review）](https://www.youtube.com/watch?v=Keo6zWMQqS8) 

 **相关示例：** 
+  [运维准备情况审查（ORR）剖析](https://github.com/aws-samples/custom-lens-wa-sample/tree/main/ORR-Lens) 

 **相关服务：** 
+  [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 
+  [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) 
+  [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) 
+  [AWS Well-Architected Tool](https://docs.aws.amazon.com/wellarchitected/latest/userguide/intro.html) 

# OPS07-BP03 使用运行手册执行程序
<a name="ops_ready_to_support_use_runbooks"></a>

 A *运行手册* 是实现特定结果的书面流程。运行手册由某人为完成某件事而遵循的一系列步骤组成。早在航空发展的早期，运行手册便已用于运营。在云运营中，我们使用运行手册来降低风险并实现预期结果。简单而言，运行手册就是完成一项任务的核对清单。

 运行手册是运营工作负载的重要组成部分。从新团队成员入职到部署一个主要版本，运行手册都是一个成文的流程，无论谁使用它们，都能获得一致的结果。运行手册应发布在一个中央位置，并随着流程的发展而更新，因为更新运行手册是变更管理流程的一个关键组成部分。它们还应包括关于错误处理、工具、权限、异常和问题发生时上报的指导。 

 随着贵组织日益成熟，开始自动编写运行手册。从简短且经常使用的运行手册开始。使用脚本语言来实现步骤自动化或使步骤更容易执行。当您自动化前几本运行手册后，您将花时间自动化更复杂的运行手册。随着时间的推移，大多数运行手册应以某种方式实现自动化。 

 **期望结果：** 您的团队有一系列执行工作负载任务的分步指南。运行手册包含期望结果、必要的工具和权限，以及关于错误处理的说明。它们存储在一个中央位置并经常更新。 

 **常见反模式：** 
+  依靠记忆完成流程的每个步骤。 
+  手动部署更改而不使用核对清单。 
+  不同的团队成员执行相同的流程，但执行不同的步骤或取得不同的结果。 
+  让运行手册与系统更改和自动化不同步。 

 **建立此最佳实践的好处：** 
+  降低人工任务的错误率。 
+  以一致的方式执行操作。 
+  新的团队成员可以更早地开始执行任务。 
+  可以自动编写运行手册以减少工作量。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 中 

## 实施指导
<a name="implementation-guidance"></a>

 根据贵组织的成熟度级别，运行手册可以采用多种形式。它们至少应该包含一个分步文本文档。应明确指出期望结果。清楚地记录必要的特殊权限或工具。提供关于错误处理和出现问题时进行上报的详细指导。列出运行手册负责人，并将运行手册发布在一个中央位置。一旦运行手册编写完成，让您团队中的其他人运行它来进行验证。随着过程的发展，根据变更管理流程更新运行手册。 

 随着贵组织日益成熟，您的文本运行手册应实现自动化。使用诸如 [AWS Systems Manager 自动化之类的服务](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html)，您可以将纯文本转换为可针对您的工作负载运行的自动化功能。这些自动化功能可以根据事件的发生而运行，从而减轻维持工作负载的运营负担。

 **客户示例** 

 AnyCompany Retail 必须在软件部署期间执行数据库模式更新。云运营团队与数据库管理团队合作，构建了一个用于手动部署这些更改的运行手册。运行手册以核对清单的形式列出了流程中的每个步骤。其中有一节是关于出错时的错误处理。他们在内部 Wiki 上发布了该运行手册和其他运行手册。云运营团队计划在未来的冲刺阶段实现运行手册的自动化。 

## 实施步骤
<a name="implementation-steps"></a>

 如果您没有现有的文档存储库，那么版本控制存储库是开始构建运行手册库的绝佳场所。您可以使用 Markdown 构建运行手册。我们提供了一个示例运行手册模板，您可以用它开始构建运行手册。 

```
# Runbook Title ## Runbook Info | Runbook ID | Description | Tools Used | Special Permissions | Runbook Author | Last Updated | Escalation POC | |-------|-------|-------|-------|-------|-------|-------| | RUN001 | What is this runbook for? What is the desired outcome? | Tools | Permissions | Your Name | 2022-09-21 | Escalation Name | ## Steps 1.Step one 2.Step two
```

1.  如果您当前尚没有文档存储库或 Wiki，请在版本控制系统中创建一个新的版本控制存储库。 

1.  识别一个没有运行手册的流程。一个理想的流程是半定期执行的流程，步骤少，且故障影响小。 

1.  在文档存储库中，使用模板创建新的草稿 Markdown 文档。填写 `Runbook Title` 以及 `Runbook Info 下的必填字段`。 

1.  从第一步开始，填写运行手册的 `Steps` 部分。 

1.  将运行手册交给团队成员。让他们使用运行手册来验证这些步骤。如果有遗漏或需要澄清的地方，请更新运行手册。 

1.  将运行手册发布到您的内部文档存储区。发布后，告诉您的团队和其他利益相关者。 

1.  随着时间的推移，您将构建一个运行手册库。随着该库的增长，开始努力实现运行手册的自动化。 

 **实施计划的工作量级别：** 低。运行手册的最低标准是一个分步文本指南。实现运行手册自动化可能会增加实施工作量。 

## 资源
<a name="resources"></a>

 **相关最佳实践：** 
+  [OPS02-BP02 确定流程和程序所有者](ops_ops_model_def_proc_owners.md)：运行手册应该有一个负责人负责维护。 
+  [OPS07-BP04 根据行动手册调查问题](ops_ready_to_support_use_playbooks.md)：运行手册和行动手册彼此相似，但有一个关键区别：运行手册包含期望结果。在许多情况下，一旦行动手册确定了根本原因，就会触发运行手册。 
+  [OPS10-BP01 使用流程来管理事件、意外事件和问题](ops_event_response_event_incident_problem_process.md)：运行手册是良好的事件、意外事件和问题管理实践的一部分。 
+  [OPS10-BP02 针对每个提醒设置一个流程](ops_event_response_process_per_alert.md)：应使用运行手册和行动手册来响应警报。随着时间的推移，应自动进行这些响应。 
+  [OPS11-BP04 执行知识管理](ops_evolve_ops_knowledge_management.md)：维护运行手册是知识管理的一个关键部分。 

 **相关文档：** 
+ [利用自动化行动手册和运行手册实现卓越运营](https://aws.amazon.com/blogs/mt/achieving-operational-excellence-using-automated-playbook-and-runbook/) 
+ [AWS Systems Manager：使用运行手册](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 
+ [适用于 AWS 大型迁移的迁移行动手册 - 任务 4：改进迁移运行手册](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-migration-playbook/task-four-migration-runbooks.html) 
+ [使用 AWS Systems Manager Automation 运行手册解决运营任务](https://aws.amazon.com/blogs/mt/use-aws-systems-manager-automation-runbooks-to-resolve-operational-tasks/) 

 **相关视频：** 
+  [AWS re:Invent 2019：运行手册、事件报告和事件响应 DIY 指南（SEC318-R1）](https://www.youtube.com/watch?v=E1NaYN_fJUo) 
+  [如何在 AWS \$1 Amazon Web Services 上实现 IT 运营自动化](https://www.youtube.com/watch?v=GuWj_mlyTug) 
+  [将脚本集成到 AWS Systems Manager](https://www.youtube.com/watch?v=Seh1RbnF-uE) 

 **相关示例：** 
+  [AWS Systems Manager：自动化演练](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk.html) 
+  [AWS Systems Manager：从最新的快照运行手册中还原根卷](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-document-sample-restore.html)
+  [使用 Jupyter Notebook 和 CloudTrail Lake 构建 AWS 意外事件响应运行手册](https://catalog.us-east-1.prod.workshops.aws/workshops/a5801f0c-7bd6-4282-91ae-4dfeb926a035/en-US) 
+  [Gitlab - 运行手册](https://gitlab.com/gitlab-com/runbooks) 
+  [Rubix - 用于在 Jupyter Notebook 中构建运行手册的 Python 库](https://github.com/Nurtch/rubix) 
+  [使用 Document Builder 创建自定义运行手册](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk-document-builder.html) 
+  [Well-Architected 实验室：使用行动手册和运行手册自动完成操作](https://wellarchitectedlabs.com/operational-excellence/200_labs/200_automating_operations_with_playbooks_and_runbooks/) 

 **相关服务：** 
+  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 

# OPS07-BP04 根据行动手册调查问题
<a name="ops_ready_to_support_use_playbooks"></a>

 行动手册是用于调查事件的分步指南。发生事件时，行动手册用于开展调查，以及确定影响的范围和根本原因。行动手册可用于从失败的部署到安全事件的各种场景。在许多情况下，行动手册可确定根本原因，而运行手册可用来缓解其带来的风险。行动手册是贵组织事件响应计划的必要组成部分。 

 出色的行动手册有几个主要特点。它逐步指导用户完成事件发现过程。由外而内地思考，用户应执行哪些步骤来诊断事件？ 如果行动手册中需要特殊工具或提升的权限，请在行动手册中明确地定义。请制定沟通计划，以向利益相关者提供有关调查状态的最新信息，这是事件响应计划的一个重要组成部分。在无法确定根本原因的情况下，行动手册应制定上报计划。如果确定了根本原因，行动手册应指出介绍如何解决根本原因的运行手册。应集中存储并定期维护行动手册。如果行动手册用于特定提醒，请向团队提供关于提醒中的行动手册的提示。 

 随着组织日趋成熟，可自动实施行动手册。从包含低风险事件的行动手册开始实施。使用脚本自动执行发现步骤。确保有配套的运行手册来缓解常见根本原因带来的风险。 

 **期望的结果：** 您的组织有针对常见事件的行动手册。行动手册集中存储在一个位置，可供团队成员使用。行动手册经常进行更新。对于任何已知的根本原因，将制定配套的运行手册。 

 **常见反模式：** 
+  要调查事件，并没有标准方法。 
+  团队成员依靠肌肉记忆或对机构的了解，对失败的部署进行排查。 
+  新的团队成员将学习如何通过试错法来调查问题。 
+  调查问题的最佳实践无法在不同团队之间共享。 

 **建立此最佳实践的好处：** 
+  行动手册可帮助您减轻事件带来的影响。 
+  不同的团队成员可使用同一行动手册，以一致的方式确定根本原因。 
+  可以针对已知的根本原因制定运行手册，从而加快恢复速度。 
+  团队成员根据行动手册能够更快地开始行动。 
+  团队可以使用可重复的行动手册来扩展其流程。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 中 

## 实施指导
<a name="implementation-guidance"></a>

 制定和使用行动手册的方式取决于组织的成熟度。如果您是初次使用云，请在中央文档存储库中以文本形式制定行动手册。随着组织日趋成熟，可以使用 Python 等脚本语言实现行动手册的半自动化。可以在 Jupyter notebook 中运行这些脚本来加快发现速度。先进的组织已针对可通过运行手册自动修正的常见问题，制定完全自动化的行动手册。 

 通过列出工作负载所发生的常见事件，开始制定行动手册。为风险较低且根本原因范围已缩小到几个问题的事件选择行动手册。在为较简单的场景制定行动手册后，可以着手处理风险较高的场景或根本原因尚不确定的场景。 

 随着贵组织日趋成熟，您的文本样式的行动手册应实现自动化。通过使用诸如 [AWS Systems Manager Automations](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html)之类的服务，可以将纯文本转换为自动化代码。可以针对工作负载运行这些自动化代码，从而加快调查速度。可以激活这些自动化代码以响应事件，从而减少发现和解决事件所需的平均时间。 

 客户可以使用 [AWS Systems Manager Incident Manager](https://docs.aws.amazon.com/incident-manager/latest/userguide/what-is-incident-manager.html) 来响应事件。此服务提供了单一界面对事件进行分类，在发现和缓解问题期间通知利益相关者，并在整个事件中进行协作。它使用 AWS Systems Manager Automations 加快检测和恢复的速度。 

 **客户示例** 

 生产事件影响了 AnyCompany Retail。随时待命的工程师根据行动手册调查了问题。随着他们逐步地解决问题，他们不断为行动手册中确定的关键利益相关者提供最新信息。工程师最终确定，根本原因是后端服务中出现竞态条件。根据运行手册，工程师重新启动了该服务，并使 AnyCompany Retail 重新联机。 

## 实施步骤
<a name="implementation-steps"></a>

 如果您当前没有文档存储库，建议您为行动手册库创建版本控制存储库。您可以使用 Markdown 制定您的行动手册，该服务兼容大多数行动手册自动化系统。如果您从头开始制定行动手册，请使用以下行动手册示例模板。 

```
# Playbook Title ## Playbook Info | Playbook ID | Description | Tools Used | Special Permissions | Playbook Author | Last Updated | Escalation POC | Stakeholders | Communication Plan | |-------|-------|-------|-------|-------|-------|-------|-------|-------| | RUN001 | What is this playbook for? What incident is it used for? | Tools | Permissions | Your Name | 2022-09-21 | Escalation Name | Stakeholder Name | How will updates be communicated during the investigation? | ## Steps 1.Step one 2.Step two
```

1.  如果您当前没有文档存储库或 Wiki，请在版本控制系统中为行动手册创建一个新的版本控制存储库。 

1.  确定需要调查的一个常见问题。它应该是根本原因范围限于几个问题且解决方案风险较低的场景。 

1.  使用 Markdown 模板填写 `Playbook Name（行动手册名称）` 部分以及 `Playbook Info（行动手册信息）`下的字段。 

1.  填写问题排查步骤。尽可能清楚地知道要采取哪些行动，或者应调查哪些方面。 

1.  将行动手册提供给团队成员，让他们仔细阅读并加以验证。如果发现有遗漏之处或某些内容不清楚，请更新行动手册。 

1.  在文档存储库中发布您的行动手册，并告知您的团队和任何利益相关者。 

1.  随着您添加更多的行动手册，这个行动手册库将会不断扩大。在您拥有多个行动手册后，可以开始使用 AWS Systems Manager Automations 等工具自动执行它们，从而使自动化操作和行动手册保持同步。 

 **实施计划的工作量级别：** 低。行动手册应该是集中存储在一个位置的文本文档。对于更加成熟的组织，将转为自动实施行动手册。 

## 资源
<a name="resources"></a>

 **相关最佳实践：** 
+  [OPS02-BP02 确定流程和程序所有者](ops_ops_model_def_proc_owners.md)：行动手册应该有一个负责人来负责维护。 
+  [OPS07-BP03 使用运行手册执行程序](ops_ready_to_support_use_runbooks.md)：运行手册和行动手册类似，但有一个关键区别：运行手册包含期望的结果。在许多情况下，一旦行动手册确定了根本原因，就会使用运行手册。 
+  [OPS10-BP01 使用流程来管理事件、意外事件和问题](ops_event_response_event_incident_problem_process.md)：行动手册是良好的事件、意外事件和问题管理实践的一部分。 
+  [OPS10-BP02 针对每个提醒设置一个流程](ops_event_response_process_per_alert.md)：应使用运行手册和行动手册来响应警报。随着时间的推移，应自动进行这些响应。 
+  [OPS11-BP04 执行知识管理](ops_evolve_ops_knowledge_management.md)：维护行动手册是知识管理的一个关键部分。 

 **相关文档：** 
+ [ 利用自动化行动手册和运行手册实现卓越运营 ](https://aws.amazon.com/blogs/mt/achieving-operational-excellence-using-automated-playbook-and-runbook/)
+  [AWS Systems Manager：使用运行手册](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 
+ [ 使用 AWS Systems Manager Automation 运行手册解决运营任务 ](https://aws.amazon.com/blogs/mt/use-aws-systems-manager-automation-runbooks-to-resolve-operational-tasks/)

 **相关视频：** 
+ [AWS re:Invent 2019：运行手册、事件报告和事件响应 DIY 指南（SEC318-R1） ](https://www.youtube.com/watch?v=E1NaYN_fJUo)
+ [AWS Systems Manager Incident Manager – AWS 虚拟研讨会 ](https://www.youtube.com/watch?v=KNOc0DxuBSY)
+ [ 将脚本集成到 AWS Systems Manager](https://www.youtube.com/watch?v=Seh1RbnF-uE)

 **相关示例：** 
+ [AWS 客户行动手册框架 ](https://github.com/aws-samples/aws-customer-playbook-framework)
+ [AWS Systems Manager：自动化演练 ](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk.html)
+ [ 使用 Jupyter notebook 和 CloudTrail Lake 构建 AWS 事件响应运行手册 ](https://catalog.workshops.aws/workshops/a5801f0c-7bd6-4282-91ae-4dfeb926a035/en-US)
+ [ Rubix – 用于在 Jupyter notebook 中构建运行手册的 Python 库 ](https://github.com/Nurtch/rubix)
+ [ 使用 Document Builder 创建自定义运行手册 ](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk-document-builder.html)
+ [ Well-Architected 实验室：根据行动手册和运行手册自动完成操作 ](https://wellarchitectedlabs.com/operational-excellence/200_labs/200_automating_operations_with_playbooks_and_runbooks/)
+ [ Well-Architected 实验室：使用 Jupyter 的事件响应行动手册 ](https://www.wellarchitectedlabs.com/security/300_labs/300_incident_response_playbook_with_jupyter-aws_iam/)

 **相关服务：** 
+ [AWS Systems Manager Automation ](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html)
+ [AWS Systems Manager Incident Manager](https://docs.aws.amazon.com/incident-manager/latest/userguide/what-is-incident-manager.html)

# OPS07-BP05 做出明智的决策来部署系统和更改
<a name="ops_ready_to_support_informed_deploy_decisions"></a>

 评估团队支持工作负载的能力以及工作负载的监管合规性。在决定是否将系统或更改投入生产环境时，将这些与部署的收益进行比较。了解收益和风险，以便做出明智的决策。 

 故障演练是一种演习，团队模拟发生故障的情况来制定防范策略。使用故障演练来预测故障，并根据需要创建程序。当您对用于评估工作负载的检查清单进行更改时，请计划要对不再符合条件的活动系统执行哪些操作。 

 **常见反模式：** 
+  决定在以下情况下部署工作负载：不了解工作负载中存在安全风险。 
+  决定在以下情况下部署工作负载：不了解它是否符合监管要求和标准。 
+  决定在以下情况下部署工作负载：不了解您的团队是否可以为它提供支持。 
+  决定在以下情况下部署工作负载：不了解组织会如何从中获益。 

 **建立此最佳实践的好处：** 拥有技能娴熟的团队成员能够为您的工作负载提供有效支持。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 低 

## 实施指导
<a name="implementation-guidance"></a>
+  做出部署工作负载和更改的明智决策：评估团队支持工作负载的能力以及工作负载的监管合规性。在决定是否将系统或更改投入生产环境时，将这些与部署的收益进行比较。了解收益和风险，并做出明智的决策。 