平台产品迁移升级与验证
2024-02-15 本文已影响0人
renyjenny
产品背景
最近参与的一个产品涉及到比较复杂的升级,需要进行测试。产品从架构上来说,可分为平台应用服务为、中间件、监控中心、日志采集平台、数据库等内容。
升级采用迁移升级的办法:在额外的环境部署新环境并将旧平台的数据迁移导入,在通过验证测试后,将旧平台的流量平滑切换到新平台。采用迁移升级的办法,具有停机时间短、验证时间充足、回滚便捷的优点,可尽可能降低升级风险。
升级范围包括:K8S基础环境升级、业务服务升级、部分中间件组件版本升级、部分中间件架构改变、增加共享存储中心、日志采集方式改变。
升级准备
旧平台调研
- 各服务版本统计
- 各服务使用资源统计
- 集成SDK版本统计
- 用户使用接口统计
资源申请
申请迁移申请需要的额外的平台环境资源:
硬件资源、IP地址、域名……
数据备份
若采取原系统升级,应尽可能备份所有资源,如容器yaml文件、配置文件、数据库、日志等。
升级过程
- 部署新平台
- 配置新平台
- 数据迁移
- 日志迁移
- 升级验证
- 流量切换
升级测试
平台升级测试主要包括新功能验证与回归验证。重点是在平台升级后,要从界面和接口服务功能来验证升级前后用户数据一致且功能可用。在升级前可记录旧平台的用户数据,新建测试用户并模拟创建测试数据,然后在旧平台上挨个进行比对、验证。
进行数据验证时需额外考虑以下几点:
- 当数据库表结构有改动时,旧平台数据迁移到新平台时有没有做数据转换
- 上传的文件也需要迁移
- 迁移数据在新的界面上展现正常