云服务器内容精选

  • 人工智能性能优化 1.训练优化模型性能提升实践 参数调优策略:调整模型flash attention、并行切分策略、micro batch size、重计算策略等参数。 尽可能充分利用显存和算力,通过参数调优,初步优化性能。 性能拆解 参数调优后性能仍然与转商目标有较大的差距,需要考虑进行profiling,采集性能数据后从更底层的算子、通信、调度和内存等维度将性能进行拆解分析,训练脚本中加入profiling代码。具体步骤:生成profiling数据目录结构;利用att工具,将NPU与竞品之间的数据进行端到端耗时对比分析;Tracing分析。 算子分析 通过生成profiling中的summary文件对具体的算子进行分析,考虑算子层面向FA与MM算子方向优化。 2.路由规划加速最佳实践 ranktable路由规划是一种用于分布式并行训练中的通信优化能力,在使用NPU的场景下,支持对节点之间的通信路径根据交换机实际topo做网络路由亲和规划,进而提升节点之间的通信速度。本案例介绍如何在ModelArts Lite场景下使用ranktable路由规划完成Pytorch NPU分布式训练任务,训练任务默认使用Volcano job形式下发到Lite资源池集群。详细步骤可参考最佳实践文档。 训练显存优化实践 pytorch的内存池基本管理策略 pytorch的内存池以block为粒度来进行管理,block池分为小内存池与大内存池,block是pytorch向device驱动申请内存的粒度,整存整取。用户/Pytorch代码向内存池申请内存的接口归一为tensor的申请释放(这点最开始也不是很好理解,也就是说:任何一个pytorch代码申请内存的地方,均表现为一个tensor的申请释放)。 tensor的生命周期使用类似智能指针的引用计数方式来管理,且打通了Python与C++的通道,即:一个Python的tensor对象关联一个C++的tensor对象,Python的tensor对象的消失会触发C++的tensor对象析构释放内存。一个在C++环境里创建的tensor对象可以返回成一个Python的tensor对象。 C++的tensor对象分为两部分:一部分是viewTensor,包含tensor的各种meta信息:shape, stride, dataType等,一部分是storageTensor,包含具体的内存addr,offset,对外呈现的是viewTensor,这是pytorch做view类操作后,多个tensor对应同一块内存的基本支撑。在storageTensor申请时,向pytorch的block池申请一块内存,找到空闲块之后,视实际要求对block进行切分使用并返回address指针。 pytorch的内存的跨流复用策略 如果一个stream上的内存池里申请的tensor需要给另一个stream使用,那么则需要进行recordStream操作,将这个tensor的所属block标识上新stream的信息,在这个tensor的生命周期消失触发address释放时,发现其所属block有其他stream信息,此时会给对应stream下发一个event_record task然后返回。 在之后本stream在每一次新申请内存时,均做一下event_query操作,如果发现event已经被record则其他stream上的task已经执行完成,此时可以放心地回收这个block。 Pytorch的内存统计信息说明 pytorch的内存一般看三个峰值信息:allocated / active / reserved。allocated对应host上的tensor实际申请了但是没释放的内存(注意:是在host上申请释放,不代表device状态)。active对应host上还未释放的内存+还在被别的流占用的内存。 举例,一个tensor在streamA上申请了,让供streamB做allreduce的集合通信操作,然后tensor进过一次add后被释放,此时:释放会减去allocated值,但是不会减去active 值,直至这个allreduce真实执行之后,通过query_event查询到结果之后触发释放,才会减去active值。 reserved对应pytorch向device申请了的内存,比如申请了100M,然后释放了,然后又申请了20M,还未释放,此时的allocated 为20M,reserved为100M。真实网络里,reserved里存在大量block被切小了的可使用内存但是当申请一个大块内存时又无法复用,这种会导致reserved 与 allocated 的较大差值,通常称为内存碎片。 pytorch的内存碎片影响因素 一个step里更多的内存申请释放内存次数理论上一定会导致更多的内存碎片,为什么说是一个step呢?因为pytorch内存池只取决于host上的训练脚本逻辑,而每个step的训练脚本逻辑是相同的,所以一般第一个step之后内存状态可以稳定下来。 不同生命周期的tensor交替地申请释放,因为pytorch向驱动申请是整存整取,所以:一个常规的优秀做法是把长生命周期放在最开始申请,这样不易形成碎片。而workspace内存由于可以绝对意义上地串行复用,因此对此单独做一个定制的内存池策略可以减少对内存碎片影响,在NPU上常见的非连续转连续操作,就是一个相对GPU来说较多的内存申请。 显存优化策略 由于大模型的参数成倍数的增长,远超出了单GPU物理显存所能承载的范围,大模型训练必然需要进行显存优化。显存优化要么是优化算法本身,降低模型算法的显存消耗;要么是去扩大显存,通过一些置换方式获得“额外“空间,由于显存物理大小一定,我们获得额外空间的方式不外乎两种:时间换空间和空间转移。其中,时间换空间通常会消耗算力、带宽;空间转移主要是消耗I/O带宽,有一定的时延,可能会降低吞吐。 观测性能指标 指标ID 指标名称 指标说明 cpu_usage CPU使用率 该指标用于统计ModelArts用户服务的CPU使用率。 mem_usage 内存使用率 该指标用于统计ModelArts用户服务的内存使用率。 gpu_util GPU使用率 该指标用于统计ModelArts用户服务的GPU使用情况。 gpu_mem_usage GPU显存使用率 该指标用于统计ModelArts用户服务的GPU显存使用情况。 npu_util NPU使用率 该指标用于统计ModelArts用户服务的NPU使用情况。 npu_mem_usage NPU显存使用率 该指标用于统计ModelArts用户服务的NPU显存使用情况。 disk_read_rate 磁盘读取速率 统计ModelArts用户服务的磁盘读取速率。 disk_write_rate 磁盘写入速率 统计ModelArts用户服务的磁盘写入速率。 全量指标可参考ModelArts支持的监控指标文档。 父主题: 云服务性能优化介绍
  • SEC06-04 应用安全配置 对应用运行时的各项配置进行加固,以避免因安全配置错误而产生的安全漏洞和风险。 风险等级 高 关键策略 根据安全配置规范,对您工作负载中的应用,如Nginx、Tomcat、Apache、Jetty、JBoss、PHP、Redis等完成安全配置加固和Web攻击防护。 系统越权,例如系统是否存在capability提权、suid文件提权、定时任务提权、sudo文件配置提权等系统提权问题。 服务运行用户,例如服务运行的用户是否为最低权限用户,禁止使用root用户运行服务。 Web攻击,例如Web应用是否存在SQL注入、XSS跨站脚本、文件包含、目录遍历、敏感文件访问、命令、代码注入、网页木马上传、第三方漏洞攻击等常见Web威胁问题。 相关云服务和工具 企业主机安全 HSS Web应用防火墙 WAF 父主题: SEC06 应用安全性
  • 安全性云服务介绍 安全治理 统一身份认证 服务 IAM :提供权限管理、访问控制和身份认证的基础服务,安全地控制华为云服务和资源的访问权限。 组织 Organizations:为企业用户提供多账号关系的管理能力。用户可以将多个华为云账号整合到创建的组织中,并可以在组织中设置治理策略。 应用身份管理 服务 OneAccess :为云提供的应用身份管理服务,具备集中式的身份管理、认证和授权能力,保证企业用户根据权限访问受信任的云端和本地应用系统,并对异常访问行为进行有效防范。 资源治理中心 RGC:提供搭建安全、可扩展的多账号环境并持续治理的能力。 资源访问管理 RAM :为用户提供安全的跨帐号共享资源的能力。您可以创建一次资源,并使用RAM服务将该资源共享给指定对象(包括组织、组织单元以及帐号) IAM 身份中心:为客户提供基于华为云组织(Organizations)的多帐号统一身份管理与访问控制。可以统一管理企业中使用华为云的用户,一次性配置企业的身份管理系统与华为云的单点登录,以及所有用户对组织下帐号的访问权限。 网络安全 云防火墙 CFW:新一代的云原生防火墙服务,弹性灵活降低部署成本,智能极简助力高效运维。 DDoS防护 AAD:华为云DDoS防护提供全球化服务,以应对DDoS攻击挑战,可提供毫秒级攻击响应、多维度行为分析及机器学习、防御策略自动调优,精确识别各种复杂DDoS攻击,以保护您的业务连续性。 威胁检测 Web应用防火墙 WAF:保护网站等Web应用程序免受常见Web攻击,保障业务持续稳定运行,满足合规和监管要求。 配置审计 Config:为用户提供全局资源配置的检索,配置历史追溯,以及基于资源配置的持续的审计评估能力,确保云上资源配置变更符合客户预期。 企业主机安全 HSS:帮助客户方便地管理主机、容器的安全风险,实时发现勒索、挖矿、渗透、逃逸等入侵行为,是等保合规、护网、重保必备服务。 漏洞管理服务 CodeArts Inspector:面向软件研发和服务运维提供的一站式漏洞管理能力,通过实时持续评估系统和应用等资产,内置风险量化管理和在线风险分析处置能力,帮助组织快速感知和响应漏洞,并及时有效地完成漏洞修复工作,更好地应对潜在的安全威胁。 数据安全 数据安全中心 DSC:新一代的云原生数据安全平台,提供数据分类分级,敏感数据扫描,数据安全体检,数据水印溯源,数据脱敏等基础数据安全能力。通过数据安全资产地图整合数据安全生命周期各阶段状态,对外整体呈现云上数据安全态势。 数据加密 服务 DEW:提供密钥管理、凭据管理、密钥对管理、专属加密功能,安全可靠为用户解决数据安全、密钥安全、密钥管理复杂等问题。 云证书管理服务 CCM:为云上海量证书颁发和全生命周期管理的服务。目前它可以提供SSL证书管理和私有证书管理服务。 数据库安全服务 DBSS:基于机器学习机制和大数据分析技术,提供数据库审计,SQL注入攻击检测,风险操作识别等功能,保障云上数据库的安全。 合规与隐私保护 合规中心:为您提供全方位的合规遵从性指导和资源 云审计 服务 CTS :提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景 配置审计 Config:为用户提供全局资源配置的检索,配置历史追溯,以及基于资源配置的持续的审计评估能力,确保云上资源配置变更符合客户预期。 安全运营 安全云脑 SecMaster:华为云原生的新一代安全运营中心,集成华为云多年安全经验,基于云原生安全,提供云上资产管理、安全态势管理、安全信息和事件管理、安全编排与自动响应等能力,可以鸟瞰整个云上安全,精简 云安全 配置、云防护策略的设置与维护,提前预防风险,同时,可以让威胁检测和响应更智能、更快速,帮助您实现一体化、自动化安全运营管理,满足您的安全需求。 威胁检测服务 MTD 威胁检测服务 持续发现恶意活动和未经授权的行为,从而保护账户和工作负载。该服务通过集成AI智能引擎、威胁黑白名单、规则基线等检测模型,识别各类云服务日志中的潜在威胁并输出分析结果,从而提升用户告警、事件检测准确性,提升运维运营效率,同时满足等保合规。 父主题: 安全性支柱
  • 数据库性能优化 以下章节我们结合一些具体建议和案例来说明如何针对数据库的使用进行性能优化: 1.优化数据库配置实践 数据库的配置参数应从具体业务诉求着手,根据实际需要进行设计;华为云在各个数据库云服务中均提供了默认的配置参数,以满足最普遍的业务需要。 华为云提供了多款数据库服务,不同服务的优化方式和注意事项均有差异,此方面需求,建议使用华为云提供的专业服务。 2.观测性能指标实践 性能监控有助于实时了解业务和系统的负载情况以及资源使用情况,结合告警规则的设置,云服务可自动对负载异常部分进行告警,以便更好地使用和维护云数据库系统。以GeminiDB 为例,您可以通过管理控制台,直观地查看GeminiDB Redis的各项监控指标。 3.设置数据分区实践 GaussDB数据库 支持的分区表为范围分区表,列表分区表,哈希分区表。分区表和普通表相比具有如改善查询性能、增强可用性、便于维护、均衡I/O等优势。 普通表若要转成分区表,需要新建分区表,然后把普通表中的数据导入到新建的分区表中。因此在初始设计表时,请根据业务提前规划是否使用分区表。 4. GaussDB SQL语句调优实践 根据数据库的SQL执行机制以及大量的实践,总结发现:通过一定的规则调整SQL语句,在保证结果正确的基础上,能够提高SQL执行效率。如果遵守这些规则,能够大幅度提升业务查询效率,如使用union all代替union、join列增加非空过滤条件、not in转not exists等都可以提升查询速度。 5.GaussDB语句下推调优实践 目前,GaussDB优化器在分布式框架下制定语句的执行策略时,有三种执行计划方式:生成下推语句计划、生成分布式执行计划、生成发送语句的分布式执行计划。在第3种策略中,要将大量中间结果从DN发送到CN,并且要在CN运行不能下推的部分语句,会导致CN成为性能瓶颈(带宽、存储、计算等)。在进行性能调优的时候,应尽量避免只能选择第3种策略的查询语句。 执行语句不能下推是因为语句中含有不支持下推的函数或者不支持下推的语法。一般都可以通过等价改写规避执行计划不能下推的问题。 语句下推典型场景包含单表查询语句下推与多表查询语句下推,一些特殊场景如语句中带有with recursive子句,列存表等不支持下推。 6.GaussDB子查询调优实践 应用程序通过SQL语句来操作数据库时会使用大量的子查询,这种写法比直接对两个表做连接操作在结构上和思路上更清晰,尤其是在一些比较复杂的查询语句中,子查询有更完整、更独立的语义,会使SQL对业务逻辑的表达更清晰更容易理解。GaussDB根据子查询在SQL语句中的位置把子查询分成了子查询SubQuery、子链接SubLink两种形式。 7..GaussDB算子级调优实践 一个查询语句要经过多个算子步骤才会输出最终的结果。由于各别算子耗时过长导致整体查询性能下降的情况比较常见。这些算子是整个查询的瓶颈算子。通用的优化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看执行过程的瓶颈算子,然后进行针对性优化。 8.GaussDB(for MySQL)读写分离最佳实践 读写分离是指通过一个读写分离的连接地址实现读写请求的自动转发。创建实例后,您可以 开通读写分离 功能,通过GaussDB(for MySQL)的代理地址,写请求自动访问主节点,读请求按照读权重配比或者活跃连接数情况分发到各个节点。 开通读写分离时,需选择加入代理的节点(包括主节点和只读节点)。 9.GaussDB(for MySQL)持锁长事务导致后续业务报等锁超时的解决实践 由于持锁长事务长时间未提交或回滚导致后续操作阻塞,如果持锁长事务已经阻塞了后续的业务,需要将长事务KILL,后续业务侧尽量避免持锁长事务。 10.GaussDB(for MySQL)长事务产生大量临时表导致内存超限的解决实践 考虑升级实例规格,将内存利用率维持在合理范围,防止业务突增导致实例OOM,或根据业务实际情况优化慢查询。 11.GaussDB(for MySQL)联合索引设置不当导致慢SQL的解决实践 查询变慢首先确认是否由于CPU利用率达到性能瓶颈导致执行慢,考虑升级资源规格;或是库表结构设计不合理,索引缺失或索引设置不恰当,应进行语句调优。 12.GaussDB(for MySQL)使用INSTANT方式快速添加列 云数据库 GaussDB(for MySQL)兼容开源MySQL 8.0.22,支持使用ALGORITHM=INSTANT快速添加列,避免造成锁等待影响业务或者SQL执行超时无法新增成功。 13.DAS数据诊断优化性能问题实践 DBA智能运维功能基于运行数据结合算法对实例进行诊断,并对异常项提供具体的诊断结果以及优化建议。 14.观测性能指标(GaussDB为例) 指标ID 指标名称 指标说明 rds001_cpu_util CPU使用率 该指标用于统计测量对象的CPU使用率。 rds002_mem_util 内存使用率 该指标用于统计测量对象的内存使用率。 rds003_bytes_in 数据写入量 该指标用于统计测量对象对应VM的网络发送字节数,取时间段的平均值。 rds004_bytes_out 数据传出量 该指标用于统计测量对象对应VM的网络接受字节数,取时间段的平均值。 iops_usage IOPS使用率 当前IOPS与磁盘最大IOPS比值。 rds007_instance_disk_usage 实例数据磁盘已使用百分比 该指标用于统计测量对象的实例数据磁盘使用率,该值为实时值。 rds010_disk_usage 磁盘已使用百分比 该指标用于统计测量对象的节点数据磁盘使用率,该值为实时值。 更多指标与其他数据库指标信息可参考官方文档。 父主题: 云服务性能优化介绍
  • SEC04-02 控制网络流量的访问 控制网络流量以确保网络分区之间的流量是可预期的、允许的。依据零信任原则,需在网络级别验证所有的流量出入。确保网络设备的业务能力、网络每个部分的带宽满足业务高峰期的需要。 风险等级 高 关键策略 在设计网络拓扑时,仔细检查每个组件的连接要求,例如是否需要互联网可访问性(入站和出站)、连接到VPC的能力、边缘服务和外部数据中心等。除非资源必须接收来自公网的网络流量,否则不要将资源放置在VPC的公有子网中。 对于入站和出站流量,应采用深度防御方法。例如对入站流量进行入侵检测、防范恶意的网络攻击。对出站的流量使用NAT网关配置仅出站的单向连接。 流量过滤。使用防火墙、ACL控制内部和外部网络之间的访问流量以及内部网络中敏感区域的输入及输出流量,并对所有网络流量进行检查,阻止与已制定安全标准不相符的流量,以避免系统组件受到来自不可信网络的非授权访问。 使用应用负载均衡时,七层负载均衡更换为安全的证书。 启用VPC流量日志。VPC流日志功能可以记录虚拟私有云中的流量信息,帮助用户优化安全组和防火墙控制规则、监控网络流量、进行网络攻击分析等。关于安全日志更多见:SEC09-01 实施标准化管理日志 相关云服务和工具 VPC、VPCEP 企业路由器 ER 云连接 CC 云防火墙 CFW:提供云上互联网边界和VPC边界的防护,包括实时入侵检测与防御、全局统一访问控制、全流量分析可视化、日志审计与溯源分析等,同时支持按需弹性扩容、AI提升智能防御能力、灵活扩展满足云上业务的变化和扩张需求,极简应用让用户快速灵活应对威胁。云防火墙服务是为用户业务上云提供网络安全防护的基础服务。 WAF:保护网站等Web应用程序免受常见Web攻击,保障业务持续稳定运行,满足合规和监管要求。 AAD:华为云DDoS防护提供全球化服务,以应对DDoS攻击挑战,可提供毫秒级攻击响应、多维度行为分析及机器学习、防御策略自动调优,精确识别各种复杂DDoS攻击,以保护您的业务连续性。用Anti-DDoS流量清洗服务提升带宽利用率。Anti-DDoS为弹性公网IP提供四到七层的DDoS攻击防护和攻击实时告警通知,提升用户带宽利用率,确保用户业务稳定运行。 NAT网关:NAT网关位于互联网与云上VPC之间,通过部署NAT网关可掩盖内部网络的IP地址,降低虚拟环境遭受攻击的风险。 ELB:对流量进行负载均衡到后端多个节点。 父主题: SEC04 网络安全
  • 应用场景 云架构治理体系建设 云平台将虚拟化、数据库与中间件、大数据与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),理解并参考各支柱的云上最佳实践,以获取更专业的云架构设计知识。在构建解决方案或给客户提供专业服务的过程中,合作伙伴应用这些最佳实践,持续提升架构设计质量、持续完善工作负载。合作伙伴提交实际的客户案例并经过华为云审核通过后,可获得相应领域、场景或行业的能力标签认证。
  • 架构支柱 韧性支柱: 旨在帮助企业构建具有高可用的应用系统架构,提高工作负载的韧性,使之在面对各种异常场景时仍能提供和维持可接受的服务水平。韧性支柱结合了华为公司韧性设计经验和业界最佳实践,总结并提炼出一系列设计原则与最佳实践,用以帮助企业利用华为云平台基础设施达到高可用、面向各种故障场景进行韧性设计,并具备一定的灾备能力;同时通过规范化变更、部署及应急恢复等处理流程,减少业务中断时长,提升可用性。 安全性支柱: 旨在确保业务的安全、可信、合规,通过一系列华为云架构的最佳实践保护工作负载免受各种安全威胁,降低安全风险。安全性支柱涉及保护云上系统、资产、数据的机密性、完整性、可用性以及合法、合规使用数据,保护用户隐私的一系列最佳实践。 性能效率支柱: 聚焦于如何设计出高性能的架构。作为基本的质量属性,性能的重要性和性能失败后果的严重性是无须质疑的。性通效率支柱为性能设计、性能优化提供一些技术方法和手段,可以用于系统的软件性能工程,也可用于指导性能调整和优化。 成本优化支柱: 专注于帮助企业高效地使用云服务来构建工作负载,面向工作负载的整个生命周期不断完善和改进,减少不必要的开支并提升运营效率,让云上应用始终最具成本效益。成本优化支柱结合了华为公司云成本运营经验和业界最佳实践总结提炼出的体系化实践建议。 卓越运营支柱: 融合了这些优秀实践,聚焦如何正确地构建软件,高效地运维软件,持续提供卓越的客户体验,包含:组织团队、设计工作负载、大规模运营工作负载和随时间变化改进工作负载的最佳实践。
  • SEC01-05 实施威胁建模分析 威胁建模是一种系统性的方法,用于识别和评估可能对系统或组织造成威胁的潜在威胁源、攻击路径和攻击手段。通过识别威胁理解系统的安全风险,发现系统设计中的安全问题,制定消减措施,降低系统风险,提升系统安全性和韧性。 风险等级 高 关键策略 以下是系统运行期间的威胁模型: 该模型中涉及的概念如下: 威胁主体:有企图的利用脆弱性的实体称为威胁主体;威胁主体可以是人、程序、硬件或系统。 脆弱性:系统中允许破坏其安全性的缺陷,包括软件、硬件或过程或人为的缺陷。脆弱性的存在,说明了缺少应该使用的安全措施,或安全措施有缺陷。 威胁:利用脆弱性而带来的任何潜在危险。 风险:攻击者利用脆弱性的可能性以及相应的业务影响;风险将脆弱性、威胁和利用可能性与造成的业务影响联系在一起。 资产: 任何对组织有价值的信息或资源,是安全策略保护的对象。 处置措施:包括安全角度的消减措施和韧性角度的增强措施,能够消除脆弱性或者阻止威胁,或者降低风险的影响和保护资产。 实施威胁建模,需要有攻击者思维,像攻击者一样思考,发现潜在的暴露面/攻击目标及可用的攻击方法,从而发现系统中潜在的安全威胁、 建立相应的消减措施。 威胁建模的一般步骤如下: 确定范围:明确要进行威胁建模的云上系统范围,包括云服务、数据存储、网络架构等。 收集信息:收集关于云上系统的信息,包括系统架构图、数据流程、访问控制策略等。 识别资产:确定在云上系统中的关键资产,包括数据、应用程序、虚拟机、存储等。 识别威胁源和攻击路径:确定可能对云上系统构成威胁的威胁源和攻击路径,考虑不同攻击者可能采取的攻击手段。 评估威胁概率和影响:评估每种威胁的概率和可能造成的影响,包括数据泄露、服务中断等。 制定安全对策:根据识别的威胁,制定相应的安全对策和控制措施,包括访问控制、加密、监控等。 持续改进:定期检视和更新威胁模型,以反映新的威胁和安全风险,确保云上系统的安全性得到持续改进。 以下是OWASP总结的Web应用系统TOP10的威胁及处置措施: 相关云服务和工具 解决方案工作台 InnoStageWorkbench:使用解决方案工作台辅助进行云上架构图的可视化设计,基于架构图进行威胁分析。 父主题: SEC01 云安全治理策略
  • RES05-03 不同流量模型业务的网络共享带宽隔离 不同流量模型业务共享网络带宽享时,可能会导致流量抢占,相互影响,一个业务流量突然可能会导致其他业务不可用。 风险等级 高 关键策略 相同流量模型的业务,可共享网络带宽,带宽需要满足所有共享业务的需求 不同流量模型的业务,为了避免相互干扰,建议使用各自独立的共享带宽实例 不同特性的业务,建议使用各自独立的 域名 隔离。 父主题: RES05 网络高可用
  • RES03 跨AZ容灾 为了预防单可用区故障,可借助华为云多可用区(Availability Zone,简称AZ)能力,应用可以用较小成本来完成容灾架构部署。应用系统可设计为使用分布在多个可用区中的资源池,并利用云服务实例本身具备或应用自身支持的跨AZ数据复制与切换能力,在多个AZ之间复制数据、负载均衡和跨AZ故障切换,从而使应用系统具备应对可用区故障的能力。 RES03-01 集群跨AZ部署 RES03-02 跨AZ数据同步 RES03-03 对接容灾仲裁,支持自动切换 RES03-04 支持容灾管理 父主题: 高可用设计
  • 资源编排 服务( RFS ) 资源编排服务是完全支持业界事实标准Terraform(HCL + Provider)的新一代云服务资源终态编排引擎,在 应用编排服务 (AOS)基础上实现了生态、体验、特性的全新升级;资源编排服务基于业界开放生态HCL语法模板,实现云服务资源的自动化批量构建,帮助用户高效、安全、一致创建、管理和升级云服务资源,能有效提升资源管理效率,并降低资源管理变更带来的安全风险。 父主题: 卓越运营云服务介绍
  • RES10-03 采用Grid架构 采用Grid架构,可将应用系统内的工作负载的故障影响限制在有限Grid业务单元中。 风险等级 高 关键策略 应用系统采用多个功能相同的Grid业务单元,每个Grid业务单元具备完整业务功能,处理整个业务负载中的一个子集,不涉及与其他Grid业务单元的交互;在一个Grid业务单元发生故障时,仅影响本Grid业务单元所处理的业务,对其他Grid业务单元没有影响,从而减少爆炸半径。 应用系统典型Grid架构部署如下: 实施步骤: 确定分区键。选择分区键应考虑: 选择分区键必须考虑匹配服务的“粒度”或者考虑以最小的方式跨分区互动。对于多用户系统,可使用用户ID作为分区键;而对于资源为对象的系统,则可以使用资源ID作为分区键。 所确定的分区键,必须在所有API或命令中都能直接包含或可通过其他参数间接转换得到,以便能使用该分区键进行分区处理。 按分区键进行分区处理时,需要确保对应分区能独立处理业务,尽可能避免或减少与其他分区的交互。 确定分区数量与每个分区的大小,后续还存在增加分区的情况。需要综合考虑: 分区数量越多,对应分区会越小,爆炸半径也越小,运维定位简单,可用性高,但由于资源共享利用率低,所需的成本也越高。 分区数量越少,每个分区的资源多,更容易适合对资源要求较高的大客户,运维管理简单,且资源利用率越高,所需的成本低。 确定分区映射算法。存在以下一些映射算法供参考: 原始除模:即使用分区键对分区数量取模,该算法分布均匀,但是不适配Grid增删场景,一旦增删需要进行业务迁移。 Range-Hash/Hash:即使用分区键按范围分区后Hash或直接使用分区键Hash,元数据管理相对复杂一些。 Full-Mapping:全映射,即针对分区键指定Grid,使用全映射会带来对映射表的严重读写依赖,读写一致性要求考虑,通常需要引入meta data service。 基于前缀和范围mapping:基于前缀和范围的映射,将键范围映射到Grid,并在提供灵活性的同时,弥补了Full-Mapping的不足。 Mapping代替:强制将特定key分配给特定Grid,方便测试、隔离。 进行Grid路由层设计。设计原则如下: 路由层是系统唯一的一个共享组件,因此需要尽可能的稳定,减少修改。 避免业务逻辑,保证尽可能的稳定,减少修改。 由于爆炸半径大,需要足够轻,足够简单,但是不能太简单。 某些情况,要考虑避免路由所有调用,有助于减少延迟,并减小路由层的规模。 支持横向扩展,避免路由层成为性能瓶颈。 提供Grid迁移功能,以便在增加/删除Grid业务单元时,可以快速调整分区键对应的Grid业务单元。典型处理过程如下: 从分区键对应的旧位置拷贝数据到新位置。 更新Grid路由层路由,使分区键重定向到新位置。 从分区键旧位置删除数据。 Grid代码部署与更新: Grid代码部署可与跨AZ、跨Region结合,通过多层隔离,减少故障影响范围。 Grid业务单元代码更新时,建议采用类似金丝雀部署(灰度发布)的方式进行更新,以减少由于版本问题而导致多个Grid业务单元同时故障的可能 父主题: RES10 故障隔离
  • OPS03-03 进行性能压测 风险等级 高 关键策略 性能压测主要通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。通常把性能测试、负载测试、压力测试等统称为性能压测。广义而言,是为保证系统运行后的性能可以满足用户需求,而开展的一系列测试组织工作。 在应用系统上线发布之前,通过性能压测,测试应用系统能承受的最大并发、响应速度、以及稳定性是否满足设计要求。同时通过压测合理配置基础设施资源,提高资源利用率。性能压测主要目的是检查各项指标是否符合系统的业务要求,主要的测试分类包括: 负载测试:是指在一定的软件、硬件及网络环境下,运行一种或多种业务,在不同虚拟用户数量的情况下,测试环境的性能指标是否在用户的要求范围内,以此确定系统所能承载的最大用户数、最大有效用户数以及不同用户数下系统响应时间及硬件设备或云服务的资源利用率,负载测试强调的是在一定的环境下系统能够达到的峰值指标。 压力测试:指在一定的软件、硬件及网络环境下,模拟大量的虚拟用户向测试环境产生负载,使测试环境处于极限状态下并长时间连续运行,以测试硬件设备或云服务在高负载情况下是否能够稳定工作。压力测试强调在极端情况下系统的稳定性。 容量测试:指在一定的软件、硬件及网络环境下,构造不同数量级别的测试数据及记录,运行一种或多种业务,在一定虚拟用户数量的情况下,获取不同数量级别的硬件设备或云服务性能指标,以确定业务系统的最佳容量和最大容量。 并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题,所以几乎所有的性能测试都会涉及一些并发测试。因为并发测试对时间的要求比较苛刻,通常并发用户的模拟都是借助于工具,采用多线程或多进程方式来模拟多个虚拟用户的并发性操作。 配置测试:指在一定的软件、硬件及网络环境下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或系统评测的过程中,通过运行相同的业务场景比较测试结果,确定调优的结果是否达到预期效果或者为系统的选择提供决策数据。 在性能压测过程中,需要模拟或者还原现实业务场景进行测试,这就必须借助特定测试工具达到相应的要求。不同类别的性能压测工具适用场景与测试能力各不相同,有的基于静态与动态资源测试能力,有的具备加压与负载测试能力,有的针对端到端业务请求与响应具备计时与计量能力,有的针对平台网站具有Web应用、移动应用和API测试能力,所以性能压测工具是要依据业务测试场景来选择。 相关云服务和工具 参考华为云CodeArts PerfTest工具 父主题: OPS03 完备的测试验证体系
  • SEC07-01 识别工作负载内的数据 通过业务流程、数据流动方向、数据分布、数据的所有者等维度,对照合规要求评估数据的敏感度,对数据分级分类。 风险等级 高 关键策略 遵循以下步骤梳理、识别数据: 业务流程分析。 了解业务流程,对照业务流程图,明确在各个环节中产生、处理和存储的数据类型和用途。 与业务部门、开发团队、运维人员等进行交流,获取关于数据的详细信息。 确定数据的分布:需要确定数据存储在哪里,例如云硬盘、数据库、对象存储等。 评估数据敏感度。 确定数据的类型和内容,例如是否包含个人身份信息(如姓名、身份证号、地址等)、财务数据(如银行账号、交易记录等)、商业机密(如产品研发计划、客户名单等)或其他受法规保护的数据; 考虑数据的潜在影响。如果数据泄露或被滥用,会对个人、组织或社会造成多大的危害,包括经济损失、声誉损害、法律责任等。 参考相关的法律法规、行业标准和企业内部的合规政策。不同行业和地区对于敏感数据的定义和要求可能不同,例如医疗行业的患者数据、金融行业的客户交易数据等,都有特定的法规和标准来规范其保护。 结合组织的业务战略和风险承受能力。对于关键业务相关的数据,即使其本身不属于常见的敏感类型,也可能因其对业务的重要性而被评估为高敏感度。 借助数据发现和分类工具,自动扫描工作负载以识别数据。自动识别和分类数据可帮助您实施正确的控制措施。 创建并维护数据清单。将分级分类后的数据整理成清单,包括数据的名称、描述、来源、分布情况、数据敏感度、所属分类级别等详细信息。 相关云服务和工具 数据安全中心 DSC:DSC可根据敏感数据发现策略来精准识别数据库中的敏感数据,并支持从海量数据中自动发现并分析敏感数据使用情况,基于数据识别引擎,对结构化数据和非结构化数据进行扫描、分类、分级,解决数据“盲点”。 父主题: SEC07 通用数据安全
  • RES07-03 监控到异常后发送 消息通知 当对应用系统监控发现应用异常后,需要向相应的人员和系统发送实时通知消息和告警,以便及时处理。 风险等级 中 关键策略 采用实时快捷的消息通知方式,以便相关人员能及时得到消息。 消息发送人员需要涵盖运维人员,以便及时恢复。 运维人员需要有备份,避免单点风险。 SMN 消息通知服务可依据用户需求主动推送通知消息,方式可为短信、电子邮件等。 CES AOM 、CTS、 APM 、LTS等服务均已经对接SMN消息通知服务,在阈值规则发生变化时,可以以邮件或短信等方式通知,以便您在第一时间发现异常并进行处理。 相关云服务和工具 消息通知服务 SMN 云运维中心 COC:支持人员管理、排班管理和通知管理,可以根据通知规则自动将消息发送给要通知的人员。 父主题: RES07 监控告警