检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
基础设施即代码(IaC)是指使用代码而不是手动流程来管控基础设施的能力。 应用程序环境都需要许多基础设施组件,例如操作系统、数据库连接和存储。 开发人员必须定期设置、更新和维护基础设施,以开发、测试和部署应用程序。 手动管理基础设施既耗时又容易出错,尤其是在大规模管理应用程序时。 风险等级 高 关键策略 使用声明
设计原则 由于故障不可避免,如硬件故障、软件错误、网络延迟、突发流量等,因此在设计高可用应用系统时,必须考虑所有的硬件及系统包括的软件都可能会失效,包括IaaS、PaaS、SaaS及应用系统本身。韧性设计的目标不是试图防止这些故障的发生,而是为了在这些故障发生时,能最大程度地减轻
担。 应用层进行过载保护,保障优先业务的运行。 连接后端BMS失败 检测:网络连接失败。 恢复: 至少部署2个后端BMS。对于无状态业务,配置ELB弹性负载均衡保障业务可靠性;对于有状态业务,由应用层实现多实例高可用。 应用层进行重试,以应对暂时性故障,如网络过载时;应用故障重试处理可参考“故障重试”。
RES07-03 监控到异常后发送消息通知 当对应用系统监控发现应用异常后,需要向相应的人员和系统发送实时通知消息和告警,以便及时处理。 风险等级 中 关键策略 采用实时快捷的消息通知方式,以便相关人员能及时得到消息。 消息发送人员需要涵盖运维人员,以便及时恢复。 运维人员需要有备份,避免单点风险。
根据业务情况,手工变更规格以扩展资源。 开启存储空间自动扩容,以便在磁盘容量不足时自动扩容。 应用层进行过载保护,保障优先业务的运行。 连接后端RDS失败 检测:连接失败。 恢复: 应用层进行重试,以应对暂时性故障,如RDS实例正在进行主备切换时;应用故障重试处理可参考“故障重试”。 当RDS实例由于过载导致网络限制时,可参考“RDS的CPU
概述 本章节以典型Web应用为例,介绍不同可用性目标要求下部署的典型架构示例。针对每种场景,从以下几个维度进行设计,来达成可用性目标。 类别 应用可用性影响 冗余 应用内组件的高可用能力,在应用内部分节点故障时业务自动恢复能力 备份 应用数据被破坏的情况下的恢复能力 容灾 在Re
COST02-02 精细化预算管理和跟踪 风险等级 高 关键策略 针对企业不同项目/业务/应用,应该建立预算管理机制,精细化管理每个项目/业务/应用全生命周期的云开销。 企业的项目/业务是随时间变化而变化的,一般而言,新兴业务/项目常有更多云资源扩容的需求,而稳定的业务/项目则可
对于有状态ECS实例,或BMS实例,建议从应用层实现跨AZ容灾,支持跨AZ自动切换或通过容灾管理工具实现自动化容灾切换,减少灾难发生时的人工操作。 对于已部署的应用系统改造为跨AZ实例的实施步骤: 确定应用系统的关键组件;所谓关键组件是指一旦故障,会导致整个应用系统或其中的关键功能受损。 针
低 关键策略 消息跟踪需要包含消息处理流程中所有组件,以便跟踪结果完整,从而进行准确分析和定位。 相关云服务和工具 应用性能管理 APM:支持调用链追踪,能够针对应用的调用情况,对调用进行全方面的监控,可视化地还原业务的执行路线和状态,协助性能及故障快速定位。 在查询后的调用链列表
开启自动扩缩容,以便在过载时自动扩容规格和/或只读节点。 应用层进行过载保护,保障优先业务的运行。 连接后端GaussDB(for MySQL)失败 检测:连接失败。 恢复: 应用层进行重试,以应对暂时性故障,如GaussDB(for MySQL)实例正在进行主备切换时;应用故障重试处理可参考“故障重试”。
SEC02-01 对账号进行保护 账号是华为云租户的账号体系中权限最高的用户,拥有对整个云环境的最高权限。一旦账号受到攻击或泄露,可能导致严重的安全问题和数据泄露。因此,身份认证的安全性首先要考虑对此账号进行保护。 风险等级 高 关键策略 强密码:使用强密码来保护账号,包括数字、
可观测性体系是指在云原生架构中通过使用各种工具和技术来实现对应用程序和基础设施的监控告警、日志、故障排除等功能的一套完整的解决方案。性能可观测体系在此基础上突出了性能指标,通过收集和分析性能数据,可以识别系统瓶颈、优化资源分配等,找到性能优化方向。 性能监控对象:服务器、操作系统、数据库、应用程序、网络设备、云服务。
COST08-02 云原生架构改造 风险等级 中 关键策略 基于云原生架构改造,主要是应用容器化和微服务化的改造,从而发挥云原生的优势,如:自动弹性扩缩容等,容器技术可以提高资源利用率,避免闲置资源,从而降低计算成本,应用微服务化可以降低运维复杂度,从而降低运维成本。 广告电商等在线作业服务S
的情况下,数据不丢失;对于无状态业务不涉及。 风险等级 高 关键策略 当应用组件对应的云服务实例支持跨AZ高可用实例时,可采用云服务实例自身的跨AZ数据同步;如RDS数据库、DCS实例、OBS桶等。 当应用组件对应的云服务实例不支持跨AZ高可用实例,但提供了同步服务进行跨AZ数据
API及命令调用需要设计为可重试 在进行重试处理时,API及命令调用会重复发送,服务方会多次重复执行,需要保证重复执行多次的结果不变。 风险等级 高 关键策略 应用系统在设计时,应使操作具有幂等性,也就是允许一个操作连续执行两次或多次时,应该与单次调用产生的结果相同,从而保证重试安全;若不支持操作的幂
载测试、压力测试等统称为性能压测。广义而言,是为保证系统运行后的性能可以满足用户需求,而开展的一系列测试组织工作。 在应用系统上线发布之前,通过性能压测,测试应用系统能承受的最大并发、响应速度、以及稳定性是否满足设计要求。同时通过压测合理配置基础设施资源,提高资源利用率。性能压测
明确定义哪些人员或机器应当有权访问哪个组件,选择用于进行身份验证和授权的适当身份类型和方法。 风险等级 高 关键策略 使用IAM角色来定义应用程序和组件对资源的访问权限。通过构建最低权限访问模型,确保只授予必要的权限。根据用户的角色和职责分配权限,确保用户只能访问其工作所需的资源。
双活或多活等。 应用系统要达到可用性目标,需对应用系统内组件及依赖组件进行可用性要求分解,包括: 对依赖组件的可用性要求:通常关键依赖组件需要比其他服务提高一个9的SLO目标,如应用系统SLO目标为99.9%,则关键依赖组件SLO目标要求达到99.99%。 应用系统SLO分解:综
关键策略 如果工作负载能够支持弹性(例如:应用无状态化),请考虑具有自动缩放功能的计算服务,该功能可根据需求自动调整计算容量。自动缩放有助于确保在高峰期拥有足够的资源,并防止在低需求时段过度预配。虚拟机弹性伸缩和容器弹性伸缩都是实现应用自动化扩容和缩容的方式,但虚拟机弹性伸缩需要
问题和检查项 企业在进行应用韧性设计的过程中,推荐使用如下问题寻找自身可以改进的点,并参考检查项/最佳实践进行改进,以下所有检查项,也是最佳实践建议,将在下一章节进行详细描述。 问题 检查项/最佳实践 RES01 您如何使用冗余技术确保应用系统的高可用? 应用组件高可用部署 应用组件多位置部署