华为云用户手册

  • PERF05-01 设计优化 风险等级 中 关键策略 快速通道模式 通过减少支配性工作量负载的处理量,只剩下必要的部分,来改进响应的时间。一个软件可以有多项功能,只有几个是被经常使用的,经常使用的功能构成支配性工作量负载。快速通道模式减少这些功能的处理量,或简化其处理过程。快速通道通过简化执行路径的方式来实现,简化路径即是快速通道。 快速通道的前提是识别出支配性工作量,可以根据某项功能的使用频率来选择。常见的快速通道如,页面快速导航键、DB的索引等。 重要事情优先 把资源优先用于或者集中在重要的任务处理上,确保重要任务的完成;如果不能在可用的时间内完成所有事情,被忽略的是最不重要的任务。主要用于处理瞬时突发负载导致超出系统处理的容量的情况,一般给重要任务赋予高优先级,最重要的行为优先得到处理。只适用于暂时超载的情况,如果超载不是暂时的,需要减少处理量,或者升级系统。如在性能过载场景下,按照功能优先级进行熔断间接,保证主要功能可用。 聚合 将大多数场合在一起使用的功能组合在一起,以减少调用的交互次数。 本模式要求将组合调用居多的一些子功能,合并起来使用。聚合这个模式要求尽量将相关或紧耦合的功能放到一个对象中,使用本地接口,避免在外部接口或重开销的接口(如CORBA接口),呈现小粒度对象。聚合模式使用更粗粒度的对象,经常被访问的数据应当组合成一个聚合物,以消除对少量信息的频繁请求。如,帐户类CustAcct可以提供访问函数getName(),getAddress(),getZip(),如果经常用到该类的任务是创建邮件标签,可以使用一个新函数genMailLableInfo(),以便调用一次取得所有信息,减少交互次数。 批处理 把经常性的服务请求合并到一起,节省请求的初始化、传输、终止的处理开销。当请求的任务初始化、传输、终止的开销较大时,系统的额外开销可能超过真正的处理时间。通过将请求合并为批处理,开销处理为一批请求所分摊,不再是单独分别执行一次,从而提高处理效率。如DB的批量保存、Redis的popeline方式都是常用的批处理操作 批处理过程模型 替代路由(Bypass) 从空间上分散对高使用率对象的请求,将请求分散到其他对象或者对象的其他位置,以降低争用延时.类似于通过一条替代路线,绕开交通瓶颈,到达目的地。具体方案一是对目标对象进行空间划分,划分成小粒度对象,操作分散到不同物理位置;二是增加单独线程,每个线程更新自身的数据区域。 比如进程必须与下游单个进程协作时,只有一个下游进程,在高负载的情况下跟不上,造成交通堵塞。可以使用多个下游进程,每个进程只更新其自身的数据区域。 弹性时间 在时间上分散对高使用率对象的要求,分散到不同的时间段上,减少对这些对象的争用延时。 很多请求在某一时刻同时发出,导致要求返回的结果激增,响应缓慢。而在其他时间,很少或者没有请求。当处理请求以特定频率出现,或者在一天中的某个特定时间出现,就会产生这种情况。识别那些定期的,以特定间隔反复处理的功能,然后修改他们的处理时间,在给定时间范围内,随机分散到不同时间,以解决这个问题。 空间换时间 通过使用更多的存储空间,以节省执行时间。 空间换时间包括简单地预先存储结果,或者存储经常被访问的数据以方便计算;另一种空间换时间则包括选择特定的算法,如HASH算法就是一种典型的空间换时间的算法。另一种是OLAP技术,在此技术中,数据被按照一定的层级关系预先汇总,这样会大辐降低后续查询的耗时。 比如在慢SQL优化的时候,常用收段是识别频繁访问的字段并且设置索引,通过索引来缩短访问时延。 处理有效负载 识别出必须要处理的数据,排除对其他数据的重复处理。在一项处理数据的操作中,并非所有的处理数据都是必须处理的,可以通过分析,识别出必须处理的数据。可以有多种方式,来减轻负载的方法,如增量处理、变化通知等。 增量处理 变化通知 有效减负的反模式是“负载过重”,是在处理过程中,处理了大量不必要的处理数据,大辐增加了处理负载。出现这种情况的原因,有时为了简化处理过程,有时候是没有做必要性分析。可以通过对待处理数据进行分析,筛选出必须处理的数据,重新设计处理方案。 串行同步衔接 给线程/进程间的串行衔接设计紧密的衔接和同步措施,减少同步等待延时。 将一个串行处理通过划分多个线程并行处理,但各线程的处理又有一定的顺序和同步关系,需要设计合适的衔接和同步措施。同步方式可以是定时查询,也可以选择消息同步,或Event关联,选择的原则是衔接时间缝隙满足性能目标要求。 这个方法最佳的效果只是让整体性能略等于处理环节中最差的一个环境的性能(忽略线程切换及信号量等切换时间)。 父主题: 设计优化
  • SEC01-04 分隔工作负载 分隔工作负载是一种架构上进行分治的思想,通过将整个系统的工作负载分割成更小的部分,每个部分独立运行和管理,从而提高系统的安全性和可维护性。 风险等级 高 关键策略 一个企业特别是大型企业往往有多个不同类型(如生产环境、开发环境、测试环境)或不同组织单元(OU)下的工作负载,多个组织单元之间或多个工作负载之间要进行隔离。 分隔工作负载在云环境中是非常重要的。从安全治理角度,主要基于以下几个理由: 安全性:分隔工作负载可以降低潜在的安全风险。通过将不同的工作负载隔离在独立的环境中,可以减少一种工作负载受到攻击或故障时对其他工作负载的影响。 合规性:在一些行业和法规中,对数据隔离和访问控制有严格要求。通过分隔工作负载,可以更容易地满足合规性要求,保护敏感数据和确保数据隐私。 管理性:通过分隔工作负载,可以更轻松地管理和维护系统。每个工作负载都有独立的配置和管理需求,分隔可以简化管理流程并降低操作风险。 灵活性:分隔工作负载可以提供更大的灵活性和可扩展性。组织可以根据需要调整和扩展不同工作负载的资源,而不会影响其他部分。 华为云提供了以下几种工作负载的分隔机制: 通过多VPC分隔工作负载:将不同的工作负载部署在不同的VPC中,每个VPC具有独立的网络空间,实现网络隔离。 通过企业项目分隔工作负载:企业项目是云服务资源的逻辑集合,将工作负载部署在不同的企业项目中,实现资源的分组管理和权限控制。 通过多账号分隔工作负载:将不同的工作负载部署在不同的华为云账号中,每个账号具有独立的身份验证、访问控制和资源隔离。这种方法可以实现更严格的隔离和安全性。为每个账号分配最小必要权限,避免权限过度赋予。这有助于减少潜在的安全风险和权限滥用。针对需要跨账号访问的情况,使用适当的身份验证和授权机制,如跨账号委托、资源共享等。 多者结合:同时使用以上的两种或多种方式分隔工作负载。 相关云服务和工具 虚拟私有云 VPC 企业项目 EPS 统一身份认证 服务 IAM 华为云Landing Zone解决方案 组织 Organizations 资源治理中心 RGC 资源访问管理 RAM 父主题: SEC01 云安全 治理策略
  • 软件开发生产线(CodeArts) 软件开发生产线(CodeArts)是一站式、全流程、安全可信的DevSecOps平台,开箱即用,内置华为多年研发最佳实践,助力效能倍增和数字化转型。 CodeArts由以下几个主要服务构成: 需求管理:提供需求管理与团队协作服务,内置多种开箱即用的场景化需求模型和对象类型(需求/缺陷/任务等),可支撑IPD、DevOps、精益看板等多种研发模式,还包含跨项目协同、基线与变更管理、自定义报表、Wiki在线协作、文档管理等功能。 代码托管:基于Git提供分布式代码管理和协同开发能力,包括成员管理、权限控制、代码托管、代码检查、代码审核、代码追溯、持续集成等功能,助力不同规模企业的研发质量和效率提升。 流水线:提供可视化、可定制的持续交付流水线服务,实现缩短交付周期和提升交付质量的效果。 代码检查:为用户提供代码风格、通用质量与网络安全风险等丰富的检查能力,提供全面质量报告、便捷的问题闭环处理帮助企业有效管控代码质量,助力企业成功。 编译构建:基于云端大规模分布式加速,为客户提供高速、低成本、配置简单的混合语言构建能力,帮助客户缩短构建时间,提升构建效率。 部署:支持主机、容器等多种部署形态,部署能力覆盖Tomcat、Springboot等多种语言和技术栈。基于其对部署功能的插件化封装和编排能力,帮助您实现软件的快速、高效发布。 测试计划:覆盖测试计划、测试设计、测试用例、测试执行和测试评估等全流程,旨在帮助企业协同、高效、可信的开展测试活动,保障产品高质量上市。 制品仓库:用于管理源代码编译后的构建产物,支持Maven、Npm等常见制品包类型。可以与本地构建工具和云上的持续集成、持续部署无缝对接,同时支持制品包版本管理、细粒度权限控制、安全扫描等重要功能,实现软件包生命周期管理,提升发布质量和效率。 CodeArts IDE Online:基于云计算的轻量级WebIDE,通过浏览器即可实现环境快速获取和环境访问,完成编码、构建、调试、运行、访问代码仓库和命令执行等工作,支持第三方业务集成,支持插件扩展并提供独立插件市场。 开源镜像站:由华为云提供的开源组件、开源操作系统及开源DevOps工具镜像站,目前已提供Maven、NPM、NuGet、CentOS、Ubuntu、Debian等镜像下载服务。 父主题: 卓越运营云服务介绍
  • RES02-03 定期进行备份数据恢复 通过定期恢复测试,可以验证备份数据的完整性与恢复处理过程是否可用,且数据丢失时间以及恢复时间符合数据的RPO与RTO指标要求。 风险等级 高 关键策略 定期执行备份数据恢复,以验证备份的完整性。 为了避免备份恢复对生产业务造成影响,可以构建一个测试环境,并使用已有的备份数据进行恢复处理。 华为云云服务提供了手工恢复功能,用户可定期执行恢复操作,以进行恢复测试。 相关云服务和工具 云备份 CBR 云数据库 RDS 分布式缓存服务 D CS 父主题: RES02 备份
  • COST04-02 主动监控成本 风险等级 中 关键策略 不要只在出账后或收到异常通知时再查看成本和用量,应使用工具定期检查成本。定期监控和主动分析成本,有助于您及时识别成本趋势,避免异常发生。 相关服务和工具 创建预算提醒,将预算设置为提醒阈值,在预测或实际成本超出预算时,及时获取超预算通知,防止潜在成本超支。 创建成本监控,华为云成本中心的成本监控引入机器学习,对客户历史消费数据进行建模,对于不符合历史数据模型的成本增长,识别为异常成本记录,同时提供异常增长的Top潜在原因。客户可设置监控提醒,定期获取影响成本高的异常记录提醒,进而快速做出反应,维持预期的成本支出。 在费用中心设置可用额度监控,在可用额度余额低于阈值时预警,避免客户额度耗尽,业务中断。 使用资源包监控,在资源包剩余不足预警,避免资源包用尽自动转为按需计费。 使用成本分析预置报告或创建常用的成本分析报告,定期快速了解成本分布和趋势。 父主题: COST04 持续进行成本治理
  • RES03-04 支持容灾管理 提供容灾管理功能,实现容灾状态及RPO监控,及异常场景下的业务切换。 风险等级 高 关键策略 实时监控容灾状态,了解容灾运行状态。 支持应用级数据校验,比较AZ间数据同步差异,监控及PO指标。 典型确定性故障场景下自动容灾或切换,无需人工接入,业务不受影响,满足RPO/RTO指标。 典型亚健康故障场景,支持业务降级或主动切换,业务不持续受损。 相关云服务和工具 多活高可用服务 MAS 父主题: RES03 跨AZ容灾
  • OPS06-04 规范化应用日志 日志是随时间推移发生的不可变、记录时间戳的离散事件。系统需要记录关键事件和故障,以帮助诊断问题和解决故障。 风险等级 高 关键策略 对于一个系统来说,日志是非常重要的。它可以记录在系统中发生的一切,包括成功的操作、错误的操作、警告信息等等。因此,日志记录是可观测性设计中最基本的需求之一。通过将事件和错误信息记录到日志文件或数据库中,可以方便地进行故障排除和问题诊断。但是,仅仅记录日志并不足够,还需要对日志进行有效的管理和分析。如果日志太多,将会成为一个负担,因为它们需要占用存储空间,并且需要花费很长时间来查找有用的信息。因此,需要对日志进行过滤和归档,以便更好地管理它们。 设计建议 可参考LTS最佳实践 父主题: OPS06 可观测性体系
  • 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容灾
  • PERF05 性能优化 性能优化工作中,需警惕“过早优化”的问题。我们的基本指导策略还是首先让系统运行起来,再考虑怎么让它变得更快。一般只有在我们证实某部分代码的确存在一个性能瓶颈的时候,才应进行优化。除非用专门的工具分析瓶颈,否则很有可能是在浪费自己的时间。另外,性能优化的隐含代价会使我们的代码变得难于理解和维护,这一点也是需要权衡和关注的。 设计优化 算法优化 资源优化 父主题: 性能效率支柱
  • SEC08-07 数据主体有权访问其个人隐私数据 数据主体有权访问其个人隐私数据是指根据相关的隐私保护法律和规定,个人拥有权利要求数据处理者提供关于其个人数据的访问权限。 风险等级 高 关键策略 向用户提供查询、更新个人数据的功能,且必须是实时、无成本,符合主体参与原则。 数据主体访问个人数据之前必须有认证机制。 记录数据的录入或者更新的时间。 建议提供必要的校验措施,比如通过Web页面的输入框录入e-mail地址的时候,校验e-mail地址格式的合法性等。 针对用户的注册信息,必须为用户提供修改其注册信息的途径。 用户修改隐私偏好的设置和选项要便于用户发现和使用。 对于收集、处理、存储个人数据的系统,应提供数据主体限制其个人数据处理机制。 对于收集、处理、存储个人数据的系统,应提供数据主体提供的个人数据导出的机制。 父主题: SEC08 数据隐私保护
  • 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容灾
  • RES05-01 网络连接高可用 应用系统对外提供服务时,需要确保对外网络连接的高可用,避免单个网络连接中断而导致业务不可用。 风险等级 高 关键策略 网络链路冗余:网络连接需要支持多路径,以实现高可用能力,以避免在一条网络路径中断的情况下,业务能切换到其他路径继续通信。 网络链路快速倒换:需要定期检查网络链路的连通性,但检测到失败时需要尽快切换到正常路径。 公有云组网场景可通过多EIP 弹性IP及DNS 域名 解析实现网络连接的高可用;对可用性要求较高的场景,需要支持智能DNS功能,能对EIP进行异常监控和自动切换;此外DNS自身也需要冗余容错,避免由于DNS故障而导致域名解析失败,业务中断。 混合云组网场景链路冗余与倒换方案: 双DC专线冗余:用户数据中心与华为云VPC之间采用两条DC专线互通;其中两条物理专线接入同区域的两个华为云专线接入点,并通过BGP路由协议接入同一个VPC,用户可设置虚拟接口的优先级以决定业务的主备链路。具体的方案参见“用户通过双专线双接入点BGP协议访问VPC”。 双VPN冗余:用户数据中心与华为云VPC之间采用两条VPN连接保证可靠性;当其中一条VPN链接故障时,系统可以切换到另一条VPN连接,保证网络不中断。两条VPN连接可以是双活或主备部署。具体的方案参见“通过VPN实现云上云下网络互通(双活模式)”与“通过VPN实现云上云下网络互通(主备模式)”。 DC专线/VPN主备:用户数据中心与华为云VPC之间同时部署DC专线和VPN两条网络链路,互为主备,并通过企业路由器,可以实现DC和VPN主备链路的自动切换,不需要手工切换双联路,不仅避免业务受损,同时降低维护成本。具体的方案参见“通过企业路由器构建DC/VPN双联路主备混合云组网”。 相关云服务和工具 云专线 DC 虚拟专用网络 VPN 父主题: RES05 网络高可用
  • 电商类应用典型部署架构(99.99%) 电子商务类应用用于外部客户,需要提供较高的可用性,并能承受组件故障,其可用性目标通常要求达到99.99%,即每年故障时间可以为52.56分钟。 假定故障中断与变更中断的时长分别如下: 故障中断:假定每年故障中断3次,每次应急恢复决策时长为10分钟,恢复处理时长为5分钟,则每年故障中断时长为45分钟。 变更中断:假定应用支持金丝雀部署或蓝绿部署,并自动完成,软件更新不中断业务。 按照以上评估,每年应用系统不可用的时长是45分钟,满足可用设计目标要求。 电子商务类应用典型架构为前端无状态应用层+后端数据库,其中前端无状态应用可采用ECS或CCE;后端数据库基于不同业务类型可采用不同数据库,通常采用RDS for MySQL;同时通常还会使用DCS、Kafka等中间件及DDS文档数据库;为满足对应的可用性目标,建议采用以下方案。 单Region方案 双Region方案 父主题: 参考架构
  • 选择合适的计算资源 评估计算要求涉及评估工作负载的特定计算需求,包括实例类型、可伸缩性和容器化等因素。不同的计算服务具有不同的功能和特征,可能会影响工作负载的性能。选择最佳计算服务以确保工作负载高效运行。请考虑以下策略: 了解实例类型 不同的实例类型针对不同的工作负载进行优化,例如CPU优化、内存优化和GPU优化,选择符合需求的实例类型。 考虑自动缩放 如果工作负载的需求不定,请考虑具有自动缩放功能的计算服务,该功能可根据需求自动调整计算容量。自动缩放有助于确保在高峰期拥有足够的资源,并防止在低需求时段过度预配。 考虑容器化 与非容器化工作负载相比,容器具有性能优势。如果适合体系结构需求,请考虑使用容器化。容器可以通过隔离、资源效率、快速启动时间和可移植性来提高计算性能。 使用容器时,请考虑设计因素,例如将所有应用程序组件容器化。将基于Linux的容器运行时用于轻型映像。为容器提供较短的生命周期,使其不可变且可替换。从容器、容器主机和基础群集收集相关日志和指标。使用此数据监视和分析性能。容器只是整体体系结构的一个组件。选择适当的容器业务流程协调程序(如Kubernetes),以进一步增强性能和可伸缩性。 PERF03-01 选择合适类型的计算云服务 PERF03-02 选择合适规格的虚拟机和容器节点 PERF03-03 使用弹性伸缩 父主题: PERF03 性能建模
  • SEC05-05 证书安全管理 证书的常见用途包括传输数据的加密和系统间的身份认证场景。集中管理每个证书的用途、有效期等信息,并及时对证书替换。 风险等级 中 关键策略 集中管理证书: 建立中心化的证书管理系统,用于存储、跟踪和管理所有证书。 确保每个证书都有清晰的标识,包括用途、所有者、有效期等信息。 有效期管理: 定期检视证书的有效期,并确保及时对即将到期的证书进行更新或替换。 避免使用过期证书,以防止安全漏洞和服务中断。 安全存储: 将证书存储在安全的位置,只允许授权人员访问。 对私钥进行额外保护,如使用硬件安全模块(HSM)来存储私钥。 加密传输: 在证书的传输过程中使用加密通道,如SSL/TLS,以防止证书被篡改或窃取。 避免在不安全的网络中传输证书,确保传输的安全性。 相关云服务和工具 云证书管理服务 CCM:CCM提供SSL证书的申请、签发、查询、吊销等一站式管理服务。 父主题: SEC05 运行环境安全
  • SEC07-03 对数据操作实施监控 根据数据的分级分类,应对数据的修改、批量操作等行为实施限制措施或建立监控机制。 风险等级 高 关键策略 对数据的修改、批量操作等行为实施限制措施或建立监控机制。 使用数据库安全服务DBSS对数据库行为进行审计。数据库安全审计提供旁路模式审计功能,通过实时记录用户访问数据库行为,形成细粒度的审计报告,对风险行为和攻击行为进行实时告警,对数据库的内部违规和不正当操作进行定位追责,保障数据资产安全。 启用数据库安全审计告警。通过设置告警通知,当数据库发生设置的告警事件时,用户可以收到 DBSS 发送的告警通知,及时了解数据库的安全风险。 使用 云堡垒机 服务CBH识别并拦截数据库高危命令。CBH提供数据库控制策略功能,用户可设置预置命令执行策略,动态识别并拦截高危命令(包括删库、修改关键信息、查看敏感信息等),中断数据库运维会话。同时自动生成数据库授权工单,发送给管理员进行二次审批授权。 相关云服务和工具 数据库安全服务 DBSS 云 堡垒机 CBH 父主题: SEC07 通用数据安全
  • SEC08-06 向第三方披露个人数据合规性 在将个人数据分享、转移或提供给第三方时,数据控制者必须遵守相关的法律法规和隐私保护准则,以确保数据转移活动符合法律规定并尊重数据主体的权利。 风险等级 高 关键策略 产品需评估是否存在将个人数据推送给第三方应用。评估是否存在高度敏感的用户数据在未获得用户明示同意便推送。同时应该对齐第三方应用,是否对共享的数据设置了合理的保护机制。 用户个人数据转移给第三方前须经过用户同意,符合合法性原则。 转移的目的和范围不能超出收集时所声明的目的和范围。 必须保证个人数据的准确性、完整性和最新状态,保证在任何阶段和环节不能随意篡改、删除、滥用个人数据。 输出者必须获得接收者的明确承诺,保证个人数据的完整性、准确性和安全性,防止滥用及不正当披露。 高影响个人数据(包括口令,银行帐号,批量个人数据等)的传输须采用安全传输通道或者加密后传输。 如涉及数据的跨境传输,需遵从当地的法律法规。 父主题: SEC08 数据隐私保护
  • OPS03-01 推行开发者测试 风险等级 高 关键策略 开发者测试是现代软件工程中非常重要的一环,一般而言,开发者的测试代码可以在本地,或者构建阶段反复多次执行,依赖低,也是在软件系统运维之前成本最低的发现软件问题的方式,尤其是各种异常场景或者用户输入,开发者测试的过程实际上“强制”了开发者去思考线上业务可能出现的场景,从而有利于减轻后续运维阶段系统的负担。 此外,云上的软件是不断演进和重构的,很多时候我们不敢修改已有系统代码的原因,就是不知道它的影响范围,担心产生某种程度上的蝴蝶效应,影响了其它模块而造成线上系统的问题,有了开发者测试之后,只要在改完代码后运行一下测试就知道改动对整个系统的影响了,从而可以让我们放心的重构和演进代码。 同时,应该有一个适用于您软件的开发者测试标准,如代码覆盖率和分支覆盖率。 父主题: OPS03 完备的测试验证体系
  • COST01-04 指定云资源管理策略和相应的权限管理机制 风险等级 高 关键策略 由于成本优化是跨组织多个业务部门的事项,而云资源是云上成本的主要开销,故而应该制定策略,确定您的组织应该如何管理资源。如上文所说的,可以使用账号隔离不同组织/部门的资源,甚至于在同一个组织/部门内部,开发,测试,核心业务,非核心业务,也使用不同的账号和环境。 然而即使账号/环境是分散的,云资源管理策略和权限管理机制应该是集中的。 企业的中心团队,如上文所提的云业务办公室、云卓越中心或 FinOps 团队需要为各个账号环境实施与策略一致的组和角色,控制每个组中谁可以创建、修改或停用实例和资源。同时依据企业的业务环境,创建统一的资源/成本视图,统一管理企业的账单和成本。 相关服务和工具 客户可通过统一身份认证服务IAM的细粒度权限管理,精细化控制账号下用户的资源访问权限,实施最小授权。 对于多账号场景,客户可通过Organization的服务控制策略(Service Control Policy),集中控制每个账号可执行的操作。 父主题: COST01 规划成本优化相应的组织机构和流程
  • COST03-03 公共成本分配 风险等级 中 关键策略 跨团队共享使用的CDN、直播带宽应按照各业务团队的实际带宽占比,将带宽费用拆分到不同的业务团队。 跨团队共享使用的CCE集群服务,应按照各团队分配和使用的CPU/内存等比例,将容器集群成本(包含CCE、ECS、EVS等服务成本)拆分到各个业务团队。 以上公共成本,以及其他共享资源&平台服务&服务支持&未及时标记产生的未分配成本,也可以按照一定的比例规则,比如平均分配、按消费比例分配、按约定比例分配等规则,拆分到各个业务部门,从而满足各团队或业务部门公平分配公共成本的需求 相关服务和工具 华为云成本中心的成本单元提供按比例的公共成本分拆方式。 华为云成本中心提供共同成本分拆,支持CDN、Live按照域名流量进行成本分拆。 华为云CCE服务提供细化的按照Pod Level的成本分拆,并可以卷积到Workload,Service等各种标准K8S模型层级。 父主题: COST03 对成本进行分配
  • 责任共担模型 基于华为在安全、合规、隐私及数据保护领域积累多年的技术和治理能力,华为云为您提供安全、可靠、可信赖的基础设施和服务。华为云提出“七层防线+一个中心”的网络安全建设框架,通过多重、多方面的安全防线来成体系保障云上业务的安全性。 华为云把安全合规作为首要任务,安全是华为云和您之间的共同责任。在云服务模式下,华为云与客户共同承担云环境的安全保护责任,为明确双方的责任,确定责任边界,华为云制定了责任共担模型。华为云负责云的安全性,华为云客户负责云上的安全性。 详细内容见:华为云责任共担模型 父主题: 概述
  • RES07-01 定义关键指标与阈值并监控 对资源进行监控时,需要先定义资源的关键指标以及对应的阈值,以便快速有效的发现业务表现和系统状态,以便在异常状态下尽早干预恢复,或定位改进系统缺陷。 风险等级 中 关键策略 关键指标需要与系统内工作负载的关键性能指标相关,并能确定为系统性能下降的早期警告信号,如系统处理的API数量及成功率,相比CPU利用率、内存利用率等基础指标,能更真实的指示系统性能问题。 从可用性保证出发,结合有效性和简化,建议应用系统至少从业务状态、服务状态、资源状态三个层面进行监控。根据业务规模,可以使用 CES 服务(侧重在I层服务)或 AOM / APM 服务(侧重在P层业务),也可以借助Prometheus、Zabbix、Zipkin等部件自行搭建,使用Grafana等部件进行界面展示和时序对齐。 1、业务监控 以下4个黄金指标,是针对大量分布式监控的经验总结,可以作为业务监控的参考,包括: 延迟:注意需要区分请求成功的延迟和请求失败的延迟。 流量:对系统业务负荷的监控。 错误率:注意区分显示失败(如HTTP 500错误)和隐式失败(如HTTP 200中包含了错误内容)。 饱和度:侧重在对系统中最为受限的瓶颈资源的监控。 对于基于Java的应用系统,华为云用户可使用APM服务实现基于调用链的业务延迟和错误率监控。函数服务FunctionGraph、 微服务引擎CSE 提供了流量、延迟和错误率监控能力。基于API网关暴露接口的应用,可使用APIG服务提供的流量、延迟和错误率监控能力。如果云服务现有能力不能满足系统要求,用户也可以自行埋点或基于Zipkin开源框架实现调用链跟踪、延迟和流量监控。 2、服务监控 由于服务实例的冗余配置和应用系统的容错保护,业务指标正常并不意味着服务实例状态一定正常。例如,在配置了ELB的虚拟机集群中,ELB会主动隔离异常节点,虽然业务会在正常节点上分担,但应用系统实际已损失了部分处理容量。因此,云服务状态监控必不可少。 云服务具体指标因功能特性而异。站在功能提供者的层面,通常同样需要重点关注延迟、流量、错误率、利用率等指标。此外,服务实例的动态伸缩、过负荷控制、故障自愈或迁移等可靠性关键事件也是服务健壮性的表征,如有异常需要预先干预。关键事件监控可以使用 CTS 服务,或自行搭建。 CES服务支持ECS、EVS、OBS、VPC、ELB、AS等IaaS服务,以及RDS数据库,DCS、DMS等高可用中间件的主要指标监控,支持用户上报自定义监控指标。如果用户自行搭建监控系统,也可以通过CES SDK获取指定服务的监控指标。 AOM服务提供了微服务应用和节点的关键指标监控能力。云容器工作负载关键指标在CSE服务中查看。函数服务关键指标在FunctionGraph控制台中查看。 3、资源监控 资源监控通常用于识别资源瓶颈分析系统性能问题。对应用系统资源进行监控时,需要先定义资源的关键指标以及对应的阈值,以便快速有效的发现业务表现和系统状态,以便在异常状态下尽早干预恢复,或定位改进系统缺陷。 关键指标需要与系统内工作负载的关键性能指标相关,并能确定为系统性能下降的早期警告信号,如系统处理的API数量及成功率,相比CPU利用率、内存利用率等基础指标,能更真实的指示系统性能问题。 常用USE方法(Utilization Saturation and Errors Method)对资源监控,包含: 使用率Utilization:覆盖系统资源,包括但不限于CPU、内存、网络、磁盘等。 饱和度Saturation:针对资源的饱和度,如CPU队列长度,注意与业务监控的黄金指标相区分。 错误Errors:资源处理错误,如网络丢包率等。 CES主动监控提供了虚机细粒度的监控能力,其他服务监控指标也不同程度涉及到资源使用率和错误监控。如果云服务现有能力不能满足系统要求,用户可使用CES或AOM服务的自定义指标监控能力。用户若自行搭建监控系统,需要覆盖主机资源、网络设备和Apache、Java、MySQL等第三方组件,开源的Zabbix是常见选择。 相关云服务和工具 云监控服务 CES 应用运维管理 AOM 应用性能管理 APM 父主题: RES07 监控告警
  • 什么是应用韧性 应用韧性是应用系统在运行过程中面对各种异常场景,如基础设施故障(如数据库异常)、外部攻击(如网络DDoS攻击超出预定限额流量)、外部依赖故障(如依赖系统访问超时或不可用)、地域灾难(如大面积停电、洪水)等,仍能提供和维持可接受的服务水平的能力,对系统至关重要。 系统韧性设计主要涉及以下两个方面: 确保系统具有高可用的架构,如无单点故障 各种故障场景下的恢复能力,如数据丢失、设备或站点故障等场景均能恢复 相对于传统数据中心,华为云可以提供具备高可用、弹性伸缩、自动备份、跨AZ容灾、跨Region容灾等高可用能力的基础设施与云服务,便于客户构建高可靠的系统。例如: EVS云硬盘、OBS对象存储采用分布式存储,可避免单个硬盘、单个服务器或单个机架等硬件故障的影响。 RDS数据库提供自动数据备份、跨AZ和跨Region的数据复制与切换。 不过,即使应用系统利用云平台能力具有了这些高可用能力,要实现较高的可用性,仍需要构建针对各种偶发故障下的恢复能力,如: 由于硬件故障导致的高可用切换或跨AZ切换过程中,导致瞬时链接中断,需要应用系统具备链接中断重试的功能。 由于外部流量突发导致业务过载,需要应用系统具备流量控制的能力。 部分强依赖于硬件的负载,如依赖本地硬盘、GPU等,由于硬件故障导致服务中断,需要应用系统自身构建高可用的能力。 不同的应用系统,可用性要求可能不同,采用的韧性恢复方案会有差异。 父主题: 基本概念
  • RES05-04 预留IP资源以便扩展及高可用 云上网络需要满足可扩展以及高可用需求,以便在云上资源弹性伸缩或业务扩展时,有足够网络资源支撑业务发展。 风险等级 高 关键策略 云上网络规划设计应满足以下原则: 针对每个Region,根据业务需要规划不同的VPC,每个VPC使用独立的地址空间;并需要预留IP地址空间用于新建VPC。 针对每个VPC中,需要根据业务需要规划子网和IP地址空间;并需要预留IP地址空间用于新建子网。 针对每个子网,需要预留IP地址空间用于网络扩容。 当涉及与其他网络(如VPC、IDC或其他云)互连时,需要确保IP地址空间不重叠。 父主题: RES05 网络高可用
  • RES13-05 资源自动扩容考虑了配额限制 当应用系统在资源不足自动扩容时,需要考虑配额的限制,若配额不足,会导致自动扩容失败。 风险等级 高 关键策略 华为云为防止资源滥用,限定了各服务资源的配额,对用户的资源数量和容量做了限制。如您最多可以创建多少台弹性云服务器、多少块云硬盘。在动态使用云服务资源时,需要了解云服务的限制,避免由于超过云服务配额限制而导致业务故障。当配置自动扩容时,需要确保自动扩容到最大时的规则不超过配额限制。 在系统中也可配置资源使用超过一定限额后进行预警,避免配额超过限制后导致业务受影响。 相关云服务和工具 使用华为云“我的配额”,可以查询每个云服务不同资源类型的总配额限制和已用配额,可根据业务的需要申请扩大对应云服务指定资源的配额,也可配置配额预警,以便在配额达到预警阈值时可收到告警通知,以便提前申请提升配额。 当应用系统中涉及到资源的弹性伸缩时,尤其需要关注弹性伸缩的配置是否会被限制,比如AS弹性伸缩服务中可以配置能创建的最大实例数量,而在过载情况下是否能真的创建出那么多实例,会依赖于ECS弹性云服务器配额、EVS云硬盘配额,当需要弹性公网IP时涉及弹性公网IP配额等,当配额不足时会导致无法创建工作负载进行业务分担,而业务受损。 父主题: RES13 过载保护
  • OPS07-01 创建可操作的告警 风险等级 高 关键策略 收到告警时,一般需要做出响应,消除无须响应的告警。 比如磁盘IO 量瞬间飙升,CPU 使用率瞬间飙高,这类告警无需做出响应,对业务而言,意义就不大了。 遵循可操作性原则能避免很多误报。并且要定期统计和分析告警频率,识别高频告警,解决告警问题,清除明确的告警误报。 设计建议 优化告警阈值:适当提高 内存/CPU/网络 IO 告警阈值。 优化日志级别:优化不合理的日志级别,把部分 ERROR 级别的日志调整为 WARNING。 屏蔽某些日志:对难以调整日志级别的应用,根据关键字屏蔽某些频繁的日志告警。 预警增强:对于某些影响业务方的操作,提供预警。 增强紧急预警:有些硬件故障会出现反应在 /var/log/messages 中,根据关键字匹配硬件类告警,以便及时处理。 相关云服务和工具 应用运维管理 AOM 云运维中心 COC 云监控 服务 CES 父主题: OPS07 进行故障分析和管理
  • RES13-01 采用自动弹性扩缩容 当系统突发流量时,通过自动弹性扩容,可减少业务中断影响。 风险等级 高 关键策略 弹性扩缩容需要通过业务处理逻辑与数据分离、状态外置等技术手段支撑系统处理能力的快速增加或减少。 系统扩容和缩容的处理方式有两种,一种是改变单机的处理能力,包括CPU、内存、存储等,称之为纵向伸缩;另一种是单机节点处理能力不变,通过增加节点的数量来改变系统的处理能力,称之为横向伸缩。 系统设计时一般建议采用横向伸缩。采用横向伸缩时,要求业务与数据解耦,即将系统的业务处理逻辑与数据分离、数据(状态)外置,以实现业务节点(含资源)无状态,按需快速增加或减少,从而实现系统业务处理能力的伸缩。 当节点故障或资源不足时,系统需要自动检测和扩展节点,以实现自动横向扩缩容,自动增加资源容量,解决业务处理能力不足的问题,无需人工干预。 华为云提供AS弹性伸缩服务,可以根据伸缩组内的负载情况,及伸缩规则,自动调整ECS实例、带宽等资源。当业务需求增长时,AS自动增加弹性云服务器(ECS)实例或带宽资源,以保证业务能力;当业务需求下降时,AS自动缩减弹性云服务器(ECS)实例或带宽资源,以节约成本。 此外,华为云还提供了一些内嵌伸缩能力的云服务,对用户无感知或仅需简单配置: OBS、SFS、FunctionGraph等服务会根据请求量自动扩展业务处理能力,用户无感知。 RDS服务最多支持5个只读副本,可在线扩展只读负载;一键规格变更实现CPU、内存扩容/缩容;在线存储容量扩容。 CCE服务支持配置自动扩容集群节点和工作负载,伸缩策略支持告警(按CPU或内存使用率触发)、定时、周期多种方式。 相关云服务和工具 弹性伸缩 AS 云容器引擎 CCE 云数据库 RDS 对象存储服务 OBS 弹性文件服务 SFS 函数工作流 FunctionGraph 父主题: RES13 过载保护
  • OPS02-02 关联源代码版本和部署的应用版本,使用代码质量最佳实践 风险等级 高 关键策略 在代码开发阶段,需要开展代码协作设计和管理。使用现代化的代码仓管理代码,确保代码合并后,代码将保持一致,并且不会丢失任何更改。通过正确的版本控制,同时,现代化的代码仓可以方便设置代码版本,关联源代码版本和部署的应用版本,在运维阶段,一旦部署在云上的应用发生任何问题,可以方便回溯到源代码,而且方便使用上一版本的源代码回滚到上一版本的应用。 其次,在软件开发生命周期内,推动开发人员采用代码质量最佳实践,例如,使用代码审查或结对编程等最佳实践来提高代码质量,确保每行代码在合入代码仓时,都有两个以上的工程师审查过,同时,通过设置代码合入策略进行代码控制,确保代码审查规范的执行。最后,建议通过自动化代码检查策略进行代码问题检查。 相关云服务和工具 华为云CodeArts Check服务 华为云CodeArts Artifact服务 华为云CodeArts Repo服务 父主题: OPS02 通过CI/CD实现高效的频繁可逆的小规模变更
  • SEC07-02 数据保护控制 针对数据分级分类结果,对每一类数据进行不同级别的数据保护控制,保护数据的机密性和完整性。 风险等级 高 关键策略 实施适当的数据保护措施,如加密和身份验证。 管理数据访问权限。了解谁可以访问、修改和删除数据,有助于限制数据访问权限,减少数据泄露风险。验证只有获得授权的用户按照“最小化权限”原则访问数据,确保只有经授权的用户才能执行相关操作。 在共享或公开数据之前,对敏感数据进行脱敏处理,防止敏感信息泄露。 数据完整性保护。通过定期备份和版本控制来保护您的数据,防止数据被篡改或删除。将关键数据与其他数据隔离,以保护其机密性和数据完整性。 确保存储了重要业务数据、敏感数据的OBS桶,配置为非公开可读,防止数据被非法访问。 制定风险管理计划:了解数据被意外披露、更改或删除可能会带来的业务影响,有助于制定相应的风险管理计划。 相关云服务和工具 数据库安全服务 DBSS 数据加密 服务 DEW 父主题: SEC07 通用数据安全
  • PERF06-01 分层看护 风险等级 高 关键策略 基于业务的部署架构,一般可以从最底层的硬件基础设施到最上层的应用分成5层资源,云上服务可以只需要关注虚拟网络、实例、应用三层。结合每一层资源的特征指标进行分层建模,分别设置不同梯度的性能看护指标。通常按照指标劣化程度可以设计成一般、紧急、重要三个梯度,对应每个梯度的指标配套对应的处理措施。对于敏感度或业务重要度的应用架构,可以新增一个提示级别的梯度。 相关云服务和工具: 云监控服务 CES 应用运维管理 AOM 应用性能管理 APM 父主题: 性能看护
共100000条