在担任DevOps顾问之前,我已经与不同的客户一起为顾问服务并提供咨询服务已有近五年的时间,在我担任现职之前,我担任过软件开发,Web运营和系统管理方面的职务。以我的个人经验,DevOps具有许多特色。
组织模式
DevOps反模式:
NoOps和NoDevs-从最严格的意义上讲,并不是严格意义上的DevOps,但是,这些团队都在构建和操作软件时没有在开发和运营之间划分界限。这些团队所面临的挑战归结为成熟,开发团队可能是专业的软件开发人员,但新手运营商则反之亦然。
DevOps Bridge-在这里,一个或多个团队有责任从开发团队那里接管工作,并对其进行“ 生产化 ”以使其可操作。挑战归结为现在有两个交接点,即开发→DevOps和DevOps→操作。
DevOps团队 -如果团队负责构建支持支持DevOps的运营模型的工具,那么可以说,这可以工作,但是,它可能应该称为“工具团队”或“平台团队”。
DevOps模式:
实践
DevOps的实际实践是建立在其他几种实践之上的,即:
上面的每种实践都是在彼此之上建立的,有可能不遵循一种实践,但是,这意味着缺少重要的反馈周期,这可能表示“机会错失”。遵循任何其他实践和DevOps的关键区别在于生产中软件的操作。
三种方式
在《凤凰计划》中,吉恩·金(Gene Kim)及其合作者描述了DevOps的三种方式:
系统思维
第一种方式强调整个系统的性能,而不是特定的工作或部门孤岛的性能-这可以是一个大部门(例如,开发或IT运营),也可以是一个个体贡献者(例如,最小) ,开发人员,系统管理员)。
以我的经验,开始使开发人员考虑操作问题和非功能性需求可以实现此目标。这在DevOps 的文化方面非常重要。
反馈回路的放大
第二种方法是创建从右到左的反馈回路。几乎所有过程改进措施的目标都是缩短和放大反馈回路,以便可以连续进行必要的纠正。
我通常通过持续集成/交付/部署以及共享的监视和警报来实现此目标,因此它非常适合DevOps 的工具组件。
持续实验与学习的文化
第三种方式是建立一种文化,该文化可以促进两件事:不断的实验,冒险和从失败中学习;并理解重复和练习是精通的前提。
尽管这在很大程度上取决于使文化得以发展的工具和过程,但这非常适合文化空间。