检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
设计原则 由于故障不可避免,如硬件故障、软件错误、网络延迟、突发流量等,因此在设计高可用应用系统时,必须考虑所有的硬件及系统包括的软件都可能会失效,包括IaaS、PaaS、SaaS及应用系统本身。韧性设计的目标不是试图防止这些故障的发生,而是为了在这些故障发生时,能最大程度地减轻故障对系统造成的影响
概述 本章节以典型Web应用为例,介绍不同可用性目标要求下部署的典型架构示例。针对每种场景,从以下几个维度进行设计,来达成可用性目标。 类别 应用可用性影响 冗余 应用内组件的高可用能力,在应用内部分节点故障时业务自动恢复能力 备份 应用数据被破坏的情况下的恢复能力 容灾 在Region
OPS07-03 支持事件管理 风险等级 高 关键策略 事件(incidents)是需要干预的事情。当发生事故(incidents)时,通过流程来处理。如何与团队沟通活动的状态?谁负责响应处置?使用哪些工具来缓解该事件?这些都是流程中需要回答的问题,并需要获得可靠的响应过程。流程必须中心化
RES02 备份 对于应用系统中的重要数据,需要提供备份功能,以便在病毒入侵、人为误删除、软硬件故障等场景,能够快速将数据恢复到备份点。 由于容灾通常对数据采用实时复制且没有多备份点,在主数据被误删或误改的情况下,错误数据会同步到备端,从而无法达到数据备份的效果,因此通常不能使用容灾来代替备份
OPS01-01 建立持续学习和改进的文化 风险等级 高 关键策略 由于系统的独特性和复杂性,没有放之四海皆准的方案,为了达到卓越运营,需要不断改进这些最佳实践,并建立自己的最佳实践。所以,在所有最佳实践的第一条,就是在您的团队中培养持续学习和改进的文化。 而持续学习和改进需要鼓励团队沟通和共享
RES09 故障重试 当应用系统部署在云中,虽然云具有一定的高可用和故障自动恢复能力,但对外仍会导致短时间的故障,需要应用系统能针对这种短时间故障进行适配处理,主要是采用重试机制。 云中故障需要重试的典型场景有: 实例主备切换时可能会导致连接中断,如DCS、RDS实例由于某些原因主备切换时
RES13 过载保护 当系统流量超过一定阈值后,导致系统处于过载状态时,可能会导致部分请求失败,失败触发业务重试,会进一步增加系统的负荷,形成恶性循环,导致业务成功率远远低于系统的设计容量,甚至整体不可用。因此应用应该设计过载保护机制,使得在过载状态下依然可以保证一定比例设计容量的处理能力
问题和检查项 在迈向卓越运营的过程中,推荐使用如下问题寻找自身可以改进的点,并参考检查项/最佳实践进行改进,以下所有的检查项,也是最佳实践建议,将在下一章节进行详细描述。 问题 检查项/最佳实践 OPS01 您是否已经建立持续改进的团队文化和标准化运维体系? 1. 建立持续学习和改进的文化
问题和检查项 问题 检查项/最佳实践 PERF01 如何确立流程与规范? 全生命周期性能管理 应用性能编程规范 PERF02 如何进行性能规划? 定义性能目标 容量规划 PERF03 如何进行性能建模? 选择合适类型的计算云服务 选择合适规格的虚拟机和容器节点 使用弹性伸缩 选择合适类型的网络云服务
SEC07-01 识别工作负载内的数据 通过业务流程、数据流动方向、数据分布、数据的所有者等维度,对照合规要求评估数据的敏感度,对数据分级分类。 风险等级 高 关键策略 遵循以下步骤梳理、识别数据: 业务流程分析。 了解业务流程,对照业务流程图,明确在各个环节中产生、处理和存储的数据类型和用途
COST06-02 为工作负载选择合适的计费模式 风险等级 中 关键策略 分析工作负载的每个组件。确定组件和资源是长时间运行(应享受承诺折扣,包年包月或购买资源包),还是短时间动态运行(采用 Spot 或按需定价)。使用成本管理工具中的建议对工作负载执行分析,并对这些建议应用业务规则以实现高回报
RabbitMQ性能优化 保持尽可能短的队列长度 太多的消息堆积在队列中会造成内存负载过高,为了释放内存,RabbitMQ 会把消息转存到磁盘,转存过程会耗费大量时间,造成消息处理速度下降或直接阻塞生产流程。因此队列中堆积过多的消息容易对 broker 产生负面效应。除此之外,如果节点崩溃后重启
SEC05-02 实施漏洞管理 漏洞管理有助于及时发现并修复系统中存在的安全漏洞,防范潜在的安全威胁和攻击。安全漏洞可能使他人非法获得系统访问特权,应通过可信渠道获取最新的安全情报。 风险等级 高 关键策略 安全漏洞可通过及时安装安全补丁的方式修复漏洞,以防恶意个人或软件非法利用从而破坏业务系统和数据
SEC10 安全事件响应 SEC10-01 建立安全响应团队 SEC10-02 制定事件响应计划 SEC10-03 自动化响应安全事件 SEC10-04 安全事件演练 SEC10-05 建立复盘机制 父主题: 安全运营
SEC09-03 实施安全审计 对云服务的关键操作开启安全审计,审计覆盖到每个用户。对审计日志进行保护并定期备份,避免受到未预期的删除、修改或覆盖。 风险等级 高 关键策略 云服务的关键操作包含高危操作(如创建IAM用户、删除IAM用户、重启虚拟机、变更安全配置等)、成本敏感操作(
什么是应用韧性 应用韧性是应用系统在运行过程中面对各种异常场景,如基础设施故障(如数据库异常)、外部攻击(如网络DDoS攻击超出预定限额流量)、外部依赖故障(如依赖系统访问超时或不可用)、地域灾难(如大面积停电、洪水)等,仍能提供和维持可接受的服务水平的能力,对系统至关重要。 系统韧性设计主要涉及以下两个方面
OPS06 可观测性体系 OPS06-01 建立可观测性体系 OPS06-02 定义可观测对象 OPS06-03 制定和实施可观测性指标 OPS06-04 规范化应用日志 OPS06-05 实施依赖项遥测 OPS06-06 实施分布式跟踪 OPS06-07 通过可观测性指标引入自动化措施
RES14 配置防差错 配置防差错是针对配置过程中因人输入了错误的配置数据导致系统和业务受损或失效场景下通过产品设计降低或避免配置错误产生的影响。 RES14-01 变更防呆检查 RES14-02 自动化变更 RES14-03 变更前数据备份 RES14-04 提供runbook进行标准化变更
卓越运营支柱 卓越运营支柱简介 基础概念 设计原则 问题和检查项 OPS01 建立持续改进的团队文化和标准化的运维体系 OPS02 通过CI/CD实现高效的频繁可逆的小规模变更 OPS03 完备的测试验证体系 OPS04 自动化构建和部署流程 OPS05 运维准备和变更管理 OPS06
故障快速恢复 当应用系统采用华为云服务的高可用设计时,在云服务实例发生故障后,云服务能自动检测和恢复;但对于应用系统本身的故障,需要应用系统自身进行检测和快速恢复处理,以保证系统能够正常运行,从而提高系统的可靠性和稳定性。 RES08 依赖减少与降级 RES09 故障重试 RES10