华为云用户手册

  • COST01-04 指定云资源管理策略和相应的权限管理机制 风险等级 高 关键策略 由于成本优化是跨组织多个业务部门的事项,而云资源是云上成本的主要开销,故而应该制定策略,确定您的组织应该如何管理资源。如上文所说的,可以使用账号隔离不同组织/部门的资源,甚至于在同一个组织/部门内部,开发,测试,核心业务,非核心业务,也使用不同的账号和环境。 然而即使账号/环境是分散的,云资源管理策略和权限管理机制应该是集中的。 企业的中心团队,如上文所提的云业务办公室、云卓越中心或 FinOps 团队需要为各个账号环境实施与策略一致的组和角色,控制每个组中谁可以创建、修改或停用实例和资源。同时依据企业的业务环境,创建统一的资源/成本视图,统一管理企业的账单和成本。 相关服务和工具 客户可通过 统一身份认证 服务 IAM 的细粒度权限管理,精细化控制账号下用户的资源访问权限,实施最小授权。 对于多账号场景,客户可通过Organization的服务控制策略(Service Control Policy),集中控制每个账号可执行的操作。 父主题: COST01 规划成本优化相应的组织机构和流程
  • 成本优化支柱简介 成本优化支柱专注于帮助企业高效地使用云服务来构建工作负载,面向工作负载的整个生命周期不断完善和改进,减少不必要的开支并提升运营效率,让云上应用始终最具成本效益。 成本优化实践不意味着只有降本,它是安全合规、韧性等维度的平衡,也是达成业务目标的最优投入。 华为公司结合云业务成本运营经验和业界最佳实践总结并提炼出体系化实践与建议,包括:提升成本管理效率、合理选择与分配云资源、建立预算管理机制、持续成本治理、提升资源效率及架构优化等。 父主题: 成本优化支柱
  • 事前规划,做好成本模型,预算规划和成本预测 理解每个组织,项目的成本并非易事,尤其是很多云资源是事实上的跨组织和项目的公共资源,故而,在一开始的时候,就需要建立一个基础的,得到管理团队认可的成本模型,用于在以后的成本优化执行过程中确保整体的成本可追溯性。 在确定成本模型之后,则需要设立一个预算规划,同时在各种基于云的项目一开始的时候,就引入该预算规划和成本管理,同时设定不同层次的预算开销的阈值,用于成本的预警 。 最后,对于使用了一段时间华为云的账号,华为云也提供了成本预测工具,基于用户的实际上云成本,提供了未来的预测,善用这些工具,云用户可以根据预算情况,设立基于预测的告警。
  • 持续监控,了解账单和资源使用情况 成本优化不是一个“一锤子买卖”,随着业务的发展,云资源的申请和释放是不停变化的,使用云的软件/服务的架构也是随时在演进。 企业应建立定期的云成本监控和审查机制,并根据实际情况调整和完善云成本优化策略。比如一个快速增长的业务组织更多地可能会偏向于提升业务的速度,而设计一个比较宽松的云成本优化策略,而稳定的业务组织则可以以成本效率为主要考量,设计比较严格的云成本优化策略。 企业还可以借助华为云成本中心提供的云成本管理工具和平台来实现自动化的成本监控和优化。
  • COST05-02 建立可以量化的优化目标 风险等级 高 关键策略 成本优化是一项投资,而且是一个需要持续进行的流程。为了向公司或者组织的决策者、利益相关方说明投资的价值,就需要对成本优化自身,尤其是其执行的目标进行量化。从而在持续的优化活动中,都可以从决策者或者利益相关者那里得到支持,并获得一个固化的流程框架来衡量成本优化活动的成果。 简单的成本优化量化目标/成果就是报告成本节省优化的费用, 例如,您可以建立报告,在不牺牲质量或产出的情况下,给公司或者组织带来多少成本的节省。 此外优化的量化目标也可以包含效率的提升,例如,从传统IT架构向容器化,Serverless迈进的过程中,您不只是提升了资源利用率,同时也可以是提升了业务开发,部署的速度,从而提升了业务对市场的响应时间,以及人员的效率。这部分也应该列入量化的内容。 最后,优化的目标是使企业或者组织每一块钱的花费都能产生最大的效益。不能只专注于降低成本而忽略业务价值。设定一个明确的可量化的优化目标,有助于成本优化团队(上文中提到的云业务办公室、云卓越中心或 FinOps 团队)和决策层,利益相关方取得一致。 父主题: COST05 优化指定策略和目标
  • Flink性能优化 概述 Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的最大亮点是流处理,是业界最顶级的开源流处理引擎。Flink最适合的应用场景是低时延的数据处理(Data Processing)场景:高并发pipeline处理数据,时延毫秒级,且兼具可靠性。 集群服务部署架构 服务规模与业务容量参数配置 Flink作为流数据处理引擎,依赖内存和CPU。用户在规划规格时,应根据当前的业务容量和增长速度,规划合理的内存和CPU资源,特别需要关注以下几点: 根据自己的业务目标,规划CPU资源和内存资源。规划时,需要结合当前的数据分布情况,业务复杂度,设置JobManager的内存,TaskManager的数量,TaskManager的内存,每个TaskManager的slot数量,规划适当的CPU核数和内存大小。 在规划内存时,要预留一定量的内存空间作为操作系统的buffer cache,一般预留20%。 从HDFS中读入数据时,要考虑block解压缩后的数据膨胀。 规划一定的磁盘作为缓存空间,包括缓存数据与日志。 调优目标 Flink调优的目标是在不影响其他业务正常运行的前提下,高效的完成业务目标,通常为了达成该目标,一般需要最大限度利用集群的物理资源,如CPU、内存、磁盘IO,使其某一项达到瓶颈。 调优原则 提高CPU使用率同时减少额外性能开销。 提高内存使用率。 优化业务逻辑,减少计算量和IO操作。 性能调优常用方法-DataStream调优 配置内存:调整老年代和新生代的比值;开发Flink应用程序时,优化datastream的数据分区活分组操作。 设置并行度:用户可以根据实际的内存,CPU,数据以及应用程序逻辑的情况调整并行度参数。任务的并行度可以按优先级从高到低排列,由算子层次、执行环境层次、客户端层次、系统层次这四种层次指定。 配置进程参数:配置JobManager内存、TaskManager个数、TaskManager Slot数、TaskManager内存。 设计分区方法:可设置随机分区、rebalancing(round-robin partitioning,基于round-rebin对元素进行分区,使得每个分区负责均衡)、rescaling(以round-robin的形式将元素分区到下游操作的子集中)、广播分区(广播每个元素到所有分区)、自定义分区。 配置netty网络通信:可在客户端的“conf/flink-conf.yaml”配置文件中进行修改适配。 指标观测方法 性能衡量指标包含吞吐量、资源利用率、伸缩性。 吞吐量:在相同资源环境下,执行相同计算任务,查看任务的完成速度。 资源利用率:执行计算任务,查看在不同负载情况下,CPU、内存、网络的使用率。 伸缩性: − 横向扩容带来的性能提升曲线:增加资源,执行相同计算任务,查看性能提升比率。 − 增加系统负担带来的性能下降曲线:在相同资源环境下,增加计算负载,查看性能下降比率。 父主题: 大数据性能优化
  • 节省和优化,使用不同的计费模式,资源优化和架构优化 云支出的主要影响因素是费率和用量,结合云化业务模型和成本数据分析,可以使用不同的优化措施。从费率上,云服务存在按需、包年包月、资源包、竞价实例等多种计费模式,不同的计费模式有着不同的适用场景。企业可以根据自己的需要,合理选择各种计费模式来适配不同的业务形态和降低费率,实现成本节省。从用量上,企业可以通过资源优化,释放闲置资源,降配等降低资源用量,或者通过离在线混部,弹性缩扩容等架构方案实现资源复用和闲时释放,也达到了资源用量的节省。费用优化、资源优化和业务架构优化代价逐步增高,对业务的影响也依次增大。企业可以根据业务目标、对业务影响、优化代价和收益的评估,确定优化目标和优化措施优先级。确定优化措施。
  • 基本概念 名称 名词解释 FinOps FinOps 是 Finance 和 DevOps 的合成词,强调 IT、财务和业务团队必须协作,将财务责任引入云,并在速度、成本和性能之间做权衡时做出数据驱动的明智决策。 CFM 华为云 云财务管理 (Cloud Financial Management),参考FinOps流程实践,E2E构建云财务管理能力,旨在帮助客户提高云支出的透明度和可预测性,以更加准确、高效的方式分配、控制和优化云成本。
  • 组织,流程和成本管理相匹配 在成本优化过程中,一个很重要的原则是需要将组织结构,流程和成本管理相匹配。需要建立“责权分明”的体系,否则即使用再好的成本优化工具,也无法将成本优化落到实处。 流程上,需要把成本管理作为各个上云流程中必备的一环; 组织上,需要投入适当的时间,资源和人力用于建立云财务管理的能力。 例如,在云账号申请和云资源申请的时候,就需要建立完善的流程,以便于将组织,项目和其所使用的云账号,云资源进行关联,并确保每个部门或团队都对其使用的资源负责。而在最终的企业财务层面,引入云财务管理的能力,也有助于理解企业的每个子部门的产出和成本的关系,甚至于清晰地了解企业每挣一块钱,最终的云成本是多少,这样企业不至于为了完成本优化,而牺牲自身真正的产出。 在最终实际的优化实施阶段,由于成本优化往往需要运营,运维,研发等多个部门的参与,也涉及到平台部门和业务部门的合作,故而需要确定一个各个组织成员都参与的完善流程,如释放空闲资源的流程。 企业也可以定期生成报告,并同步给干系人;同时联席例会,如组织多角色参与的例会(如月度例会),审视预算执行情况、讨论风险应对策略、总结优化经验和计划下一步重点工作等;
  • RTO与RPO 灾难场景通常采用RTO和RPO目标定义: 恢复时间目标RTO:指灾难发生后应用不可用的最长时间。RTO决定了应用容灾整体架构,是采用数据备份,还是冷备、温备、热备。 恢复点目标RPO:指灾难发生后应用数据丢失的最大时间。RPO决定了数据备份频率或复制方式,是在线备份还是离线备份,是同步复制还是异步复制。 国家标准《信息系统灾难恢复规范》(GB/T 20988-2007)中灾难恢复等级与RTO/RPO的关系如下: 灾难恢复能力等级 能力要求 RTO RPO 1 基本支持:基本支持备份介质并场外存放 2天以上 1天至7天 2 备用场地支持:有备份场地,能调配所有资源 24小时以上 1天至7天 3 电子传输和设备支持:关键数据定时传送,备用网络部分就绪 12小时以上 数小时至1天 4 电子传输及完整设备支持:少量数据丢失,备用数据系统就绪,数据定时传送,备用网络就绪 数小时至2天 数小时至1天 5 实时数据传输及完整设备支持:数据丢失趋于0,备用数据系统就绪,远程数据复制,备用网络就绪 数分钟至2天 0至30分钟 6 数据零丢失和远程集群支持:数据零丢失,自动系统故障切换,远程磁盘镜像,备用网络active 数分钟 0 父主题: 可用性目标定义
  • PERF06-01 分层看护 风险等级 高 关键策略 基于业务的部署架构,一般可以从最底层的硬件基础设施到最上层的应用分成5层资源,云上服务可以只需要关注虚拟网络、实例、应用三层。结合每一层资源的特征指标进行分层建模,分别设置不同梯度的性能看护指标。通常按照指标劣化程度可以设计成一般、紧急、重要三个梯度,对应每个梯度的指标配套对应的处理措施。对于敏感度或业务重要度的应用架构,可以新增一个提示级别的梯度。 相关云服务和工具: 云监控服务 CES 应用运维管理 AOM 应用性能管理 APM 父主题: 性能看护
  • 数据持久度 数据持久度是指数据不丢失的概率,即存储在预计周期内不出现数据丢失的概率,可以用于度量一个存储系统的可靠性。其只表示数据是否丢失的概率,不体现数据丢失多少;数据持久度的预计周期,一般按一年进行预计。 影响存储数据持久度的主要因子有:冗余数、磁盘失效率与数据修复时间。其中每多一个冗余,数据持久度通常可增加2~3个9;云上常用的对象存储,一般采用3副本冗余,通常可提供11~12个9的数据持久度。 父主题: 可用性目标定义
  • 架构支柱 韧性支柱: 旨在帮助企业构建具有高可用的应用系统架构,提高工作负载的韧性,使之在面对各种异常场景时仍能提供和维持可接受的服务水平。韧性支柱结合了华为公司韧性设计经验和业界最佳实践,总结并提炼出一系列设计原则与最佳实践,用以帮助企业利用华为云平台基础设施达到高可用、面向各种故障场景进行韧性设计,并具备一定的灾备能力;同时通过规范化变更、部署及应急恢复等处理流程,减少业务中断时长,提升可用性。 安全性支柱: 旨在确保业务的安全、可信、合规,通过一系列华为云架构的最佳实践保护工作负载免受各种安全威胁,降低安全风险。安全性支柱涉及保护云上系统、资产、数据的机密性、完整性、可用性以及合法、合规使用数据,保护用户隐私的一系列最佳实践。 性能效率支柱: 聚焦于如何设计出高性能的架构。作为基本的质量属性,性能的重要性和性能失败后果的严重性是无须质疑的。性通效率支柱为性能设计、性能优化提供一些技术方法和手段,可以用于系统的软件性能工程,也可用于指导性能调整和优化。 成本优化支柱: 专注于帮助企业高效地使用云服务来构建工作负载,面向工作负载的整个生命周期不断完善和改进,减少不必要的开支并提升运营效率,让云上应用始终最具成本效益。成本优化支柱结合了华为公司云成本运营经验和业界最佳实践总结提炼出的体系化实践建议。 卓越运营支柱: 融合了这些优秀实践,聚焦如何正确地构建软件,高效地运维软件,持续提供卓越的客户体验,包含:组织团队、设计工作负载、大规模运营工作负载和随时间变化改进工作负载的最佳实践。
  • 责任共担模式 云上应用系统的韧性,依赖于云基础设施及应用系统本身的韧性,任何一方故障,都可能会导致云上应用系统故障;因此需要华为云与客户共同承担责任,来保障应用系统的韧性。 华为云责任:华为云提供高可用的基础设施,包括运行华为云服务的硬件、软件和机房设施,并确保服务可用性满足SLA服务等级协议。 客户责任:客户可以从华为云选择合适的产品并进行可靠性配置以符合应用韧性目标,并参考本白皮书中的设计原则与最佳实践,充分考虑各种异常场景的检测和恢复能力,来构建高可用应用系统。 父主题: 基本概念
  • 应用场景 云架构治理体系建设 云平台将虚拟化、数据库与中间件、大数据与AI等技术融合业界最佳实践,以托管云服务的方式提供企业使用。随着业务上云,企业将不受限于自身的技术能力使用先进IT技术,企业可以基于先进的云平台与WA方法论,构建现代化架构治理体系,使能组织、流程、工具和产品,让企业在数字化时代处于领先地位。 云架构治理体系不同于传统IT架构治理体系,通过现代化云平台及轻量化治理体系,使能业务安全、强韧性、资源高效、成本最优、敏捷创新。 云架构设计 由于云平台封装了底层软件技术的复杂度,让企业可以更聚焦业务应用设计。云架构设计鼓励以领域驱动设计(DDD)为架构设计起点,结合不同视角的架构视图,融入韧性、安全性、性能效率、成本和运营支柱,真正将云架构关注点融入到架构设计过程中。 云架构审视 随着业务需求和技术发展的变化,系统的架构也需要不断演进和优化。通过对照卓越架构技术框架的最佳实践,架构师对工作负载的架构进行全面、系统的评估,确保架构符合最新的需求、规范,符合最新的云上最佳实践。架构审视是一个持续的过程,建议在关键里程碑点进行审视或定期例行(如每半年一次)审视。 研发生产力提升 基于云的应用研发,技术、工具和工程实践都有很高的成熟度。业务上云后,基于云最佳实践升级工具链,改造研发流程,提升研发团队基于云的研发能力,引入先进的DevSecOps体系和确定性运维体系将大幅度提升企业的生产力,真正做到业务敏捷。基于华为公司20年的数字化实践和数百万企业客户的服务经验,华为云吸收业界先DevSecOps理念精华,提炼出DevSecOps质量效能管理体系典型特征,同时以价值流创造为核心,摸索出了一套行之有效的质量效能方法论和最佳实践。 构建高韧性、高可用的应用程序 华为公司结合内部韧性设计经验和业界最佳实践,总结并提炼出一系列体系化设计原则与最佳实践: 帮助客户利用华为云平台基础设施达到高可用、面向各种失败场景进行设计,并具备一定的灾备能力。 通过规范化变更、部署及应急恢复等处理流程,减少业务中断时长,提升可用性。 安全合规体系建设 云安全 已经成为多维度的全球性挑战,华为云卓越架构技术框架结合业界先进的云安全理念和积累的网络安全经验和优势,参考世界领先的 CS P 优秀安全实践、摸索出了一 整套行之有效的云安全战略和实践。并且已经构建起多维立体、纵深防御和合规遵 从的基础设施架构,用以支撑并不断完善涵盖了 IaaS、 PaaS 和 SaaS 等具有优良安 全功能的常用云服务。 确定性运维体系建设 IT运维行业正在面临着颠覆性的变化,我们正在从保障设备稳定的防守型运维转向支撑业务敏捷的进攻型运维,从关注自身网络转向关注客户应用,从系统维护工程师转向研发工程师,这个转型的过程对运维提出艰巨挑战的同时,也给每个组织和个人提供了难得的发展机会。华为云SRE过去构建了一些能力,也还在持续解决新的挑战,我们已经构建了一套质量管理机制、一套运维平台、一支全球专家队伍,更重要的是,我们已经和很多客户一起开展了面向应用视角的稳定性提升工作,助力客户提升应用稳定性,从应用层到平台底层,在成本、质量、效率中寻找最优方案。 云财务体系(FinOps)建设 FinOps是“Finance”和“DevOps”的结合,目的是解决企业管理云成本难题。FinOps基金会将FinOps定义为“不断发展的云财务管理纪律和文化实践,通过帮助工程、财务、技术和业务团队在数据驱动的支出决策上进行协作,使组织获得最大的业务价值”。企业云资源消费贯穿用云的整个过程,管理云成本也需要持续迭代优化。 FinOps框架提出三阶段(可视、优化、持续运营)实践模型,指导企业持续优化。在优化时,FinOps指导企业找到成本、质量与效率的平衡,避免企业为了极低成本导致业务效率和稳定性受影响。在一个公司内部业务团队众多,各团队实践FinOps进展不一,不同团队可能处于不同的阶段。FinOps指导企业通过多团队协作和基于数据决策,精细化管理云成本。各业务团队成本可视,主动控制不超支不浪费;企业基于数据决策云投资,保障企业核心业务和战略业务方向的支出。企业应用FinOps后,持续降低单位业务成本。 应用优化 当前,企业大量的存量应用逐渐成为业务发展的阻碍,老旧、复杂、僵化的系统难以更新,昂贵的基础设施维护成本高,繁杂的部署过程也给发布加上了沉重的枷锁,导致发布缓慢,现有的架构和技术无法很好地适应现代软件开发,这些问题都对企业的发展带来新的挑战。但对于大多数企业来说,这些应用仍然是公司价值链的重要组成部分,为企业提供核心功能和数据。对负责存量应用处理的开发和运营人员来说,同样面临诸多挑战 :日益复杂的 IT 环境、不断增加的“技术债务”、有限的技能以及安全风险等,这些问题都将成为企业无法快速创新和实现业务目标的潜在风险。 卓越架构技术框架(Well-Architected Framework)将为企业提供优化建议,企业结合实施策略,有选择有节奏的优化应用,以提升存量应用的韧性、安全性、性能及资源利用率,适应现代化软件开发,降低运营成本。 伙伴能力标签认证 华为云合作伙伴能力标签(简称能力标签)是华为云合作伙伴达到能力标准后获得的标识,华为云定义并维护能力标签的全集。 合作伙伴通过学习卓越架构技术框架(Well-Architected Framework),理解并参考各支柱的云上最佳实践,以获取更专业的云架构设计知识。在构建解决方案或给客户提供专业服务的过程中,合作伙伴应用这些最佳实践,持续提升架构设计质量、持续完善工作负载。合作伙伴提交实际的客户案例并经过华为云审核通过后,可获得相应领域、场景或行业的能力标签认证。
  • 什么是应用韧性 应用韧性是应用系统在运行过程中面对各种异常场景,如基础设施故障(如数据库异常)、外部攻击(如网络DDoS攻击超出预定限额流量)、外部依赖故障(如依赖系统访问超时或不可用)、地域灾难(如大面积停电、洪水)等,仍能提供和维持可接受的服务水平的能力,对系统至关重要。 系统韧性设计主要涉及以下两个方面: 确保系统具有高可用的架构,如无单点故障 各种故障场景下的恢复能力,如数据丢失、设备或站点故障等场景均能恢复 相对于传统数据中心,华为云可以提供具备高可用、弹性伸缩、自动备份、跨AZ容灾、跨Region容灾等高可用能力的基础设施与云服务,便于客户构建高可靠的系统。例如: EVS云硬盘、OBS对象存储采用分布式存储,可避免单个硬盘、单个服务器或单个机架等硬件故障的影响。 RDS数据库提供自动数据备份、跨AZ和跨Region的数据复制与切换。 不过,即使应用系统利用云平台能力具有了这些高可用能力,要实现较高的可用性,仍需要构建针对各种偶发故障下的恢复能力,如: 由于硬件故障导致的高可用切换或跨AZ切换过程中,导致瞬时链接中断,需要应用系统具备链接中断重试的功能。 由于外部流量突发导致业务过载,需要应用系统具备流量控制的能力。 部分强依赖于硬件的负载,如依赖本地硬盘、GPU等,由于硬件故障导致服务中断,需要应用系统自身构建高可用的能力。 不同的应用系统,可用性要求可能不同,采用的韧性恢复方案会有差异。 父主题: 基本概念
  • RES03-02 跨AZ数据同步 针对有状态业务,需要进行跨AZ的数据同步,以便在一个AZ故障的情况下,数据不丢失;对于无状态业务不涉及。 风险等级 高 关键策略 当应用组件对应的云服务实例支持跨AZ高可用实例时,可采用云服务实例自身的跨AZ数据同步;如RDS数据库、DCS实例、OBS桶等。 当应用组件对应的云服务实例不支持跨AZ高可用实例,但提供了同步服务进行跨AZ数据同步时,可利用该服务进行跨AZ数据同步;如存在有状态数据的ECS实例不支持跨AZ高可用,但可通过SDRS服务进行跨AZ数据同步。 当应用组件对应的云服务实例不支持跨AZ高可用实例,且不支持跨AZ数据同步或不使用跨AZ数据同步服务时,则需要由应用层进行数据复制;如存在有状态数据的BMS实例。 相关云服务和工具 存储容灾服务 SDRS 弹性云服务器 ECS 云数据库 RDS 分布式缓存服务 DCS 对象存储服务 OBS 父主题: RES03 跨AZ容灾
  • RES03-01 集群跨AZ部署 应用内所有组件均采用跨AZ容灾部署,以避免单AZ故障时业务中断。 风险等级 高 关键策略 云服务实例具备跨AZ高可用实例时,优先使用云服务实例自身的跨AZ高可用实例。 云服务实例只支持发放单AZ实例,不支持跨AZ高可用实例时,需要借助其他云服务或应用层实现跨AZ容灾;以ECS为例: 对于无状态ECS实例,可利用AS弹性伸缩服务的跨AZ伸缩能力,或ELB跨AZ负载均衡能力,实现跨AZ高可用,在一个可用区故障时能自动快速切换。 对于有状态ECS实例,或BMS实例,建议从应用层实现跨AZ容灾,支持跨AZ自动切换或通过容灾管理工具实现自动化容灾切换,减少灾难发生时的人工操作。 对于已部署的应用系统改造为跨AZ实例的实施步骤: 确定应用系统的关键组件;所谓关键组件是指一旦故障,会导致整个应用系统或其中的关键功能受损。 针对关键组件,检查其跨AZ高可用能力,即在一个AZ故障的情况下,是否能自动故障转移到另外一个AZ,进行业务恢复。 针对未支持跨AZ高可用的关键组件,可进行如下优化处理: 若云服务实例支持跨AZ高可用实例且支持由单AZ高可用实例改造为跨AZ高可用实例,如RDS、DDS、DCS实例,则直接原地由单AZ实例改造为跨AZ实例; 若云服务实例支持跨AZ高可用实例但不支持由单AZ高可用实例改造为跨AZ高可用实例,如独享ELB、CCE集群、DMS、OBS桶等,则需要新申请跨AZ高可用实例替换原来的单AZ高可用实例。 若云服务实例为单节点实例,如ECS,则通过申请多个AZ的多个实例承载相同业务,并利用跨AZ的ELB实现跨AZ的负载均衡和自动故障切换,或由应用层实现跨AZ多实例的自动故障切换能力,来实现跨AZ高可用。 相关云服务和工具 华为云大部分云服务支持创建多可用区实例,可实现在一个可用区故障时能自动快速切换,不影响实例对外提供服务,如 ELB负载均衡 、AS弹性伸缩、CCE容器集群、DCS实例、DMS消息服务、RDS数据库、 GaussDB数据库 等。 父主题: RES03 跨AZ容灾
  • RES09-03 重试需要避免造成流量压力 对于链路闪断等原因导致的临时性故障,客户端进行一定的重试,可取得较好的效果;对于流量过载等原因导致的故障,重试可能会导致情况进一步恶化,因此需要避免这种影响。 风险等级 高 关键策略 客户端进行重试处理时,建议: 增加指数回退和抖动方法,以避免对服务端造成流量压力;采用指数回退重试时,每次重试之间的间隔会逐渐延长,并在两次重试之间引入抖动,以随机调整重试间隔,避免同时出现造成重试峰值。 限制最大重试次数或用时,避免由于消息积压而导致流量过载。 父主题: RES09 故障重试
  • RES02-03 定期进行备份数据恢复 通过定期恢复测试,可以验证备份数据的完整性与恢复处理过程是否可用,且数据丢失时间以及恢复时间符合数据的RPO与RTO指标要求。 风险等级 高 关键策略 定期执行备份数据恢复,以验证备份的完整性。 为了避免备份恢复对生产业务造成影响,可以构建一个测试环境,并使用已有的备份数据进行恢复处理。 华为云云服务提供了手工恢复功能,用户可定期执行恢复操作,以进行恢复测试。 相关云服务和工具 云备份 CBR 云数据库 RDS 分布式缓存服务 DCS 父主题: RES02 备份
  • RES09-02 客户端需要根据综合评估是否要重试 当客户端请求超时或收到错误响应时,客户端需要决定是否重试;重试有助于客户端在请求失败时,通过重复消息来获得预期的结果,避免业务失败,但也会消耗更多的服务器时间来获取所需的成功响应。 风险等级 高 关键策略 请求超时,可能是链路闪断或其他临时性故障导致消息丢失,可以进行重试。 根据错误响应码进行有针对性的重试;对于临时性故障,如错误码指示为系统繁忙时,可等待一段时间后重试,否则无需重试。 请求SDK中内置了消息重试时,客户端无需重复重试。 多层业务栈一般只在源端重试,避免逐层重试。 父主题: RES09 故障重试
  • RES06-01 故障模式分析 故障模式分析是在系统分析和设计过程,通过对各组成单元潜在的各种故障模式及其对产品功能的影响进行分析,并把每一种潜在故障模式按它的严酷度予以分类,找出单点故障和产品的薄弱环节,提出可以采取的预防改进措施,以提高产品可靠性的一种设计方法。 当应用系统部署在华为云中时,华为云提供了基础设施的故障管理,应用系统可减少对机房、电力、环境、计算服务器、存储设备、网络交换机等基础设施的故障模式的检测和恢复处理,但仍需考虑这些基础设施故障对应用系统的影响及对应的恢复措施,如机房发生灾难(AZ或Region级灾难)、计算服务器故障/重启、使用本地硬盘时硬盘故障/亚健康、网络通信中断/丢包等。而对于应用自身相关的故障模式,如软件系统类、数据类、通信类、负荷过载、人因差错等类型的故障,更需要充分分析并提供检测和恢复措施。 风险等级 高 关键策略 针对每种故障模式,分析其发生的频率以及造成的影响,以确定严酷度等级。对于存在单点故障的组件对应的故障模式,严酷度必须设置为高。云服务通用的故障模式有:CPU过载、内存过载、磁盘使用率过高、数据故障(被误删等)、AZ故障、Region故障等。 定义严酷度类别 严酷度是度量故障给系统造成的最坏潜在后果,一般分为四个等级:Ⅰ类(严重)、Ⅱ类(较严重)、Ⅲ类(一般)、Ⅳ类(轻微)。 I类:这种故障会导致整个系统崩溃或主要功能受到严重影响; II类:这种故障会导致系统主要功能受到影响、任务延误的系统轻度损坏或存在较大的故障隐患; III类:系统次要功能丧失或下降,须立即修理,但不影响系统主要功能实现的故障; IV类:部分次要功能下降,只须一般维护的,不对功能实现造成影响(一般告警或指示灯故障等)。 其中,I~II类故障通常称为重大故障,也即“单点故障”,它们的区别主要是I类故障可能涉及到安全性问题,或者I类故障是所有/大部分功能丧失。II类故障指主要功能受影响。III类故障可简单理解为需要尽快修复的故障。 通常来说,当一个故障不能被检测出来时,会认为这是一个故障“隐患”,相应的故障严酷度级别上升一级。 标识系统中的所有组件及功能模块 明确应用系统涉及的所有组件,以及外部依赖项,如提供者、第三方服务等。 识别故障点 对于每个组件,标识可能发生的潜在故障。单个组件可能具有多种故障模式,需要针对不同故障模式分别分析。故障模式的种类需要尽可能完备,若出现遗漏,可能导致该故障在设计中不被考虑,而没有进行监控和恢复处理。 故障影响范围分析(爆炸半径) 针对每种故障模式,分析其发生的频率以及造成的影响,以确定严酷度等级。对于存在单点故障的组件对应的故障模式,严酷度必须设置为高。云服务通用的故障模式有:CPU过载、内存过载、磁盘使用率过高、数据故障(被误删等)、AZ故障、Region故障等。 提供故障检测和缓解措施 针对每种故障模式,需要分析如何检测和恢复,提出改进建议措施,并在系统复杂度和成本之间进行综合考虑,优先解决严酷度高的故障模式。 相关云服务和工具 云运维中心 COC:支持故障模式管理。 父主题: RES06 故障检测
  • RES10 故障隔离 当系统某个单元发生故障时,如果不采取措施,故障可能会大规模扩散,从而造成整个系统失效。故障隔离技术的核心思想是将一个工作负载内的故障影响限制于有限数量的组件内,降低故障影响范围,防止产生级联故障。 通过划分故障隔离域,限制工作负载的影响,可有效进行故障隔离。 RES10-01 应用控制平面与数据平面隔离 RES10-02 应用系统多位置部署 RES10-03 采用Grid架构 RES10-04 健康检查与自动隔离 父主题: 故障快速恢复
  • RES06-02 面向所有故障进行检测 针对所有故障场景,都需要能自动检测,以便及时发现和恢复故障。 风险等级 高 关键策略 所有故障都必须有检测。 支持按不同维度进行故障检测,如Region、AZ、服务、方法、实例或容器ID等,检测维度与故障恢复方式对齐。 检测到故障后需及时告警或自动恢复。 针对具体故障进行检测时,根据检测的类型通常可以分为资源检测、功能检测和业务检测。 资源检测:云环境中一般指虚拟化后的物理硬件资源及其对应的软件资源,具体包含CPU、内存、网络和磁盘资源等。 功能检测:对组成产品系统的各个内部模块对象进行检测的过程,确定模块功能是否满足设计的需求。当产品系统的功能发生故障时,对外的呈现即为功能输出和预期不一致。在产品上线之前,通过功能相应接口,开发者和测试人员需要多次检测以保证模块功能的正确性。功能检测可以使用传统日志跟踪技术、调用链技术来进行检测,如华为云 APM 。 业务检测:模拟用户的业务操作过程,获得完成业务的操作过程性能数据和操作结果数据;业务检测使用拨测技术来完成检测,由于拨测需要占用网络资源,对于长周期拨测,一般选择在空闲时间段进行,属于抽样检测,而如果是短周期拨测(如5分钟周期),则可例行进行;与功能检测的联系是,业务检测也可以采用调用链来完成。 故障检测方法根据类型有很多种,下面是一些在高可用性系统中常用的故障检测方法。 数值范围检查:在大多数应用中,一个操作的结果必须处于某个范围之内。对这些边界条件可以进行一些测试来验证数据是否满足预期要求。 数据完整性检查:每当数据被从一个单元传递给另一个单元时,该数据可能会被破坏。对于在硬件单元间传递的数据尤其如此。然而,由于软件层可以隐藏本地内存传送和跨远程链路的传送间的差异,因此需要在多个点进行数据完整性检查。可以采用很多方法来验证数据的完整性,其中大多数方法都依赖于冗余或者包含在数据中的摘要信息。有些方法采用足够的冗余,不仅能检测错误,而且能纠正错误。但大多数方法中都只包括足够的额外信息来检测数据是否有效。典型的方法如奇偶校验和CRC(循环冗余校验)。 比较测试:当系统具有冗余时,可以使两个系统并行进行计算,然后对结果进行比较,如果结果不匹配则认为发生了故障。这种概念也称为表决。比较可以在系统的任何层次上进行,包括在一条内存总线上的cycle by cycle的比较,到最终发送到网络上结果的比较。 时间检测:时间检测是故障检测的一种简单形式。如果一个事件预期应在某个时间段内发生,而却没有在该时间段发生,就检测到了一个故障。时间检测的一种特殊方法通常称为心跳方法。它采用以某个规定的周期频率执行的某些类型的消息握手。该技术可以用于验证单元或子系统是否仍然能够维持某些等级的功能。 父主题: RES06 故障检测
  • RES03-03 对接容灾仲裁,支持自动切换 针对有状态的主备类型业务,在跨AZ部署并支持自动切换时,需要对接容灾仲裁,以避免出现双主或双备,从而在AZ间链路中断的情况下,业务能自动切换到一个AZ提供服务而不受影响;对于集群类业务不涉及。 风险等级 高 关键策略 面向有状态主备类型业务提供容灾仲裁,站点间链路中断不双主,不破坏数据完整性。 应用内所有相关组件对接一致性仲裁,在链路中断的情况下所有组件均能切换到同一个站点,实现端到端的业务可用性 父主题: RES03 跨AZ容灾
  • RES04-02 部署容灾系统以满足容灾目标 针对不同应用系统的容灾目标,需要综合考虑中断概率、容灾成本等因素,来决定采用什么样的容灾方案来实现这些目标。 风险等级 高 关键策略 面向跨Region/跨云容灾场景,可基于不同的可用性目标要求,采用不用的容灾方案,如远程备份、主备容灾、双活容灾等,其中生产站点根据场景不同可能为其他云或IDC或华为云Region: 远程备份:生产站点内的重要数据,备份到异地华为云灾备Region,当生产站点发生灾难时,需要在异地灾备Region新部署一套业务系统并使用最新备份数据恢复数据,并恢复业务。 主备容灾:生产站点与华为云灾备Region各部署一套业务系统,并将生产站点的重要数据异步复制到灾备Region;平常只有生产站点提供业务,当生产站点发生灾难时,将灾备Region提升为主,并将业务流量切换到灾备Region并由其提供业务。 双活/多活容灾:生产站点与华为云灾备Region各部署一套业务系统,并将各自站点的重要数据异步复制到其他站点;每个站点都同时提供业务,通过全局负载均衡器进行流量分发;当一个站点发生灾难时,则将业务流量全部分发到其他站点来接管其业务。 以跨Region主备容灾为例,对于已在一个Region部署应用系统后,增加支持跨Region主备容灾能力的实施步骤建议如下: 选择另一个Region作为灾备Region,部署一套相同的应用系统,包括工作负载、数据库实例等。 针对应用系统内的关键数据,利用云服务或应用系统自身实现跨Region的数据复制。 若云服务实例支持跨Region容灾,则配置生产站点与灾备Region之间的复制,如对于RDS数据库实例,需申请DRS实例对主Region与灾备Region的数据库进行实时复制;对于OBS桶,需要配置主Region中的OBS桶到灾备Region中OBS通的复制。 若云服务实例不支持跨Region容灾,但数据比较关键,则需要应用层实现跨Region的数据双写,以进行数据同步。 接入侧主Region与灾备Region各自申请外部IP,并通过DNS 域名 解析到主Region,在主Region故障时,将DNS域名对应IP地址修改为灾备Region中的外部IP。 申请MAS多活高可用服务,进行容灾编排,以便在灾难场景快速主备切换恢复业务。 相关云服务和工具 云备份 CBR:支持跨区域复制与恢复 数据复制服务 DRS:支持RDS for MySQL、 GaussDB for MySQL等数据库的实时灾备,支持跨Region/跨云容灾场景 对象存储服务 OBS:支持跨区域复制与双活 父主题: RES04 跨Region/跨云容灾
  • 概念表 概念 解释 韧性 (Resilience) 系统从故障中保持在已知运行状态(甚至降级)的能力。在遭遇故障后快速恢复核心功能和数据,且在业务需要的时间窗内恢复到有效运行状态。 可靠性 (Reliability) 产品在规定的条件下和规定的时间内完成规定功能的能力。它的概率度量称为可靠度。 可用性 (Availability) 产品在任意随机时刻需要和开始执行任务时,处于可工作或可使用状态的程度。它的概率度量称为可用度 云服务指标 SLI Service level Indicator,面向服务的指标,如:请求响应成功率 云服务目标 SLO Service Level Object,面向服务的目标,如:一定时间范围内的请求响应成功率大于XX%,或正常运行时间的百分比 云服务协议等级 SLA Service Level Agreement,面向用户的协议等级,涉及不满足时的补偿 数据恢复点目标 RPO Recovery Point Objective,主要指的是业务系统所能容忍的数据丢失量 恢复时间目标 RTO Recovery Time Objective,主要指的是所能容忍的业务停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期。 业界对韧性没有统一的定义。狭义韧性,指的是自动或快速从故障中恢复运行的能力;而广义韧性,除了从故障中恢复运行的能力外,还包括故障容忍能力。故障容忍(fault tolerance,简称“容错”),是使系统在其某些组件中出现一个或多个故障时能够继续提供服务的能力,从客户的角度来看,该服务仍能完全正常运行,或可能降级运行。 而可靠性同样分为狭义可靠性与广义可靠性。狭义可靠性工程的目标是提高系统无故障运行的能力,即提高可靠性。而广义可靠性工程的目标除了提高可靠性外,还包括提高从故障中恢复运行能力,即维修性(maintainability),同时还包括其他围绕故障展开的各种能力,如可用性(availability)、保障性(supportability)等。 因此,从广义韧性与广义可靠性的定义来看,并没有显著区别。只是可靠性和韧性的侧重点不同。可靠性工程的目标是尽可能减少系统中的故障,保证系统无故障运行。而韧性工程,接受故障总会发生的现实,关注的是如何降低故障带来的损失以及如何从故障中恢复。 父主题: 基本概念
  • 韧性支柱简介 韧性支柱旨在帮助企业构建具有高可用的应用系统架构,提高工作负载的韧性,使之在面对各种异常场景时仍能提供和维持可接受的服务水平。韧性支柱结合了华为公司韧性设计经验和业界最佳实践,总结并提炼出一系列设计原则与最佳实践,用以帮助企业利用华为云平台基础设施达到高可用、面向各种故障场景进行韧性设计,并具备一定的灾备能力;同时通过规范化变更、部署及应急恢复等处理流程,减少业务中断时长,提升可用性。 华为云韧性支柱的设计框架如下图所示: 父主题: 韧性支柱
  • 可用度及SLO 可用性目标用于衡量应用系统的运行时间和停机时间,其表现形式为应用系统正常运行的时间占总时间(通常是一个月或一年)的百分比(如99.9%),即: 可用度 = 可用时间 / 总时间 * 100% 常见的简单表达方式用“9”的数量或“9”的数量加“5”表示,如“三个9”表示“99.9%”,而“三个9一个5”表示“99.95%”。 系统可用性目标通过服务等级目标(SLO)定义。不同的应用系统对可用性目标是不同的,明确应用系统的可用性目标,对于衡量应用系统的韧性至关重要。常见IT系统SLO示意如下: SLO 每年最大不可用时间 典型IT服务 99% 3.65天 批处理,后台任务,数据抽取 99.9% 8.76小时 内部 知识管理 系统,项目跟踪系统 99.95% 4.38小时 客户账户管理,信息管理 99.99% 52.56分钟 电商,B2B web服务,大流量媒体/内容网站 99.999% 5.26分钟 银行,投资,金融,政府,电信,关键企业应用 系统的可用度依赖于系统内各业务单元的可用度。各业务单元之间典型的可靠性模型有两类: 串联模型:组成系统的所有单元中任一单元的故障都会导致整个系统故障的称为串联系统。 可靠性数学模型: 举例:假定系统存在2个串联单元,每个单元的可用度均为99.9%,则系统可用度为 Rs = 99.9% * 99.9% = 99.8%。 串联系统中系统可用度低于串联系统中任一单元的可用度。为提高系统可用度,设计时需考虑: 尽可能减少串联单元数目 提高单元可靠性,降低其故障率 并联模型:组成系统的所有单元都发生故障时,系统才发生故障的成为并联系统。 可靠性数学模型: 举例:假定系统存在2个并联单元,每个单元的可用度均为99.9%,则系统可用度为 Rs = 1 - (1 - 99.9%) * (1 - 99.9%) = 99.9999%。 并联可显著提高系统可用度,典型的并联技术有:主备、集群、双活或多活等。 应用系统要达到可用性目标,需对应用系统内组件及依赖组件进行可用性要求分解,包括: 对依赖组件的可用性要求:通常关键依赖组件需要比其他服务提高一个9的SLO目标,如应用系统SLO目标为99.9%,则关键依赖组件SLO目标要求达到99.99%。 应用系统SLO分解:综合系统SLO、故障频次、云服务SLA,分解得出应用组件的中断时长要求,进一步分解得出故障检测、人工介入、干预恢复的时长要求。 针对应用系统内薄弱环节进行增强: 当云服务SLA无法满足要求时,需要应用层进行额外的保护和增强。 通过冗余提升可用度:包括组件冗余(负载均衡集群),故障回退冗余(fail-back,例如使用DMS访问失败时暂时切换到 SMN )。 父主题: 可用性目标定义
  • RES04-03 容灾恢复过程自动化 由于容灾恢复场景涉及容灾站点的业务恢复、数据库的主备切换、业务到容灾站点的流量切换等,恢复过程比较复杂,因此需要提供容灾管理功能,实现容灾状态及RPO监控,以及灾难场景下的一键式自动切换,减少人工干预。 风险等级 高 关键策略 实时监控容灾状态,了解容灾运行状态。 支持应用级数据校验,比较AZ间数据同步差异,监控及PO指标。 灾难场景下的一键式自动切换,减少人工干预,满足RPO/RTO指标。 支持容灾恢复流程编排、容灾演练等功能。 相关云服务和工具 多活高可用服务 MAS 父主题: RES04 跨Region/跨云容灾
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全