华为云用户手册

  • PERF03-05 选择合适类型的存储云服务 风险等级 中 关键策略 在架构设计过程中,根据业务场景、数据特征等因素,选择相应的存储服务。目前可供您选择的有三种数据存储服务,分别是云硬盘、弹性文件服务(Scalable File Service, SFS)以及 对象存储服务 (Object Storage Service, OBS),这三种数据存储的主要区别如下: 对比维度 弹性文件服务 对象存储服务 云硬盘 概念 提供按需扩展的高性能文件存储,可为云上多个云服务器提供共享访问。弹性文件服务就类似Windows或Linux中的远程目录。 提供海量、安全、高可靠、低成本的数据存储能力,可供用户存储任意类型和大小的数据。 可以为云服务器提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务,可满足不同场景的业务需求。云硬盘就类似PC中的硬盘。 存储数据的逻辑 存放的是文件,会以文件和文件夹的层次结构来整理和呈现数据。 存放的是对象,可以直接存放文件,文件会自动产生对应的系统元数据,用户也可以自定义文件的元数据。 存放的是二进制数据,无法直接存放文件,如果需要存放文件,需要先格式化文件系统后使用。 访问方式 在E CS /BMS中通过网络协议挂载使用,支持NFS和CIFS的网络协议。需要指定网络地址进行访问,也可以将网络地址映射为本地目录后进行访问。 可以通过互联网或专线访问。需要指定桶地址进行访问,使用的是HTTP和HTTPS等传输协议。 只能在ECS/BMS中挂载使用,不能被操作系统应用直接访问,需要格式化成文件系统进行访问。 使用场景 如高性能计算、 媒体处理 、文件共享和内容管理和Web服务等。 说明: 高性能计算:主要是高带宽的需求,用于共享文件存储,比如基因测序、图片渲染这些。 如大数据分析、静态网站托管、在线 视频点播 、基因测序和智能视频监控等。 如高性能计算、企业核心集群应用、企业应用系统和开发测试等。 说明: 高性能计算:主要是高速率、高IOPS的需求,用于作为高性能存储,比如工业设计、能源勘探这些。 容量 PiB级别 EiB级别 TiB级别 时延 3~10ms 10ms 亚毫秒级 IOPS/TPS 单文件系统 10K 千万级 单盘 128K 带宽 GiB/s级别 TiB/s级别 MiB/s级别 是否支持数据共享 是 是 是 是否支持远程访问 是 是 否 是否能单独使用 是 是 否 云服务链接 SFS官网 OBS官网 EVS官网 父主题: 选择合适的存储云服务
  • PERF03-07 选择合适的Kafka 风险等级 中 关键策略 根据生产流量、消费流量、老化时间、副本数等指标,计算业务所需的规格,选择合适的Kafka规格。 规格测算: 性能容量维度所需最小节点数 = max((存储带宽需求 / 单节点存储带宽),(网络带宽需求 / 单节点网络基准带宽)) 磁盘容量维度所需最小节点数 = max(总磁盘容量需求 / 单节点磁盘容量上限) 详细规格选择参考官方文档。 父主题: 选择合适的应用中间件云服务资源
  • PERF04-02 选择合适的测试方式 风险等级 高 关键策略 性能测试的常见方式如下,需要注意的是,各种测试方式并不是正交的,而是有耦合关系的: 性能验收:性能验收测试的运行环境必须是确定的,验证系统在确定的场景条件下是否达到了其宣称的能力规格。 负载测试:是在被测系统上进行负载阶梯加载,直至摸到系统性能极限,一般用来测试系统性能容量或调优。 压力测试:是检查系统处于超负载压力下的性能表现,可以考察系统的流控机制和极限场景下的性能。 长时间稳定性测试:该测试需要在负载压力下进行,是考察性能表现稳定性的重要手段,经常结合压力测试开展。 配置测试:通过对被测系统软硬件配置的调整以及业务模型调整,了解不同配置对系统性能的影响,从而找到系统资源的最优分配原则、不同业务模型的性能趋势。 并发测试:通常通过构造多用户或多任务并发的手段来暴露可能隐藏的进程死锁、资源泄露或其他性能问题。 相关云服务和工具 性能测试 CodeArts PerfTest 父主题: 性能测试
  • PERF03-06 选择合适的消息队列 风险等级 中 关键策略 三种不同版分布式消息服务的适用场景如下: Kafka:兼容开源Kafka,适用构建实时数据管道、流式数据处理、第三方解耦、流量削峰去谷等场景,有大规模、高可靠、高并发访问、可扩展且完全托管的特点。 RocketMQ:兼容开源RocketMQ,提供顺序、延迟、定时、重投、死信、事务与会话消息等功能,适用电商、金融场景。 RabbitMQ:兼容开源RabbitMQ,支持广播、事务消息、消息路由、死信队列、优先级队列等,适用于秒杀、流控、系统解耦等场景。 详细版本对比可参考官方文档。 相关云服务和工具: 分布式消息服务Kafka版 分布式消息服务RocketMQ版 分布式消息服务RabbitMQ版 父主题: 选择合适的应用中间件云服务资源
  • 缓存性能优化 以下章节我们结合一些具体建议和案例来说明如何针对缓存的使用进行性能优化。 Redis使用规范 如下的规范可以帮助我们在系统运行过程中,尽可能减少遇到redis不稳定或异常的概率, 保证系统的长稳运行。 业务使用规范 原则 原则说明 级别 备注 就近部署业务,避免时延过大 如果部署位置过远(非同一个region)或者时延较大(例如业务服务器与Redis实例通过公网连接),网络延迟将极大影响读写性能。 强制 如果对于时延较为敏感,请避免创建跨AZ Redis实例。 冷热数据区分 建议将热数据加载到 Redis 中。低频数据可存储在 Mysql或者ElasticSearch中。 建议 Redis将低频数据存入内存中,并不会加速访问,且占用Redis空间。 业务数据分离 避免多个业务共用一个Redis。 强制 一方面避免业务相互影响,另一方面避免单实例膨胀,并能在故障时降低影响面,快速恢复。 禁止使用select功能在单Redis实例做多db区分。 强制 Redis单实例内多DB隔离性较差,Redis开源社区已经不再发展多DB特性,后续不建议依赖该特性。 设置合理的内存淘汰(逐出)策略 合理设置淘汰策略,可以在Redis内存意外写满的时候,仍然正常提供服务。 强制 DCS默认的逐出策略为volatile-lru,请根据业务需求选择。Redis支持的数据逐出策略 以缓存方式使用Redis Redis事务功能较弱,不建议过多使用。 建议 事务执行完后,不可回滚。 数据异常的情况下,支持清空缓存进行数据恢复。 强制 Redis本身没有保障数据强一致的机制和协议,业务不能强依赖Redis数据的准确性。 以缓存方式使用Redis时,所有的key需设置过期时间,不可把Redis作为数据库使用。 强制 失效时间并非越长越好,需要根据业务性质进行设置。 防止缓存击穿 推荐搭配本地缓存使用Redis,对于热点数据建立本地缓存。本地缓存数据使用异步方式进行刷新。 建议 - 防止缓存穿透 非关键路径透传数据库,建议对访问数据库进行限流。 建议 - 从Redis获取数据未命中时,访问只读数据库实例。可通过 域名 等方式对接多个只读实例。 建议 核心是未命中的缓存数据不会打到主库上。 用域名对接多个只读数据库实例,一旦出现问题,可以增加只读实例应急。 不用作消息队列 发布订阅场景下,不建议作为消息队列使用。 强制 如没有非常特殊的需求,不建议将 Redis 当作消息队列使用。 Redis 当作消息队列使用,会有容量、网络、效率、功能方面的多种问题。 如需要消息队列,可使用高吞吐的Kafka或者高可靠的RocketMQ。 合理选择规格 如果业务增长会带来Redis请求增长,请选择集群实例(Proxy集群和Cluster集群) 强制 单机和主备扩容只能实现内存、带宽的扩容,无法实现计算性能扩容。 生产实例需要选择主备或者集群实例,不能选用单机实例 强制 - 主备实例,不建议使用过大的规格。 建议 Redis在执行RewriteAOF和BGSAVE的时候,会fork一个进程,过大的内存会导致卡顿 具备降级或容灾措施 缓存访问失败时,具备降级措施,从DB获取数据;或者具备容灾措施,自动切换到另一个Redis使用。 建议 - 数据设计规范 分类 原则 原则说明 级别 备注 Key相关规范 使用统一的命名规范。 一般使用业务名(或数据库名)为前缀,用冒号分隔。Key的名称保证语义清晰。 建议 例如,业务名:子业务名:id 控制Key名称的长度。 在保证语义清晰的情况下,尽量减少Key的长度。有些常用单词可使用缩写,例如,user缩写为u,messages缩写为msg。 建议 建议不要超过128字节(越短越好)。 禁止包含特殊字符(大括号“{}”除外)。 禁止包含特殊字符,如空格、换行、单双引号以及其他转义字符。 建议 由于大括号“{}”为Redis的hash tag语义,如果使用的是集群实例,Key名称需要正确地使用大括号避免分片不均的情况。 Value相关规范 设计合理的Value大小。 设计合理的Key中Value的大小,推荐小于10 KB。 建议 过大的Value会引发分片不均、热点Key、实例流量或CPU使用率冲高等问题,还可能导致变更规格和迁移失败。应从设计源头上避免此类问题带来的影响。 设计合理的Key中元素的数量。 对于集合和列表类的数据结构(例如Hash,Set,List等),避免其中包含过多元素,建议单Key中的元素不要超过5000个。 建议 由于某些命令(例如HGETALL)的时间复杂度直接与Key中的元素数量相关。如果频繁执行时间复杂度为O(N)及以上的命令,且Key中的子Key数量过多容易引发慢请求、分片流量不均或热点Key问题。 选择合适的数据类型。 合理地选择数据结构能够节省内存和带宽。 建议 例如存储用户的信息,可用使用多个key,使用set u:1:name "X"、set u:1:age 20存储,也可以使用hash数据结构,存储成1个key,设置用户属性时使用hmset一次设置多个,同时这样存储也能节省内存。 设置合理的过期时间。 合理设置Key的过期时间,将过期时间打散,避免大量Key在同一时间点过期。 建议 设置过期时间时,可以在基础值上增减一个随机偏移值,避免在同一个时间点大量Key过期。大量Key过期会导致CPU使用率冲高。 命令使用规范 原则 原则说明 级别 备注 谨慎使用O(N)复杂度的命令 时间复杂度为O(N)的命令,需要特别注意N的值。避免N过大,造成Redis阻塞以及CPU使用率冲高。 强制 例如:hgetall、lrange、smembers、zrange、sinter这些命令都是做全集操作,如果元素很多,会消耗大量CPU资源。可使用hscan、sscan、zscan这些分批扫描的命令替代。 禁用高危命令 禁止使用flushall、keys、hgetall等命令,或对命令进行重命名限制使用。 强制 请参考命令重命名的内容。 慎重使用select Redis多数据库支持较弱,多业务用多数据库实际还是单线程处理,会有干扰。最好是拆分使用多个Redis。 建议 - 使用批量操作提高效率 如果有批量操作,可使用mget、mset或pipeline,提高效率,但要注意控制一次批量操作的元素个数。 建议 mget、mset和pipeline的区别如下: mget和mset是原子操作,pipeline是非原子操作。 pipeline可以打包不同的命令,mget和mset做不到。 使用pipeline,需要客户端和服务端同时支持。 避免在lua脚本中使用耗时代码 lua脚本的执行超时时间为5秒钟,建议不要在lua脚本中使用比较耗时的代码。 强制 比如长时间的sleep、大的循环等语句。 避免在lua脚本中使用随机函数 调用lua脚本时,建议不要使用随机函数去指定key,否则在主备节点上执行结果不一致,从而导致主备节点数据不一致。 强制 - 遵循集群实例使用lua的限制 遵循集群实例使用lua的限制。 强制 使用EVAL和EVALSHA命令时,命令参数中必须带有至少1个key,否则客户端会提示“ERR eval/evalsha numkeys must be bigger than zero in redis cluster mode”的错误。 使用EVAL和EVALSHA命令时,DCS Redis集群实例使用第一个key来计算slot,用户代码需要保证操作的key是在同一个slot。 对mget,hmget等批量命令做并行和异步IO优化 某些客户端对于MGET,HMGET这些命令没有做特殊处理,串行执行再合并返回,效率较低,建议做并行优化。 建议 例如Jedis对于MGET命令在集群中执行的场景就没有特殊优化,串行执行,比起lettuce中并行pipeline,异步IO的实现,性能差距可达到数十倍,该场景建议使用Jedis的客户端自行实现slot分组和pipeline的功能。 禁止使用del命令直接删除大Key 使用del命令直接删除大Key(主要是集合类型)会导致节点阻塞,影响后续请求。 强制 Redis 4.0后的版本可以通过UNLINK命令安全地删除大Key,该命令是异步非阻塞的。 对于Redis 4.0之前的版本: 如果是Hash类型的大Key,推荐使用hscan + hdel 如果是List类型的大Key,推荐使用ltrim 如果是Set类型的大Key,推荐使用sscan + srem 如果是SortedSet类型的大Key,推荐使用zscan + zrem 父主题: 云服务性能优化介绍
  • PERF06-02 性能劣化自动定界定位 风险等级 中 关键策略 通过建立的分层性能模型,判断系统是否会出现性能劣化的情况。当出现劣化事件时,需要通过自动化手段快速定位定界发现根因。可以通过应用模型建设三维的拓扑,把架构-空间-时间数据关联起来。这里面的关键是架构模型的建立及分层指标的聚合可视化能力,需要依赖持续的资源治理和 数据治理 。 相关云服务和工具: 优化顾问 OA 云监控服务 CES 应用运维管理 AOM 父主题: 性能看护
  • COST03-03 公共成本分配 风险等级 中 关键策略 跨团队共享使用的CDN、直播带宽应按照各业务团队的实际带宽占比,将带宽费用拆分到不同的业务团队。 跨团队共享使用的CCE集群服务,应按照各团队分配和使用的CPU/内存等比例,将容器集群成本(包含CCE、ECS、EVS等服务成本)拆分到各个业务团队。 以上公共成本,以及其他共享资源&平台服务&服务支持&未及时标记产生的未分配成本,也可以按照一定的比例规则,比如平均分配、按消费比例分配、按约定比例分配等规则,拆分到各个业务部门,从而满足各团队或业务部门公平分配公共成本的需求 相关服务和工具 华为云成本中心的成本单元提供按比例的公共成本分拆方式。 华为云成本中心提供共同成本分拆,支持CDN、Live按照域名流量进行成本分拆。 华为云CCE服务提供细化的按照Pod Level的成本分拆,并可以卷积到Workload,Service等各种标准K8S模型层级。 父主题: COST03 对成本进行分配
  • PERF05-04 大数据场景资源优化 风险等级 中 关键策略 在大数据场景下,可以通过优化资源的使用和分配,提高系统的性能和效率。以下是一些常见的大数据场景资源优化方法: 分布式存储:使用分布式存储系统,如Hadoop HDFS、Apache Cassandra等,将数据分散存储在多个节点上,以提高数据的可靠性和可扩展性。 数据压缩:对于大量的数据,可以采用压缩算法进行压缩,以减少数据的存储空间和传输带宽。 并行计算:使用并行计算框架,如Apache Spark、Apache Flink等,将计算任务分配到多个节点上并行执行,以提高计算速度和效率。 内存优化:通过调整内存分配和使用策略,如使用内存缓存、内存映射等技术,以提高数据处理和计算的速度和效率。 负载均衡:通过负载均衡技术,将数据和计算任务均匀地分配到多个节点上,以避免单个节点过载,提高系统的可用性和性能。 数据分区:将数据按照一定的规则分成多个分区,以便更好地进行数据处理和计算。 网络优化:通过优化网络带宽、延迟等参数,以提高数据传输的速度和效率。 数据清洗和预处理:在进行大数据处理之前,对数据进行清洗和预处理,以提高数据的质量和准确性,减少后续计算的错误率和计算量。 父主题: 资源优化
  • PERF04-06 建立性能可观测性体系 风险等级 中 关键策略 可观测性体系是指在云原生架构中通过使用各种工具和技术来实现对应用程序和基础设施的监控告警、日志、故障排除等功能的一套完整的解决方案。性能可观测体系在此基础上突出了性能指标,通过收集和分析性能数据,可以识别系统瓶颈、优化资源分配等,找到性能优化方向。 性能监控对象:服务器、操作系统、数据库、应用程序、网络设备、云服务。 常见性能指标:包括资源CPU、内存,硬盘等,及程序的响应时间、吞吐量、并发数等。 父主题: 建立性能可观测性体系
  • 应用性能管理 ( APM ) 华为云应用性能管理服务(Application Performance Management,简称APM)帮助运维人员快速发现应用的性能瓶颈,以及故障根源的快速定位,为用户体验保驾护航。 您无需修改代码,只需为应用安装一个APM Agent,就能够对该应用进行全方位监控,帮助您快速定位出错接口和慢接口、重现调用参数、发现系统瓶颈,从而大幅提升线上问题诊断的效率。目前支持JAVA、Python、Node.js、Go、Php和.Net应用,具体的应用监控能力概览如下表。 父主题: 卓越运营云服务介绍
  • COST04-02 主动监控成本 风险等级 中 关键策略 不要只在出账后或收到异常通知时再查看成本和用量,应使用工具定期检查成本。定期监控和主动分析成本,有助于您及时识别成本趋势,避免异常发生。 相关服务和工具 创建预算提醒,将预算设置为提醒阈值,在预测或实际成本超出预算时,及时获取超预算通知,防止潜在成本超支。 创建成本监控,华为云成本中心的成本监控引入机器学习,对客户历史消费数据进行建模,对于不符合历史数据模型的成本增长,识别为异常成本记录,同时提供异常增长的Top潜在原因。客户可设置监控提醒,定期获取影响成本高的异常记录提醒,进而快速做出反应,维持预期的成本支出。 在费用中心设置可用额度监控,在可用额度余额低于阈值时预警,避免客户额度耗尽,业务中断。 使用资源包监控,在资源包剩余不足预警,避免资源包用尽自动转为按需计费。 使用成本分析预置报告或创建常用的成本分析报告,定期快速了解成本分布和趋势。 父主题: COST04 持续进行成本治理
  • OPS05-02 进行变更风控 风险等级 高 关键策略 根据不同变更场景构建风险控制能力,通过风险数字化度量分析和评估风险影响程度,并采取风险控制措施削减或规避风险,保障变更成功。变更风险指现网各要素增、删、改及状态改变(如版本迭代、配置改变、节点扩缩容等)时引发的业务中断风险及变更失败可能导致的业务受损风险。 设计建议 变更风控衡量指标:变更风控衡量指标为变更导致事件密度和变更引入重大事件数。 变更导致事件密度定义:每月变更导致对客户造成影响的事件数与总变更数的比值。 计算公式:变更导致事件密度=变更导致对客户造成影响的事件数/总变更数。 变更引入重大事件数定义:每月变更引入对客户产生重大影响的事件次数。 相关云服务和工具 COC 变更管理 父主题: OPS05 运维准备和变更管理
  • OPS05-03 定义变更流程 风险等级 高 关键策略 在建立标准的变更管理流程前,清晰明白变更各个流程的定义: 变更发起:在变更发起前,需明确变更内容与变更原因等信息。信息的明确可减轻变更评估人的工作量,同时明确变更的意义。变更信息包括: 基本信息:标题、时间、变更人、原因等。 变更信息:变更系统、变更场景、变更类型等。 变更方案:变更实施方案、回滚方案、验证方案等。 变更审批:由于变更系统相关的负责人进行审核,确保变更风险级别,若无法控制或无法预测,则建议明确变更方案或禁止变更。变更审批流程可由多人进行组合,包括:业务负责人、团队TL、技术TL等,变更涉及的人员可根据变更的影响程度以及影响范围等因素确定。 变更执行:通过发起时确认的执行人来进行执行工作的分派,以确保执行变更的是与变更内容相关的技术人员,从而确保变更的准确执行。 变更验证:在变更完成后,对变更对象与变更内容进行检查,确保变更并未影响实际业务,检查完成后,发布变更结果。 变更关闭:在变更完成后,关闭变更任务。对变更记录进行留存,便于后续变更数据的运营与分析。 设计建议 父主题: OPS05 运维准备和变更管理
  • OPS07-03 支持事件管理 风险等级 高 关键策略 事件(incidents)是需要干预的事情。当发生事故(incidents)时,通过流程来处理。如何与团队沟通活动的状态?谁负责响应处置?使用哪些工具来缓解该事件?这些都是流程中需要回答的问题,并需要获得可靠的响应过程。流程必须中心化,并且可供参与工作负载的任何人使用。如果没有wiki 或文档存储,可以使用源代码版本控制机制。 优先通过自动化响应事件,避免占用业务交付和创新的时间。首先构建一个可重复的流程来缓解问题,然后关注自动缓解或解决根本问题以提升效率。 华为云相关云服务和工具 云监控 服务 CES 云运维中心 COC 父主题: OPS07 进行故障分析和管理
  • OPS06-01 建立可观测性体系 可观测性(observability)最初是系统理论中的一个概念,指系统的状态能否被外部观察到和重现。随着云原生、微服务架构的发展,IT系统对可观测性的需求日益增强。业界对可观测性的定义:通常是指基于对复杂系统外部输出的了解,能够了解其内部状态或状况的程度。系统越可观测,定位问题根本原因的过程就越快速越准确,而无需进行额外的测试或编码。 风险等级 高 关键策略 可观测体系是围绕确定性恢复命题展开的,决定了确定性恢复能力构建与 SLO 达成。可观测体系能够直接决定一些故障的恢复时长,如下图所示,MTTR 平均恢复时长由平均发现时长、平均定界时长和平均处置时长三部分构成,而可观测能决定的是发现时长和定界时长(经验值占比 1/2 左右)。在一个事件里,MTTR 的恢复时长越短,那么它的整体 SLO 达成可能性就越高。 MTTR平均恢复时长=平均发现时长+平均定界时长+平均处置时长 设计建议 面向 MTTR的可观测体系设计的核心逻辑就是寻找最短恢复路径。如下图所示案例,在故障恢复 MTTR 的逻辑中,当业务发生故障,从故障发现、到故障定级和影响面分析、再到故障定界定位和故障恢复,几乎全部依赖人工处理。要想缩短时间,本质上是监控即发现、监控即定级、监控系统定界、定界即恢复——如果能达成这样的设计就能够形成 MTTR 的最短路径。 父主题: OPS06 可观测性体系
  • 应用运维管理(AOM2.0) 应用运维管理(Application Operations Management,简称AOM)是云上应用的一站式立体化运维管理平台,融合云监控、 云日志 、应用性能、真实用户体验、后台链接数据等多维度可观测性数据源,提供应用资源统一管理、一站式可观测性分析和自动化运维方案,帮助用户及时发现故障,全面掌握应用、资源及业务的实时运行状况,提升企业海量运维的自动化能力和效率。 父主题: 卓越运营云服务介绍
  • OPS04-03 基础设施即代码 基础设施即代码(IaC)是指使用代码而不是手动流程来管控基础设施的能力。 应用程序环境都需要许多基础设施组件,例如操作系统、数据库连接和存储。 开发人员必须定期设置、更新和维护基础设施,以开发、测试和部署应用程序。 手动管理基础设施既耗时又容易出错,尤其是在大规模管理应用程序时。 风险等级 高 关键策略 使用声明式工具:与命令式工具相比,声明式工具是部署和管理 IaC 的更好的整体选择。声明性工具对其定义文件使用更简单的语法,仅定义部署完成后所需的环境状态。命令式工具需定义达到所需最终状态所需的步骤,因此文件可能比声明性文件复杂得多。声明性定义文件还有助于减少维护命令式代码(例如部署脚本)的技术债务,这些技术债务会随着时间的推移而增加。 使用云平台工具和其他经过行业验证、集成到平台中的工具:云平台提供的工具可以使 IaC 的部署变得简单直接。利用这些工具而不是开发自己的解决方案。云平台包含满足您大多数需求的内置功能,并且由平台提供商不断更新,随着平台的发展而变得更加有用。 标准化模块化方案:模块可以使基础设施部署可重复,标准化有助于确保模块的构建能够满足特定目标。建议使用模块来封装复杂的配置或资源组合。此外,在开发新模块时非敏感场景可以适当使用开源模块。 标准化人工步骤:如果存在与部署和维护相关的人工步骤,要尽可能减少这类活动。在运维指南和标准操作程序中,清楚地记录人工步骤,并实现标准化,以确保安全、一致地执行任务。 回收闲置资源:由于配置管理工具及其限制等原因,有时 IaC 工具无法自动删除资源。例如,假设需要从虚拟机迁移到 PaaS 服务,而 IaC 工具没有删除闲置资源的逻辑。如果忘记手动删除这些资源,这些资源可能会成为孤立资源。为了处理这些场景,需要标准化扫描闲置资源并明确删除策略。 相关云服务和工具 资源编排 服务 RFS 父主题: OPS04 自动化构建和部署流程
  • OPS04-04 自动化工程运维任务 在日常开发工作中,尽可能自动化一切,以减轻管理负担并最大限度地减少人为错误。为了最大限度地提高自动化投资的价值,优先考虑简单、程序化且长期的任务。应用自动化并不是一种全有或全无的策略。即使需要人工干预的工作流(例: 决策点),也可以从自动化中受益。 风险等级 高 关键策略 优先考虑从自动化中受益最多的任务: 专注于高度程序化且容易出现人为错误的任务:这些任务被明确定义,高度自动化,没有增加复杂性的变量,并且作为正常路径的一部分执行。示例包括:重新启动服务器、创建帐户以及将日志传输到数据存储。这些任务可能会按计划发生,作为对事件或监视警报的响应,或者根据外部因素的需要而发生。 可以解放运维工程师的任务:为应用的DevOps团队提供自动服务,通过运行的脚本自动执行运维操作步骤。例如,客户引入多租户解决方案时,数据库管理员经常收到创建新数据库的请求。如果为运营人员构建自助服务门户,则可以让他们自己安全地创建空数据库。 通过自动化显著提升效率的任务:高价值的自动化需要最少的管理开销,并显着提高效率。例如,如果可以通过自动化数据库条目每天为运营团队节省一个小时,那么就可以有更多时间实现自动化做持续改进。 设计建议 管道定义、执行和管理:使用持续集成和持续交付 (CI/CD) 工具(例如 华为云CodeArts Pipeline)自动定义管道及其运行方式. 部署:使用华为云资源编排服务 RFS、Terraform 和 Ansible 等工具来自动化工作负载开发和发布流程。通过使用基础架构即代码 (IaC) 方法,可以使用相同的自动化平台部署并优化基础架构。 测试:许多工具可用于自动化测试过程。这些工具可以减轻质量保证团队的重大负担,并确保测试标准化且可靠。 扩展:使用平台提供的功能和其他工具(例如: 资源编排服务 RFS),在负载增加或减少时自动扩展基础架构。 监控和警报:使用云运维中心 COC和云监控服务 CES提供的工具自动注册新部署的资源并配置警报触发的操作,以帮助在出现问题时加快修复速度。 自我修复:使用云监控服务 CES生成的警报来自动执行操作并恢复出现故障的组件或作业。 配置管理:使用编排和策略工具确保所有资源运行相同的配置,并在整个工作负载中强制执行合规性要求。 其他管理任务:使用脚本自动执行重复性任务,例如更新数据库记录或 DNS 记录。 审批:使系统能够根据预定义规则自动做出审批决策,以提高具有审批关口的工作流程的效率。这种方法鼓励使用标准化表格和模板,从而提高流程的效率。在高环境下自动批准可能存在风险。密切关注并测试您的自动批准,以确保定义特定标准来授予批准。 新用户和新员工入职:您可以自动执行与新应用程序用户或新员工入职相关的许多任务,例如数据库更新和凭据创建。 相关云服务和工具 资源编排服务 RFS CodeArts Pipeline CodeArts Deploy 云运维中心 COC 云监控服务 CES 华为云命令行工具服务 KooCLI 父主题: OPS04 自动化构建和部署流程
  • OPS06-03 制定和实施可观测性指标 风险等级 高 关键策略 指标是对时间周期内的测量数据的数值表示。可观测性指标是围绕发现率、定级准确率、定界时长、覆盖率、有效率、 一致率打造可观测能力,将可观测设计规范统一发布,统一设计要求与运维管理要求。 设计建议 整体技术方案会变成标准并进行发布,各个业务系统架构师在设计时遵循这套标准,这样可以保证能力能够从设计态开始,包括运行态、高可用架构等场景中得到应用。 可观测指标可以通过监控工具来实现,并允许在发生异常时发送警报。有很多监控工具可以使用,例如Prometheus、Grafana、Zabbix等,以及华为云提供的云监控服务CES。这些工具可以定期收集指标,提供可视化的指标报告,并且可以发送警报,以帮助组织及时发现问题。 可参考CES的最佳实践,https://support.huaweicloud.com/bestpractice-ces/ces_14_0002.html。 父主题: OPS06 可观测性体系
  • OPS08-02 进行事故复盘和改进 事故分析的目的是:规范和指导重大事故发生后,优化事故的输入、输出,确保事故回溯工作有效开展,回溯报告中发现的问题有效整改,总结的经验有效推广。 风险等级 高 关键策略 故障发生后,通过对现网重大故障处理过程 Review 及根因进行分析和改进总结,规范整个恢复过程,实现对可用性和技术能力的提升。故障复盘的技术过程按照 RASA 法、Review(回顾)、Analyze(分析)、Summary(总结)、Action(行动)。 Review(回顾):完整记录故障的发生、发现、根因定位、决策、处理、预案执行、回滚、故障解决等的关键人与关键时间点,保证信息尽可能的客观、准确。 Analyze(分析):分析故障的根本原因及故障处理过程中优化点。 Summary(总结):总结本次故障及处理故障的过程。进行故障定性、故障定责及总结本次故障带来的经验教训并举一反三。 Action(行动):确定上面分析总结的结论,进行改进、优化及落地实施。 父主题: OPS08 度量运营状态和持续改进
  • OPS06-04 规范化应用日志 日志是随时间推移发生的不可变、记录时间戳的离散事件。系统需要记录关键事件和故障,以帮助诊断问题和解决故障。 风险等级 高 关键策略 对于一个系统来说,日志是非常重要的。它可以记录在系统中发生的一切,包括成功的操作、错误的操作、警告信息等等。因此,日志记录是可观测性设计中最基本的需求之一。通过将事件和错误信息记录到日志文件或数据库中,可以方便地进行故障排除和问题诊断。但是,仅仅记录日志并不足够,还需要对日志进行有效的管理和分析。如果日志太多,将会成为一个负担,因为它们需要占用存储空间,并且需要花费很长时间来查找有用的信息。因此,需要对日志进行过滤和归档,以便更好地管理它们。 设计建议 可参考LTS最佳实践 父主题: OPS06 可观测性体系
  • OPS07-01 创建可操作的告警 风险等级 高 关键策略 收到告警时,一般需要做出响应,消除无须响应的告警。 比如磁盘IO 量瞬间飙升,CPU 使用率瞬间飙高,这类告警无需做出响应,对业务而言,意义就不大了。 遵循可操作性原则能避免很多误报。并且要定期统计和分析告警频率,识别高频告警,解决告警问题,清除明确的告警误报。 设计建议 优化告警阈值:适当提高 内存/CPU/网络 IO 告警阈值。 优化日志级别:优化不合理的日志级别,把部分 ERROR 级别的日志调整为 WARNING。 屏蔽某些日志:对难以调整日志级别的应用,根据关键字屏蔽某些频繁的日志告警。 预警增强:对于某些影响业务方的操作,提供预警。 增强紧急预警:有些硬件故障会出现反应在 /var/log/messages 中,根据关键字匹配硬件类告警,以便及时处理。 相关云服务和工具 应用运维管理 AOM 云运维中心 COC 云监控服务 CES 父主题: OPS07 进行故障分析和管理
  • 云日志服务(LTS) 云日志服务(Log Tank Service,简称LTS)是高性能、低成本、功能丰富、高可靠的日志平台,提供全栈日志采集、百亿日志秒搜、PB级存储、日志加工、可视化图表、告警和转储等功能,满足应用运维、等保合规和运营分析等应用场景需求。 云日志服务提供多种接入方式实现海量日志接入LTS,支持日志搜索引擎、SQL分析引擎、日志加工引擎,详细请参考下图。 端云全场景日志接入:40+云服务、主机/容器、移动端、跨云、多语言SDK、多账号汇聚,满足全场景客户丰富的日志接入需求。 海量日志存储搜索:百亿日志秒级搜索,千亿日志迭代搜索,PB级智能冷存储。 SQL统计和可视化图表:100+SQL函数、多种可视化图表、10多种开箱即用仪表盘。 实时日志告警:自定义告警内容,短信/邮件/微信/钉钉/HTTP多渠道通知。 一站式日志加工:200+函数、一站式日志规整、富化、脱敏、过滤、分裂加工平台。 日志数据服务间集成:日志转储OBS/DWS/DIS/ DLI /DMS,助力用户快速构建水平解决方案。 父主题: 卓越运营云服务介绍
  • 多活高可用(MAS) 多活高可用(MAS)的混沌工程(ChaosEngineering)是一种通过主动注入故障识别并修复系统未知隐患的工程实践。MAS-CAST混沌工程服务提供丰富的故障模式库,通过混沌实验编排攻击目标、攻击策略进行故障注入,支持添加背景流量和资源监控,同时在故障注入能力的基础上,通过体系化的流程和规范来创建故障演练,从而验证和提升系统可靠性和技术团队应急响应能力。 父主题: 卓越运营云服务介绍
  • OPS01-03 规划标准化的运维流程和运维工具 风险等级 高 关键策略 流程和工具是经验的承载,通过标准化的流程,可以大幅降低在运维过程中因为个人的因素受到的影响和无序化。 通过标准化的、统一的运维工具,向运维人员提供集中、统一维护界面及清晰易上手的操作手册,方便运维人员的集中维护,提高运维效率。常见的运维流程有: 变更管理流程:适用于生产环境软、硬件的变更活动管理,减少变更导致服务意外中断或服务质量下降,确保企业的环境安全、稳定地运行,并最大化的提升系统的可用性,满足所承诺的服务水平。 告警和事件管理流程:适用于开发,生产环境故障等事件的受理、处理、升级流程,确保用户的业务及时得到响应和处理,支撑SLA的达成,需要明确定义企业各类事件的等级,以及处理的职责,规范各类事件响应和处理时限及通报机制,保障业务的安全性和稳定性。 问题和回溯流程:适用于事件复盘分析,识别故障的根因、管理规避方案和已知错误,来降低故障再次发生的可能性和影响。通过有效的问题管理运作,促进产品质量的不断完善,提升产品的质量稳定性,降低产品现网故障数量。 产品可用度评审流程(Product Readiness Review):对于您云上业务是否在产品环境有问题的审查,以确定产品/应用已做好产品发布准备,在运维阶段是否有问题。 值得注意的是,由于云上应用迭代更新的特性,产品可用度评审不应该只是在产品刚上线时进行审查,而以后则置之不理。由于您的云上应用不断更新,这个流程应该定期/或者由重大事件(比如电商企业的促销)触发。 此外还有类似于企业IT服务的管理,账号的管理等流程,围绕这些流程,您的企业可以使用并标准化一系列云上工具,如流水线,监控报警,日志处理,运维中心。从而将您企业的运维标准化,进而迈向卓越。上文中的一些关键流程的最佳实践(变更管理,告警和事件处理,问题和回溯流程,运维可用度评审流程)也会在本白皮书的其他最近章节详述。 设计建议: 相关云服务和工具 云运维中心 COC 华为云AOM服务 云监控服务 CES 华为云LTS服务 应用性能管理 APM 父主题: OPS01 建立持续改进的团队文化和标准化的运维体系
  • OPS03-05 进行混沌测试和演练 混沌工程(Chaos Engineering)是通过故障注入,验证故障快速恢复能力及系统可靠性的实践活动。 风险等级 高 关键策略 通过混沌工程的方法模拟可能出现的故障,进而综合验证系统在不同故障场景下的容错能力、监控能力、应急响应能力、定界定位、快速恢复等确定性恢复能力。 验证高可用设计:业务系统在规划设计阶段进行架构高可用设计、监控设计,在上线前进行生产准备度评审 (PRR)、性能压测,确保系统能够持续提供稳定、可靠的服务。混沌工程从应用部署架构、服务容量、监控告警、应用高可用等多维度设计演练场景,先测试、后攻防、再突袭逐步递进式的开展演练。通过持续演练,对架构高可用、监控、PRR 等能力做“在线验证”,实现持续性的动态风险治理。混沌演练和高可用设计共同成为系统稳定性的“双引擎”。 系统风险消减、业务快速恢复:分析系统潜在风险(故障场景),制定应急预案,验证故障场景的覆盖率和命中率,验证应急预案的质量和执 行效率,做到“少出事”和“出了事快速恢复”,实现确定性恢复的目的。 少出事:尽量挖掘潜在风险,区分等级和危害,通过执行演练检验业务风险消减能力。 出了事快速恢复:通过主动制造故障,让运维和研发熟悉故障场景,验证应急恢复预案,从而加快恢复速度。 混沌工程度量指标 故障场景的覆盖率:分析故障场景的覆盖率,例如容灾场景覆盖 80%,过载场景覆盖 60%。 故障场景的命中率:分析故障场景中,真实发生的比率。 应急预案的质量:用于度量应急预案有效性和执行效率。 风险发现个数与等级:定期评估分析(季度或年度)主动发现的风险数量和级别。 风险消减个数、等级与类型:风险降级的数量,风险消减的数量,增加预案的数量,改进监控项的数量。 故障恢复时长提升率:对应故障场景经过混沌工程演练,平均恢复速度提升的比率。 故障数量相比上年减少数量:本年度故障数量相比上年度减少多少。 相关云服务和工具 MAS 混沌工程 COC 故障演练 父主题: OPS03 完备的测试验证体系
  • 资源编排服务(RFS) 资源编排服务是完全支持业界事实标准Terraform(HCL + Provider)的新一代云服务资源终态编排引擎,在 应用编排服务 (AOS)基础上实现了生态、体验、特性的全新升级;资源编排服务基于业界开放生态HCL语法模板,实现云服务资源的自动化批量构建,帮助用户高效、安全、一致创建、管理和升级云服务资源,能有效提升资源管理效率,并降低资源管理变更带来的安全风险。 父主题: 卓越运营云服务介绍
  • 云监控中心(CES) 云监控服务为用户提供一个针对弹性云服务器、带宽等资源的立体化监控平台。使您全面了解云上的资源使用情况、业务的运行状况,并及时收到异常告警做出反应,保证业务顺畅运行。 云监控服务主要具有以下功能: 自动监控:云监控服务不需要开通,在创建弹性云服务器等资源后监控服务会自动启动,您可以直接到云监控服务查看该资源运行状态并设置告警规则。 主机监控:通过在弹性云服务或裸金属服务器中安装云监控服务Agent插件,用户可以实时采集ECS或BMS 1分钟级粒度的监控数据。已上线CPU、内存和磁盘等40余种监控指标。有关主机监控的更多信息,请参阅主机监控简介。 灵活配置告警规则:对监控指标设置告警规则时,支持对多个云服务资源同时添加告警规则。告警规则创建完成后,可随时修改告警规则,支持对告警规则进行启用、停止、删除等灵活操作。 实时通知:通过在告警规则中开启 消息通知 服务,当云服务的状态变化触发告警规则设置的阈值时,系统通过短信、邮件通知或发送消息至服务器地址等多种方式实时通知用户,让用户能够实时掌握云资源运行状态变化。 监控面板:为用户提供在一个监控面板跨服务、跨维度查看监控数据,将用户关注的重点服务监控指标集中呈现,既能满足您总览云服务的运行概况,又能满足排查故障时查看监控详情的需求。 OBS转储:云监控服务各监控指标的原始数据的保留周期为两天,超过保留周期后原始数据将不再保存。您可以在对象存储服务(Object Storage Service,以下简称OBS)创建存储桶,然后将原始数据同步保存至OBS,以保存更长时间。 资源分组:资源分组支持用户从业务角度集中管理其业务涉及到的弹性云服务器、云硬盘、弹性IP、带宽、数据库等资源。从而按业务来管理不同类型的资源、告警规则、告警记录,可以迅速提升运维效率。 站点监控:站点监控用于模拟真实用户对远端服务器的访问,从而探测远端服务器的可用性、连通性等问题。 日志监控:日志监控提供了针对日志内容的实时监控能力。通过云监控服务和云日志服务的结合,用户可以针对日志内容进行监控统计、设置告警规则等操作,降低用户监控日志的运维成本,简化用户使用监控日志的流程。 事件监控:事件监控提供了事件类型数据上报、查询和告警的功能。方便您将业务中的各类重要事件或对云资源的操作事件收集到云监控服务,并在事件发生时进行告警。 父主题: 卓越运营云服务介绍
  • 通过AOM助力系统运维能力提升,降低运维成本与难度 某平台服务的认证驾驶员用户1000万人,货主用户500万人,集团业务覆盖全国339个主要城市,覆盖线路数量超过11万条,实现了全国多中心运营的架构。 客户痛点: 多云双活场景运维难保障:大规模集群场景,单个云厂商灾备不足以保障业务,需引入双活并行,故障零切换,过程中,客户自建运维平台能力较为欠缺,不足以满足运维需要 无法采集云服务指标信息:客户自建运维体系无法采集到云服务等场景的指标信息,不能满足大屏展示需要 告警通知能力不足:自建运维平台告警通知能力不能完全满足多场景通知的需要,且没有告警降噪能力 解决方案: 业务价值: 降低了运维成本与难度:降低了运维多套系统的难度,减少了客户运维起步的资源投入,降低了运维成本 运营分析能力提升:基于可视化图表和开箱即用的仪表盘等强大功能,快速实现对业务的运营分析 排障能力提升:云端多维度监控实现对业务立体运维,结合自动告警规则达到对故障的快速感知定位处理 父主题: 参考案例
  • 软件开发生产线(CodeArts) 软件开发生产线(CodeArts)是一站式、全流程、安全可信的DevSecOps平台,开箱即用,内置华为多年研发最佳实践,助力效能倍增和数字化转型。 CodeArts由以下几个主要服务构成: 需求管理:提供需求管理与团队协作服务,内置多种开箱即用的场景化需求模型和对象类型(需求/缺陷/任务等),可支撑IPD、DevOps、精益看板等多种研发模式,还包含跨项目协同、基线与变更管理、自定义报表、Wiki在线协作、文档管理等功能。 代码托管:基于Git提供分布式代码管理和协同开发能力,包括成员管理、权限控制、代码托管、代码检查、代码审核、代码追溯、持续集成等功能,助力不同规模企业的研发质量和效率提升。 流水线:提供可视化、可定制的持续交付流水线服务,实现缩短交付周期和提升交付质量的效果。 代码检查:为用户提供代码风格、通用质量与网络安全风险等丰富的检查能力,提供全面质量报告、便捷的问题闭环处理帮助企业有效管控代码质量,助力企业成功。 编译构建:基于云端大规模分布式加速,为客户提供高速、低成本、配置简单的混合语言构建能力,帮助客户缩短构建时间,提升构建效率。 部署:支持主机、容器等多种部署形态,部署能力覆盖Tomcat、Springboot等多种语言和技术栈。基于其对部署功能的插件化封装和编排能力,帮助您实现软件的快速、高效发布。 测试计划:覆盖测试计划、测试设计、测试用例、测试执行和测试评估等全流程,旨在帮助企业协同、高效、可信的开展测试活动,保障产品高质量上市。 制品仓库:用于管理源代码编译后的构建产物,支持Maven、Npm等常见制品包类型。可以与本地构建工具和云上的持续集成、持续部署无缝对接,同时支持制品包版本管理、细粒度权限控制、安全扫描等重要功能,实现软件包生命周期管理,提升发布质量和效率。 CodeArts IDE Online:基于云计算的轻量级WebIDE,通过浏览器即可实现环境快速获取和环境访问,完成编码、构建、调试、运行、访问代码仓库和命令执行等工作,支持第三方业务集成,支持插件扩展并提供独立插件市场。 开源镜像站:由华为云提供的开源组件、开源操作系统及开源DevOps工具镜像站,目前已提供Maven、NPM、NuGet、CentOS、Ubuntu、Debian等镜像下载服务。 父主题: 卓越运营云服务介绍
共100000条
提示

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