看了《程序员》杂志中一篇关于DevOps的文章,结合现在的工作,谈谈自己的一些想法。


DevOps是Development-Operation的缩写,顾名思义,就是试图通过将开发团队和运行团队的合作来解决特别是当下随着云技术网络应用的兴起,对于用户社区事件或请求的迅速响应。我觉得这里不仅指需求-响应迅速变化与解决的网络应用,传统领域或任何以用户为中心的应用,都可以采用这种DevOps,或者以此为目标。因为它的目的就是为了快速响应客户的需求,就像IBM提出的On Demand,与它不同的是,DevOps更是一种On Demand的方法,也就是将开发与运行团队合二为一,共同响应客户需求。这是一种愿景,但实现起来想必有这样或那样的困难,对于国企、外企、私企,可能各有各的优点与弊端,可能不是每一个企业都适用的一种方法。但如果仅仅从产品与用户的关系角度考虑,DevOps绝对是一种正确的想法与方法,开发团队能够及时根据客户的需求Coding,运行团队也可以从Coding之时就参与到整个产品的生命周期中,同样在部署运行期间,开发团队凭借对产品的熟知程度,也能够给予运行团队帮助,例如提供更细致的应用级监控工具,当然这种无缝配合也存在一些前提,例如:

1、开发团队可能需要随时访问当前的生产环境并具有一定的权限。

2、运行团队在生产系统中是否认为开发团队提供的监控工具是可靠的。

3、是否运行团队的所有涉及部门都参与到产品的设计开发初期,例如网络部门、硬件部门、IT支持部门等。

这里也存在或忽略了一个问题,测试团队或QA的作用,是DevOps中不可或缺的一个环节,其实他们也应该贯穿于产品的整个生命周期,即使在不认为他应该有作用的产品设计与部署阶段,有了他们的参与,可以提前设计测试方法,甚至针对部署也能提供好的测试方案,当然对于一些应用,可能Dev就充当了QA的角色,但这也不矛盾。


相信真正实现了DevOps,用户能够获得更快更及时的响应,员工或企业也能从中得到满足与动力。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐