Answers:
我需要在什么是DevOps的背景下回答这个问题,更具体地说,在我参与过的DevOps转换中,DevOps是完整软件开发生命周期的所有权。图表中的所有实践都是DevOps的重要组成部分,它们使系统思考和反馈环的放大成为可能并为之奠定基础。
但是,CI / CD和DevOps之间的主要区别在于生产环境中软件的实际操作,在该环境中,软件可以为客户和所服务的业务带来价值。
作为参与或领导DevOps转型的顾问,我首先想到以下几个方面:
文化:正如戴夫(Dave)正确指出的那样,持续实验和学习的文化对于任何变革的成功都是至关重要的。从DevOps的角度来看,这归结为我们如何形成一种支持所选DevOps模型的文化,该模型可以是“您构建,运行”,也可以更像Google的网站可靠性工程实践。
运营模式:这是业务主张的一部分,通常通过在较高层次上阐明所使用的人员,流程和工具来阐明组织如何实现价值。没有运营模式,您就没有组织采用文化定义的实践的方式的蓝图,这反过来导致缺乏明确性和不同的行为。
C级空中掩护:作为转型计划内的顾问,我们的工作通常是对业务运作方式进行根本性的改变。您将使人们不高兴,有些人将不喜欢这些更改-重要的是您必须从上方进行“空中掩护”以更改情况并向前发展。
一旦达到高水平,重要的是找到可以切实交付的东西:
顺其自然,通过加入组织的其余部分来结束转型。了解Gartner炒作周期与采纳生命周期之间的关系。为转型计划做好准备,使其陷入“幻灭低谷”,坚持到底,并保持最终目标的可见。
要更深入地探索终点,请阅读Geoffrey A. Moore的《穿越峡谷》。我完全可以写一本关于如何实现DevOps转换的书,但是到完成它时,我可能将不再需要进行DevOps转换工作。
DevOps倾向于在三个主要方面进行分解:
文化
DevOps文化强调所有利益相关者之间的高度信任,协作和沟通,尤其是Dev,Ops和Security。这些群体之间的自然紧张和竞争会产生摩擦,并常常导致功能障碍。DevOps(可以说)首先是在这些团队之间协调工作。
流程
DevOps开发流程与敏捷流程紧密结合。鼓励Ops采取类似敏捷的做法,以更好地与开发人员的努力保持一致。与DevOps保持一致的流程旨在在整个开发/交付生命周期中支持高速和快速反馈循环。持续集成,持续交付和持续改进(改善)是DevOps流程的重点领域。
技术
DevOps不是工具,但受工具支持。有全系列的工具支持一系列领域,包括持续集成,源代码控制和应用程序生命周期管理。
“ DevOps转换”必须处理所有三个要素,但不一定要同时平等地对待所有要素。转型具有自然发展和“关键路径”。可以提出这样的论据,例如,DevOps至少在开发团队/团队中取决于某种形式的敏捷实践。在对工具进行投资之前,可能需要解决文化问题。
参考文献:
文化:https : //www.andykelk.net/devops/using-the-westrum-typology-to-measure-culture
技术:https : //xebialabs.com/periodic-table-of-devops-tools/