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 组织结构。
本文转载自 华为云产品与解决方案 公众号。
原文链接:https://mp.weixin.qq.com/s/yY9Akmn2-3vXmCxXKBnP4g
评论