Close

团队结构在 DevOps 中的重要性

不同的团队需要不同的结构,具体取决于公司的大环境。

Shana Vu

DevOps 产品营销


当软件团队走上实践 DevOps 的道路时,必须了解不同的团队需要不同的结构,具体则取决于公司的大环境及其对变革的渴求。

DevOps 团队的崛起


您的公司有 DevOps 团队吗?您很有可能已经有此团队。在我们的 DevOps 趋势调查中,我们发现超过三分之二的受访组织在某种程度上已拥有具备“DevOps”头衔的团队或个人。

随着 DevOps 的日益普及,我们经常听到软件团队现在就是所谓的 DevOps 团队。但是,仅仅添加新工具或指定团队作为 DevOps 还不足以充分实现 DevOps 的优势。

如果不彻底掌握 DevOps 以及如何正确实现 DevOps,DevOps 转型则通常仅限于重组或使用最新工具。正确采用 DevOps 需要文化变革,团队也会因此拥有新的结构、新的管理原则并采用某些技术工具。

DevOps 团队结构的类型

确定要实现的 DevOps 团队结构取决于许多因素,包括组织所处理的产品数量、技术领导力以及开发和运营团队是否有能力对齐各项流程。


Determining which DevOps team structure to implement depends on numerous things, including the number of products an organization works on, technical leadership, and if development and operations teams have the capability to align processes.

查看解决方案

适用于整个团队的 DevOps 工具

相关资料

了解 DevOps 优势

请务必明白,并非每个团队都有相同的目标,或者会使用相同的实践和工具。即使是团队的组成方式也不应简单地整齐划一。不同的团队需要不同的结构,具体则取决于公司的大环境及其对变革的渴求。两家不同公司的 DevOps 团队可能会截然不同。

为了获得 DevOps 的好处(加快上市时间、提高部署频率、改善团队文化以及加强跨团队和部门的协作),务必要了解每个团队所起的作用。在很多组织中,仍有各种各样的团队头衔,其中有些团队承担着多种角色(例如,基础架构团队既是工具的选择方又是工具的维护方)。这种杂乱无章使得领导层很难看清整个组织格局,也难以回答一个重要问题:我们是否已建立起合适的团队?我们是否在某些没有任何团队处理的领域缺乏能力?团队在自主权和其他团队的支持之间是否看似已有必要的平衡?

团队拓扑员工的出色工作为 Atlassian 如何看待不同的 DevOps 团队方法提供了一个起点。请注意,以下团队结构会根据公司的规模和成熟度采取不同的形式。实际上,组合多种结构,或者将一个结构转变为另一个结构,通常是最好的方法。

开发和运营的协作

很多人将 DevOps 视为简单的开发和运营人员的紧密合作和共同协作。这是 DevOps 的基础,且具有明显的优势,包括软件团队能够更快、更可靠地构建、测试和交付。

这种团队结构成功的关键在于,开发人员了解运营团队在保持正常运行时间和尽可能减少解决方案方面所承受的压力。同样重要的是,运营团队要了解开发团队对于缩短部署时间和上市时间所抱持的期望。

开发和运营相结合

此团队结构假设开发和运维人员会携手合作并以一个团队的形式运作,从而统一战线,肩负共同的目标。有时也称为“免运营”,这在拥有单一主要数字产品的科技公司内十分常见,如 Facebook 或 Netflix。它甚至还可采用“谁构建,谁运行”的形式,由同一人负责应用的开发和运营。

DevOps/SRE

在这一由 Google 兴起的团队结构中,开发团队会将产品交给实际运行软件的站点可靠性工程 (SRE) 团队。在此模型中,开发团队会向 SRE 团队提供日志和其他工件,以证明其软件充分满足 SRE 团队提供支持的标准。开发团队和 SRE 团队根据运维标准进行协作,且 SRE 团队有权要求开发人员在进入生产之前改进其代码。

运营即平台

在此团队结构中,开发团队中的一个团队会充当所有事务运营专业知识的来源,并与基础架构即服务 (IaaS) 团队完成大部分对接工作。此团队结构取决于在公共云中运行的应用,因为 IaaS 团队会创建开发团队所用的可扩展虚拟服务。

DevOps 即外部方

对于 DevOps 即外部方的情况,公司会在有限的时间内使用 DevOps 顾问或 DevOps 团队来协助开发和运营团队朝上述的前两个团队结构(开发和运营人员的协作,以及共同开发和运营)迈进。

尽管有多种方法可实施 DevOps,但也有很多方法可以免于实施 DevOps。团队和 DevOps 主管应警惕反面模式,这些模式通常会呈现为孤立、缺乏沟通以及工具的优先级错误地高于沟通。

Roles and responsibilities on DevOps teams


无论您的团队是哪种结构,所有实践 DevOps 的高职能团队都会定期在开发和运营之间分享知识和经验,无论是在定期会议期间,还是在不同团队中工作的人员之间,以及/或让团队成员在两个职能部门之间跨部门开展工作。高职能团队体现了 DevOps 的优势:更快的上市时间、更短的提前期、更高的部署频率、更高质量的交付成果、更出色的团队文化以及团队和部门之间加强协作。

DevOps 团队通常由具备开发和运营技能的人员组成。一些团队成员可能更擅长编写代码,而另一些团队成员可能更擅长运营和管理基础架构。但在大型公司中,从 CI/CD 到 IaaS 再到自动化,DevOps 的各个方面都可能发挥作用。其中可能包括从开发到生产环节负责协调和管理应用的发布经理,以及维护和自动实现团队 CI/CD 管道的自动化架构师。

那么,加入 DevOps 团队需要具备哪些特质?加入 DevOps 团队的工作要求会随着新技术和新技能不断发展,但优秀的 DevOps 团队始终会保持出色的素质。扎实的技能、良好的沟通能力、团队合作精神和适应能力是出色 DevOps 从业人员的一些核心特质。这些特质组合可能比 Kubernetes 或 Git 的百科知识更为重要。但是两者兼具,则大有裨益!

成功的另一要素是领导者愿意向团队、协作团队和整个组织宣传 DevOps。不一定非要是头衔中包含“经理”字眼的人员,而是愿意说服持怀疑态度的团队成员开始弥合自己团队与外部团队之间差距的任何人:无论是开发人员、运营团队还是平台团队。

Software to support your team


虽然团队每天执行的实际工作会决定 DevOps 工具链,但您需要某种类型的软件来联系和协调您的团队与组织其他部门之间的工作。Jira 是一款功能强大的工具,可以规划、跟踪和管理软件开发项目,让您的直属团队成员和扩展组织随时了解您的工作状态。

诸如 ZoomSlackMicrosoft Teams 一类的应用也是团队快速有效沟通的必要工具,尤其是在远程优先的环境中。过去,开发人员可以走到运营团队那里询问事件的状态。现在,虚拟通信应用提供了相同的即时通信功能。

但是请谨记,用于保持团队合作的软件只是一种手段,而非目的。如果您的组织想要充分发挥 DevOps 的潜力(透明度、信任和自主性),团队需要的便不仅仅是工具。

Shana Vu
Shana Vu

Shana is a product marketer passionate about DevOps and what it means for teams of all shapes and sizes. She loves understanding the challenges software teams face, and building content solutions that help address those challenges. If she's not at work, she's likely wandering the aisles of her local Trader Joes, strolling around Golden Gate, or grabbing a beer with friends.


分享这篇文章
下一个主题

推荐阅读

将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。

Devops 示意图

DevOps 社区

Devops 示意图

模拟研讨会

地图插图

免费试用

注册以获取我们的 DevOps 新闻资讯

Thank you for signing up