项目 - 环境治理

2020-07-21

现状

环境列表:

  • 开发环境(dev)

  • 描述:主要是负责各服务联调开发测试

  • 环境子类

  • d1(10.1.0.0/16)

  • d2(10.2.0.0/16)

  • d3(10.3.0.0/16)

  • d4(10.4.0.0/16)

  • colorful(10.9.0.0/24)

  • 测试环境

  • 描述:主要是测试部门上线前测试

  • 环境子类

  • t1(10.21.0.0/16)

  • t2(10.22.0.0/16)

  • t4(10.24.0.0/16)

  • colorful (10.29.0.0/16)

当前存在的问题:

  • 开发环境、测试环境,中间件使用混乱,存在相互调用的情况,未做网络隔离。
  • 开发人员配置中间件的时候容易配错 复制配置的时候 跨域调用情况普遍存在
  • t1环境的A应用可能会调用d1环境的redis,B应用调用d2环境的redis,很混乱。
  • t1环境可能访问d1环境的应用。
  • 对测试人员造成很大的困扰。

目标

中间件(redis、rocketmq等)

  • 开发环境,各子环境:

  • 有专属于本环境的一个redis。

  • 有专属于本环境的一个rocketmq。

  • 测试环境,各子环境:

  • redis实例数与生产环境保持一致。

  • 有专属于本环境的一个rocketmq。

  • 所有子环境,redis密码一致。

  • dns解析

  • 在原有阿里云提供的域名基础上,封装一层DNS。

  • 相比于阿里云提供的域名,封装一层DNS对肉眼识别非常友好,非常直观。

  • 会减少在无心的情况下,t1的应用调用d1的redis这种现象。

  • 优势:

  • 测试环境的redis与生产环境模式高度一致,让潜在的风险可尽早的暴露。

  • 密码一致可以降低维护成本。

  • 封装DNS增加可读性。

  • 域名CNAME可提升灵活性。

网络隔离

  • 各子环境之间,网络隔离。

  • 优势

  • 完全杜绝t1调用d1 redis的可能性。

  • 可以理解为:每个子环境是个集装箱,自身闭环。

降本/提效

  • 按子环境-业务域维度,购买服务器

  • 采用混部模式。

  • 优势:

  • 部署效率大大提升,减少了每个子环境都需要阿里云购买服务器的操作成本。

  • 降低了服务器成本,提升了资源利用率。

  • 减少了对新购服务器的初始化成本。

  • 每部署一个应用子环境,预计可节约5-10分钟。

  • 降低了开发小伙伴的理解成本。

  • 让运维小伙伴有更多的时间去做更有意义的事。