在阿里,我们如何管理测试环境( 九 )

与此同时 , 另一种更轻量的虚拟化技术出现了 , 以OpenVZ、LXC为代表的早期容器技术 , 实现了建立于操作系统内核之上的运行环境虚拟化 , 减少了独立操作系统的资源消耗 , 以牺牲一定隔离性为代价 , 获得更高的资源利用率 。

之后诞生的Docker以其镜像封装和单进程容器的理念 , 将这种内核级虚拟化技术推上百万人追捧的高度 。 阿里紧随技术前进的步伐 , 早早的就用上了虚拟机和容器 , 在2017年双十一时 , 在线业务服务的容器化比例已经达到100% 。 然而 , 接下来的挑战是 , 基础设施资源利用率还能做得更高吗?

甩掉了虚拟机的硬件指令转换和操作系统开销 , 运行在容器中的程序与普通程序之间只有一层薄薄的内核Namespace隔离 , 完全没有运行时性能损耗 , 虚拟化在这个方向上似乎已经发展到了极限 。 唯一的可能是 , 抛开通用场景 , 专注到测试环境管理的特定场景上 , 继续寻找突破 。 终于 , 阿里在这个领域里发现了新的宝藏:服务级虚拟化 。

所谓服务级虚拟化 , 本质上是基于消息路由的控制 , 实现集群中部分服务的复用 。 在服务级虚拟化方式下 , 许多外表庞大的独立测试环境实际只需要消耗极小的额外基础设施资源 , 即使给每个开发者配备一套专用的测试环境集群都不再是吹牛 。

推荐阅读