迁移目的
1. 实现降本增效
制定标准
1. 统一网段划分
a) 保险使用172.20.0.0/16,172.26.0.0/16 , 分配给DEV\TEST\PRE\UAT\PRD\PUB 6个环境
b) 科技使用172.27.0.0/16 ,分配给DEV\TEST\PRE\UAT\PRD\PUB 6个环境
c) 其他子公司使用172.25.0.0/16
a) 办公网可以访问测试环境服务非22和3389端口外所有端口。
b) 办公网仅允许访问预发环境服务和生产环境服务的80和443端口。
3. 服务之间访问基本标准
a) 统一通过域名访问,不允许直接通过IP提供服务。
b) 内网服务仅允许同环境通过标准端口访问,不允许跨环境访问。
4. 运维平台及工具标准
众安科技统一运维平台及工具为集团统一提供服务。
a) 统一发布平台ship。
b) 统一监控平台六翼。
c) 统一各种库(代码库git , maven库,Python库,npm库,镜像库等)。
d) 统一数据库中间件到xdbc
方案设计
b) 高可用性:CEN采用多节点构建的方式,具有高可用性和故障自愈能力,避免了单点故障的风险。
3. 微服务迁移方案
4. 中间件迁移方案
b) 对于无状态的服务比如nacos,通过手动部署服务到新主机节点,后端使用同一数据库,验证无误后下线老节点。
c) 对于有状态的服务比如kafka ,通过手动部署服务到新节点,添加到同一集群,从老节点同步数据到新节点,逐步替换老节点。
迁移实施简图:
迁移过程
1. 基建环境准备
b) 采购主机搭建CMDB资源管理平台,并调试具备可采购VPC中ECS资源。
c) 采购主机部署各种运维相关组件如salt、gitlab、nexus、harbor、npm、pypi、gayway等。
d) 采购阿里云容器服务ACK, 部署ingress 、 promethus、sentinel、jaeger,operator,nacos等服务。
e) 采购主机搭建ship发布平台,并调试具备服务发布功能,基础监控功能等。
2. 微服务迁移
a) 以系统为维度,收集需要迁移的应用信息(依赖中间件、服务调用关系、白名单、域名等)。
b) 系统和应用申请以及代码迁移(系统和应用申请后,邮件运维将老代码库中对应应用的代码copy到新仓库)。
c) 资源申请(服务器资源申请、数据库资源申请、中间件资源申请)。
d) 编码工作(主要为配置文件替换,以及部分硬编码替换)。
e) 通过发布系统发布上线(统一ship发布系统发布上线)。
f) 第三方合作伙伴专线地址变更(对于专线访问,NAT地址发生变更)。
g) 第三方公网白名单变更(统一使用NAT网关,提供统一的公网出口IP地址)。
h) 公网域名和办公网域名切换后端容器负载均衡地址(新旧服务切换)。
i) 验证服务和监控的有效性。
j) 迁移后资源下线。
3. 中间件迁移
按照如上中间件迁移方案中的3种迁移模式进行了迁移和切换。
迁移难点及解决方案举例
2. DNS解析
遇到难点 :
解决方案
a) 以保险微服务域名za.biz和科技微服务域名za-tech.net为例,我们创建了如下dns关系.
讲到最后
想都是问题,做才是答案,站着不动永远是观众。阿里云VPC服务在2017年推出,但众安规模庞大,涉及到3000多台服务器,2000多个服务,很多人都知难而退。多年的规划,基建产品的不断成熟,直到2019年初终于迎来了最合适的时机,基于vpc迁移,我们不断地试错、总结经验,并努力做出更好的决策,经过半年多日日夜夜的努力,终于圆满的完成了目标,借此更升级及统一了全司的研发一体化平台。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.