文:华为云DevCloud 恒少
DevOps组织的成功,很大程度上来自于聚焦培养强有力的DevOps团队。“乌合之众:未有效地管理组织变革”是DevOps组织需要避免的六大“焦油坑”之一(详见“如何避免DevOps变革的六大‘焦油坑’”)。在“DevOps能力之屋(Capabilities House of DevOps)”(参阅图1)中,华为云DevCloud提出(工程方法+最佳实践+生态)×工具平台=DevOps能力,而基石是人与组织。因此,在DevOps变革中,企业必须选取合适的组织与企业拓扑来提升协作效能,进而提高DevOps变更的成功概率。
图1 华为云DevCloud DevOps能力之屋
众所周知,DevOps的诞生根源于跨越开发团队(Dev)和运维团队(Ops)的鸿沟。通常情况下,DevOps团队最初先使用敏捷框架(Agile Framework)(例如Scrum)来定义以开发为中心的角色和活动,然后增加面向运维的角色和活动,以帮助团队成员更好地协同工作。DevOps团队的主要角色如下图所示:
图2 典型DevOps团队角色
如何Dev与Ops相关角色之间的协作效能,DevOps Topologies(https://web.devopstopologies.com/)提出了9种有效的DevOps团队结构或拓扑(注:DevOps Topologies模型集的许可为Attribution-ShareAlike 4.0 International License)。
模型1:Dev与Ops无缝协作,适用于具有强技术领导力的组织。潜在有效性:高。
模型2:完全共担Ops职责,适用于拥有单一的主要web产品或者服务的组织。潜在有效性:高。
模型3:Ops即IaaS(平台),适用于拥有几个不同的产品或服务、一个传统的Ops部门或者应用全部运行在公有云上的组织。潜在有效性:中。
模型4:DevOps作为外部服务,适用于运维经验不足的小型组织。潜在有效性:中。
模型5:设定有效期的DevOps组,是模型1的前身。潜在有效性:从低到高。
模型6:DevOps布道师组,适用于Dev与Ops有疏远趋势的组织。潜在有效性:从中到高。
模型7:SRE组(Google模型),适应于用于高水平的工程师和成熟度的企业。潜在有效性:从低到高。
模型8:容器驱动协作,适应于容器可以很好地发挥作用的组织。潜在有效性从低到高。
模型9:Dev和DBA协作,适应于拥有多个应用链接一个或者多个大型、中央式数据库的组织。潜在有效性:高。
从DevOps Topologies提供的模型中可以看出,DevOps团队结构不尽相同。那么从组织层面来看,DevOps组织拓扑将会如何呢?不同大小和类型的组织采用不同DevOps团队模型和拓扑结构,将在组织级上形成不同的拓扑。例如:
图3基于模型1的组织级拓扑
图4 基于模型2的组织级拓扑
图5 基于模型3的组织级拓扑
因此,从组织层面来看,结构更显复杂。基于DevOps团队其它模型,或者不同的模型,组织级的拓扑会更为复杂。
对于大多数企业来讲,组织变革不可能一夜之间100%完成。除了Dev与Ops团队的协作,随着DevOps变革的逐步深入,企业将不可避免地会涉及到架构、安全、UX、运营等专业领域角色如何与DevOps团队进行协同。在方法框架与实践上,DevOps团队鼓励跨功能、T/E型人才等,然而,从专业技能要求高、专家人才稀缺性、组织运作成本等角度考虑,DevOps团队全部承担相关角色的职责是不现实的,因此,尽管取决于组织的大小与成熟度,仍然需要领域专家。“DevOps组织中应用架构师的新定位与实践”一文阐述了架构师与DevOps团队的协作,架构师可以作为SME、教练与指导者在架构原则与模式、产品Backlog等方面与DevOps团队进行协作。同样,对于安全、UX、运营等专家也可以参照架构师来与DevOps团队进行协作。图6是华为某产品团队的组织拓扑图。
图6 华为某产品团队的组织拓扑
组织进行DevOps变革的主要目标是提升客户和商业价值的交付。DevOps组织结构不是一成不变的。组织结构的调整应该考虑组织的产品组合、技术领导力、团队人员技能水平、运作成本等角度进行综合考虑,随着DevOps实践成熟度的提升,持续地调整组织结构。在组织变革中,应牢记的最重要的一条是没有完美的DevOps组织结构。
华为云DevCloud作为一站式云端DevOps平台,集成华为近30年研发实践和前沿理念,面向开发者提供研发工具服务,让软件开发简单高效。现支持5人以下额度范围内,可以免费使用,并且可以预约免费的产品演示和技术交流,详情查看华为云官网
DevOps组织如何选取拓扑结构以提升协作效能
原创
©著作权归作者所有:来自51CTO博客作者华为云开发者联盟的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
当创建pvc后,kubernetes组件如何协作
当创建一个pvc后,kubernetes会发生什么?
Kubernetes In-Tree CSI存储插件 pvc -
CloudIDE 如何提升研发效能
CloudIDE ,一种基于云计算技术开发的云原生集成开发环境,可以帮助企业提高研发效能,实现数字化转型的目标。本文将探讨 CloudIDE 如何在数字化时代体现业务价值、提升研发效能。
开发环境 开发效率 IDE CloudIDE 云原生集成开发环境 -
从DevOps到BizDevOps, 研发效能提升的系统方法
研发效能提升不知从何下手、一头雾水?阿里资深技术专家一文为你揭秘研发效能提升的系统方法
业务需求 运维 业务流程 DevOps BizDevOps -
DevOps落地与转型:提升研发效能的方法与实践
DevOps落地与转型:提升研发效能的方法与实践
devops 运维 测试人员 工程实践 -
VUCA时代,敏捷团队如何提升效能?
先从一个故事开始:三周前接手了一个项目,一把手坚定支持并亲自推进,需求清晰明确且已文档化,合作各方已拉通目标
优先级 复杂度 迭代 管理工具 项目管理