每个公司都在提倡保证质量,提高效率,但有人的地方必定有是非…只要不需要人操作,那么质量和效率都会直线上升,DevOps,某个牛x的人提出的概念,强调从构建、集成、测试到部署和运维等全过程的高度自动化。
构建工具链或自动化全覆盖的持续研发的方法和工具,让基础设施、运维也成为产品代码的一部分,能够实现持续设计、持续编程、持续构建、持续测试、持续发布、持续部署、持续监控等,能够及早发现并更快地修复缺陷,整个研发更具透明性、运维环境更加稳定,实现越来越快的软件交付,减少协作、测试和沟通成本。从这个角度看,测试能力体现在测试效率和速度上,在保证满足质量的要求下,测试进行的越快越好!
以下是公司现行的基础设施框架:
解读:
**Galileo:**监控系统,告警、指标、分布式链路追踪、数据可视化等监控要素,是分布式软件运维和演进的心脏,是解决复杂度和不确定性的工具。监控系统不但要给运行于基础设施之上的服务,提供可观测、可推断、可追溯的保证,基础设施自身的系统也不应例外。
**Planck:**容器云平台,基于kubernetes,此系统帮助研发减少对于运行环境的假设,使运维操作位于一致的资源抽象层之上。Planck提供的能力,包括资源分配与隔离,容器化部署与调度,证书与秘密资源管理,日志归档,用量管理,多数据中心支持等等。
**微服务:**微服务主要是通过将应用程序分解为可独立部署和可扩展的组件,来隔离故障,适应独立的演进以及适应不同规模的方法。微服务是对应分布式系统常见问题的一组工具集,从运行上看,微服务是软件服务和基础设施相互配合的环境,从演进上看,微服务是一个软件生态。
在抽象层微服务环境定义了一系列契约:服务元数据,通过流量平面和控制平面的服务治理,资源计划,进入权限,配置注入,ACL,部署模式,依赖性隔离,故障处理等等;
在契约之下,微服务环境结合Planck、Galileo、分布式和版本化配置系统(KIP)、编程架构(Maxwell)、API网关(Lorenz),通过配置注入、服务注册与发现、路由与负载均衡、故障容忍、访问控制等配合,完成对服务的治理。
基于以上基础设施,构造出测试相关的质量体系架构…
未完待续…