企业在进行应用韧性设计的过程中,推荐使用如下问题寻找自身可以改进的点,并参考检查项/最佳实践进行改进,以下所有检查项,也是最佳实践建议,将在下一章节进行详细描述。
问题 | 检查项/最佳实践 |
|---|
RES01 您如何使用冗余技术确保应用系统的高可用? | - 应用组件高可用部署
- 应用组件多位置部署
- 云服务器反亲和
|
RES02 您如何备份应用程序中的关键数据? | - 识别和备份应用中所有需要备份的关键数据
- 自动数据备份
- 定期进行备份数据恢复
|
RES03 您如何对应用程序进行跨AZ灾难恢复? | - 集群跨AZ部署
- 跨AZ数据同步
- 对接容灾仲裁,支持自动切换
- 支持容灾管理
|
RES04 您如何对应用程序进行跨Region或跨云灾难恢复? | - 定义应用系统的容灾目标RPO与RTO
- 部署容灾系统以满足容灾目标
- 容灾恢复过程自动化
- 定期进行容灾演练,以检查恢复能否满足容灾目标
|
RES05 您如何保证网络高可用? | - 网络连接高可用
- 避免暴露不必要的网络地址
- 不同流量模型业务的网络共享带宽隔离
- 预留IP资源以便扩展和高可用
|
RES06您如何进行故障检测处理? | - 故障模式分析
- 面向所有故障进行检测
- 支持亚健康检测
|
RES07 您如何监控应用系统资源? | - 定义关键指标与阈值并监控
- 日志统计监控
- 监控到异常后发送消息通知
- 监控数据存储和分析
- 端到端跟踪请求消息
|
RES08 您如何减少依赖影响? | - 减少强依赖项
- 依赖采用松耦合
- 减少被依赖项故障的影响
|
RES09 您如何进行重试? | - API以及命令调用需要设计为可重试
- 客户端需要根据综合评估是否需要重试
- 重试需要避免造成流量压力
|
RES10 您如何进行故障隔离? | - 应用控制平面与数据平面隔离
- 应用系统多位置部署
- 采用Grid架构
- 健康检查与自动隔离
|
RES011 您如何进行可靠性测试? | - 混沌测试
- 压力负载测试
- 长稳测试
- 灾难演练
- 红蓝攻防
|
RES012 您如何进行应急恢复处理? | - 组建应急恢复团队
- 制定应急预案
- 定期应急恢复演练
- 出现问题后尽快恢复业务
- 应急恢复回溯
|
RES013 您如何进行过载保护以适应流量变化? | - 采用自动弹性扩缩容
- 应用系统负载均衡,避免流量不均匀
- 过载检测与流量控制
- 支持主动扩容
- 资源自动扩容考虑了配额限制
- 压力负载测试
|
RES14 您如何进行配置防差错? | - 变更防呆检查
- 自动化变更
- 变更前数据备份
- 提供runbook进行标准化变更
|
RES15 您如何进行升级不中断业务? | - 自动化部署和升级
- 自动化检查
- 自动化回滚
- 灰度部署和升级
|