当前位置: 首页 > article >正文

AWS白皮书 – 卓越操作

本文讲解AWS良好架构框架(AWS Well-Architected Framework)里其中五大支柱之一:卓越操作(Operational Excellence)

卓越操作包含了管理生产负载的运营实践和流程,比如计划的变更如何去执行、如何应对预料之外的运营事故。

变更的执行和响应应当可以自动化进行,所有卓越操作的流程和程序都应该被记录、测试和定期的审查。

设计原则

  • 利用代码执行操作:我们可以将所有云环境中的基础架构都定义为代码,并且通过代码管理和更新它们。我们可以将操作步骤做成脚本,通过事件响应来触发脚本的自动执行。这样子可以减少人工的错误,保证对事件响应的一致性。
  • 进行频繁、小型、可逆的变更:对工作负载中的组件进行定期更新,并且保证这些更新是小型的、增量的、可逆的。而不是大型的、批量的更新。
  • 预见失败:通过“预演”来找出潜在的不足之处,并且从中找到并解决有可能的系统薄弱点。同时可以让操作人员熟悉这个响应过程和处理方法。比如NetFlix的Simian Army中的Chaos Monkey就是专门用来制造随机错误,帮助搭建更加健壮的系统的工具。
  • 从失败中汲取经验:通过所有操作事件和失败中汲取经验来推动改进。将汲取的经验在团队内部或整个组织内进行分享。
  • 注释文档:所有的文档可以在构建后自动注释,并且可以让注释文档作为你的操作代码输入。同时,需要保证文档的版本持续性地进行更新。
  • 经常优化操作流程:寻找机会优化操作流程,组织定期的Game Day促销日来验证流程的有效性,并且让团队成员熟悉这么流程。

定义

云环境的卓越操作主要由以下三方面组成:

  • 筹备(Preparation)
    • 团队应该对整个工作负载,他们在其中的角色,以及共享的业务目标有一个共同的理解,从而设置能够帮助业务成功的操作优先级。
    • 你需要通过日志记录以及富有洞察力的业务和技术指标进行观察。
    • 你应该有一致的流程来了解何时准备好启动工作负载。
    • 核心服务:Cloudformation, AutoScaling, AWS Config, Tagging
    • 常见问题:
      • 你使用的云操作流程有什么最佳实践?
      • 你如何进行配置管理?
  • 操作(Operation)
    • 团队应该能够掌握工作负载的运行状况,你将系统通过基于运行结果的指标来获取有用的见解。你应该使用这些指标来实施具有业务和技术观点的仪表盘,来帮助团队成员做出明智的选择。
    • 你应该预见操作事件,包括计划内的事件和计划外的事件,并且尽量自动化。
    • 可以创建CI/CD流程 (源代码仓库、系统搭建、测试/开发自动化等)。
    • 核心服务:AWS CodeCommit, AWS CodeDeploy, AWS CodePipeline, AWS CloudTrail
    • 常见问题:
      • 如何在最小变更影响的情况下对的你业务系统进行变革?
      • 如何监控你的系统来保证它可以按预期一样运行?
  • 演进(Response)
    • 在出现故障时,保证你的团队能够从失败中汲取经验,并且制定改进计划。
    • 分享团队的学习收获,增加整个团队的收益。
    • 核心服务:CloudWatch
    • 常见问题:
      • 如何处理意料之外的运营事件?
      • 在处理意料之外的事件的时候有什么事件升级的流程?

更多关于卓越操作的资料,请阅读卓越操作支柱 – AWS良好架构框架。


http://www.kler.cn/a/2309.html

相关文章:

  • 信捷 PLC C语言 POU 指示灯交替灭0.5秒亮0.5秒(保持型定时器)
  • 期权懂|期权新手入门教学:期权合约有哪些要素?
  • 计算机的错误计算(一百五十二)
  • 5G 现网信令参数学习(3) - RrcSetup(1)
  • 星期-时间范围选择器 滑动选择时间 最小粒度 vue3
  • 灵活就业,真的等同于失业吗?“三无人员”如何齐短板获贷款
  • 低代码平台如何选型, 43款国内外低代码平台一网打尽
  • Vue项目预渲染
  • 【网络安全工程师】从零基础到进阶,看这一篇就够了
  • 多标签损失之Hamming Loss(PyTorch和sklearn)、Focal Loss、交叉熵和ASL损失
  • iOS中.podspec文件中source_files参数怎么设置
  • Markdown如何使用详细教程
  • Vue2源码-初始化
  • 算法练习-堆
  • 【数据结构与算法】用栈实现队列
  • STM32学习(五)
  • SpringBoot基础教程
  • 数据结构——栈和队列(2)
  • 基于SpringBoot的学生成绩管理系统
  • 第十四届蓝桥杯三月真题刷题训练——第 18 天
  • 记录一次很坑的报错:java.lang.Exception: The class is not public.
  • 【沐风老师】3DMAX交通流插件TrafficFlow使用方法详解
  • albedo开源框架配置多数据源
  • 乐观锁和悲观锁 面试题
  • vue使用split()将字符串分割数组join()将数组转字符串reverse()将数组反转
  • Linux 总结9个最危险的命令,一定要牢记在心!