谈DevOps支撑平台优化改进(10.28)

对于我们自主研发的DevOps支撑平台,在我博客前面很多文章里面都提到过具体的架构和关键功能说明,今天主要谈下对该平台的后续优化思考,具体的优化驱动目标主要还是包括如下几点。

1. 真正实现研发和测试,研发和运维的整个持续集成和交付过程的一体化

2. 实现研发过程管理,敏捷方法论和持续集成交付过程的一体化管理和协同

3. 实现当前主流的微服务架构开发方法论和当前的DevOps过程的一体化协同

以上三点就是我们进行整个平台优化最希望达到的一个理想目标,即完全的自动化协同,减少不必要的人为干扰和信息传递,同时实现研发过程资产本身的持续可视化,实现更加敏捷,高可靠的向客户前方的产品版本快速交付能力。

研发过程管理和持续集成的协同

这个我在10月10日的博客文章流水线编排能力增强里面详细的分析过,实际上里面关键点就是首先要实现研发,自动化版本构建,测试人员测试三者之间的过程协同。这里面涉及到需求变更或Bug缺陷的状态自动化的基于整个持续集成过程进行状态变更来驱动整个过程。

自动化测试能力进一步加强

如果注意看DevOps的成熟度模型评估,可以看到对自动化测试的要求很高。其中包括了静态代码检查和测试,也包括了自动化的单元测试,自动化的前端驱动功能页面测试。自动化测试可以节省大量的人工测试工作量,同时本身又可以确保检入到配置库的代码的正确性和规范性。

前端驱动功能页面测试相当来说比较难,但是实际有必要,这个类似于模拟人的前端机器人操作测试,其关键要解决的点就是测试脚本录制时候的变量设置,以及测试脚本本身的可重复执行能力。

自动化监控能力增强

在DevOps实施过程中,特别是在进行了微服务架构+容器化后可以看到,监控上升为一个必须的关键需求能力。其中监控包括了几个方面的内容。

常规的中间件各类日志查询功能,由于容器本身的动态性而且不受开发人员管理,因此必须提供各类日志的全文检索查询能力,在DevOps支撑平台实现的时候就需要具备各类日志文件的采集能力,在采集完成后提供日志的全文检索能力,方面后续运维时候快速的发现问题。对于日志采集一定要具备最基本的日志采集规则配置能力,关键核心字段的内容的结构化能力。

对于监控本身包括了资源监控层面和APM应用性能监控层面,首先要实现最基本的资源监控,其次实现应用性能监控和服务链监控。在DevOps实施后,APM应用性能监控是必须能力。即能够通过应用本身出现的性能问题通过服务链快速的追踪到具体的代码,数据库脚本或中间件上面。

对外适配各类公有云平台的连接能力

在推广我们的DevOps平台的时候,一个方式是在企业内部进行私有云部署,另外一种就是完全部署在外部的公有云平台。在当前很多企业常见的异地团队协同,快速客户现场交付等各种场景下,我们更推荐采用完全公有云的方式来构建DevOps支撑平台,企业也基于该平台进一步实现应用系统的云迁移。

由于DevOps平台本身属于PaaS平台层面,因此完全可以做到适配当前主流的类似阿里,腾讯,华为各公有云平台。由IaaS平台先提供虚拟机,然后在虚拟机基础上进一步的进行容器化和集群化处理。