《云上容灾交付服务白皮书》——3交付标准化参考框架——3.3 容灾方案设计(上) https://developer.aliyun.com/article/1229872?groupCode=supportservice
3.3.3 应用容灾设计
每一种方法论,都有其前提条件。应用容灾设计这个步骤的目的,是指导应用系统如何利用云计算平台的优势,来达到期望的容灾能力。应用容灾设计通用原则,如下:
表 3-2 应用容灾设计通用原则
通过这四个基础原则和多个容灾项目的建设经验,本文从应用系统的视角,总结出应用容灾指引的最佳实践,分别是应用设计指引和应用部署指引,如下:
表 3-3 应用设计指引与部署指引
3.3.4 应用容灾部署
应用部署过程的注意事项如下:
部署规划:根据前面分析依赖关系,确认灾备中心部署什么应用系统,应重点关注下游依赖系统的部署情况。
资源申请:根据灾备中心的资源情况,申请云产品资源部署相关应用系统。云产品资源包括:云服务器、云数据库、云存储、中间件、云网络等。从最佳实践的角度,建议在灾备中心分配同等的资源。从项目实际情况看,因灾备中心资源不足,可按照缩小比例的方式分配灾备中心的云产品资源。最低条件是要保证灾备中心的核心关联依赖系统都会部署。
应用部署:将完成容灾适配改造后的应用,部署到灾备中心。
应用测试过程的注意事项如下:
单元测试:应用部署到灾备中心后,需要对应用进行单元测试,确保本应用单元的功能是正常的。这部分工作,通常需要应用系统的开发和测试团队来协助。
集成测试:联合上下游系统进行集成测试,包括内网流量的测试和互联网流量的测试。在集成测试阶段,细节问题容易发生在网络配置上,尤其是路由表和防火墙策略。常见的问题包括:网络申请表信息填写错误、网络申请表信息填写遗漏、配置遗漏、配置错误等。这些网络配置的错误,非常隐蔽,排查起来也是十分耗时。通过集成测试,可以有效验证灾备中心是否具备容灾切换的前提条件。同时在生产环境开展测试,是一项风险较高的行为。如不注意,一方面容易造成生产业务中断,另一方面容易造成生产的脏数据,因此建议在业务低峰期使用内部用户账号进行测试。
银行机构的手机银行系统作为容灾项目的典型场景,下面以手机银行为例,说明如何在对生产业务无影响的情况下,对灾备机房进行功能测试,关键步骤如下:
第 1 步:应用程序部署在灾备中心后,通过内部用户或临时客户端,模拟测试流量,访问灾备中心的基本功能是否正常。此时产生的数据为临时数据,写入测试数据库和存储,不会污染生产数据。该步骤验证了灾备中心系统的基本功能是正常的。
第 2 步:将灾备中心的应用连接至生产中心的数据库和存储,通过内部用户或临时客户端,访问真实的的业务数据,确保数据准确。
第 3 步:通过网络流量配置的方式,包括 GSLB 和 DNS,控制生产流量访问灾备中心的比例。
图 3-8 灾备中心应用系统测试流程