这个问题问的好。在容器还没有普及的前提下搞基于容器的devops难度确实大于传统基于虚拟机的devops,毕竟多了一层技术,这是事实。但是这个问题也要分角度去看,基于容器技术在带来学习成本的同时也带来了相应的优势。
对于开发而言,基于容器技术可以屏蔽底层操作系统和环境变量的差异,可以防止代码被人修改(尤其是在做依赖开发时),尤其是如果要做微服务改造,容器又具有天然优势。带来的直接成本是需要学习dockerfile的写法。
对于测试而言基于镜像更有利于版本的管理。
对于运维而言好处是可以快速实现扩容和更容易的高可用保证,但同时也需要去学习容器的运维知识。
所以在我看来,如果公司容器和devops都还没有落地,可以选择一个支持容器的devops平台,然后用1-2个项目测试一下效果。记录下遇到的具体问题,然后具有针对性的调整策略(先熟悉容器或者先落地devops)