电信运营商测试环境容器

查看其它 2 个回答zhaoxiyi的回答

zhaoxiyizhaoxiyi资深电信行业解决方案架构师红帽企业级开源解决方案中心

1、您问到的一键式部署是容器化云平台的核心意义所在。虽然现阶段为了兼容很多之前的业务,我们经常采取妥协态度。例如,允许开发商使用封闭式镜像,以镜像为单元部署业务等。这样的行为其实会破坏平台的一键部署能力。通常我们提供的解决方案都倾向于 Source to Image (S2I)。因为这样才能固化发布过程,保证只要开发人员可以部署到测试环境上,他的行为模式就会通过各种 S2I 的yaml直接固化并形成 Ops 人员可操作可理解的一键部署能力。那么测试人员或者维护组就可以从最新代码发起一键部署过程。而部署的关联性通常通过 CI/CD 流程保障,例如使用 Jenkins。

2、我们通常提供的方案会将环境拆分为3个部分,测试环境/Staging环境/生产环境,目的是测试环境配合测试数据,不管数据来源在哪里,但测试数据是安全脱敏,压力脱敏,引用脱敏的,开发人员可以自由发挥,完成各种业务创新与CI/CD尝试。而Staging阶段则不在参与S2I,部署是通过CI/CD流程自动化从测试环境迁移过来的。数据是安全脱敏的,其它与生产库基本一致。这个阶段我们完成压力测试,数据逻辑测试。而任何开发和变更不会反应到这个阶段。最终的生产环境是从 Staging 环境,通过审批的半自动化流程将镜像推过来的,生产的镜像库都是独立的,封闭的,不参与外部CI/CD的。任何镜像依赖再这个阶段已经不再需要,独立的完整,安全的可靠的稳定的镜像是生产业务最终持续化服务的最终保障。因此测试环境到生产环境之间是由审批隔离的,所以测试需求不会自动被推到生产商,而是由运维人员统一控制如何从 Staging红转向生产。

3、测试环境与Staging环境/生产环境之间的数据供应是要统一的。接口要统一,特别是实现数据中台后。也就是说所有的数据中台接口必须统一。但内容要区别化。特别是测试环境中逐步形成的敏态数据中台逻辑。需要有合理的控制途径与管理通道才能到达生产。因为由敏态开发逻辑造成的快速变更数据接口通常相对生产环境会具有一定但差异性与时延性。因此在数据中台能力的发布对接上,我们在测试环境中需要有相应的实现方案来统管,既保证数据能力的自由组织,同时也要避免有些微发布的敏态数据中台逻辑污染数据使用通道,造成一键部署的数据逻辑错误。这一点需要具体项目具体分析。

软件开发 · 2020-04-02
浏览1839

回答者

zhaoxiyi
资深电信行业解决方案架构师红帽企业级开源解决方案中心
擅长领域: 云计算容器容器云

zhaoxiyi 最近回答过的问题

回答状态

  • 发布时间:2020-04-02
  • 关注会员:4 人
  • 回答浏览:1839
  • X社区推广