什么是DevOps?
DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
也可以把DevOps看作软件开发、技术运营和质量保障三者(开发、运维、测试)的交集。或者说是敏捷的升级版本。当然实际上还会存在其他管理、协作、流程制定的角色。
这里主要想谈一下DevOps对以上三者的技术影响及协作,对DevOps本身不多作详细介绍
开发:
从纯粹的coding模式下转变为了还需要操作整体的流水线。被赋予了更多的能力,或者说是任务。如果没有很好的去简化这个流水线的工作,是个开发估计都会觉得烦躁不安的。
运维:
从变化上来说是最少的,技术要求还是这些,比较突出的还是集中于shell、python等脚本,当管理的服务器量大时,自然是强迫性拥有的技能,而在DevOps中只是把这些技能用于更规范化的流水线中,而不是自管自的操作了。
测试:
从技术上挑战是最大的,绝大部分测试目前还是停留在手工阶段,也就是点点点,而DevOps相对更追求的是自动化的模式,一旦跟不上技术和实现,就会成为一大瓶颈。已经据说有公司把DevOps做起来了,但是测试的自动化没跟上或者自动化的维护跟不上开发的迭代,导致测试人员的总人数都已经大于了开发和运维的总和,外包了大量的手动测试人员,也是为了完成项目迫不得已。换句话说,自动化测试很可能会成为一种必要的基本技能,如果不会则可能被淘汰或者在人海中淹没,这就是技术债了。
惨烈的淘汰模式可能即将开始
自动化方向的测试需求已经成为超越性能与安全的大头,几乎各种招聘的要求中都会自然的出现自动化测试相关的信息,即使现在没有使用到,也会是默认的技术要求。