DevOps 文字培训
DevOps 组织中有哪些角色?
DevOps 通才
DevOps 通才的主要职责是确保 DevOps 实践在组织及其各 DevOps 团队中顺利建立、高效稳健地推进并持续改进。因此,组织中每位员工与 DevOps 团队协作所需的能力和思维方式,都是决定组织能取得多大成功、能持续多久的基本因素。
无论你是 DevOps 组织的一员,还是与其他 DevOps 团队协作,都非常有必要弄清楚:与其他软件开发和交付方法相比,DevOps 为什么更容易取得成功、更加高效,而且能带来更好的工作体验。在软件及其相关领域举足轻重的数字化时代,我们强烈建议每位专业人士都成为 DevOps 通才,无论你是否是 IT、软件或技术领域的从业者、领导者或管理人员。
DevOps 高管
DevOps 高管负责确保组织成功运用 DevOps 专业知识。他们是推动 DevOps 团队转变工作方式和思维方式的关键人物,能够建设性地影响团队和管理层,把事情办成。他们帮助 DevOps 团队与业务战略保持一致,负责识别、选择 DevOps 推广事项,确定其范围和优先级,最终管理 DevOps 在组织中的推广。
DevOps 高管选定 DevOps 组织的关键成员,确保所有 DevOps 专业人员得到充分培训、获得明确任务,并分配到最适合其技能和经验水平的 DevOps 项目。他们积极辅导和指导 DevOps 团队,协助资源规划,解决问题、扫清障碍,使整个 DevOps 组织取得成功。
DevOps 高管就既定的 DevOps 业务使命目标和确定的业务吞吐量指标向高层管理人员汇报。他们推广最佳实践、已实现的改进和成功案例,使整个 DevOps 组织受益。他们与所有 DevOps 团队密切合作,尤其关注 DevOps 项目经理、DevOps 产品负责人、DevOps 发布经理、DevOps 培训师和 DevOps 教练,因为这些角色各自承担特定的组织使命。
DevOps 项目经理
DevOps 项目经理负责实现既定项目目标。其主要职责包括制定明确且可实现的项目目标、拟定项目需求,以及管理项目管理三角中的制约因素,即成本、进度、范围和质量。
DevOps 项目经理往往代表客户,必须凭借对所代表公司的了解,确定并落实客户的确切需求。他们是开发和交付团队与客户之间的桥梁。因此,他们需要对所在行业有相当的了解,以便理解问题并与交付团队和客户展开讨论。要高效解决成本、进度、范围和质量相关的关键问题,尤其是让客户满意,必须能够适应签约方的各项内部流程,并与指定代表建立紧密联系。
“DevOps 项目经理”这一头衔指受命完成项目的人。他们对项目负全部责任,并承担必要的问责义务、拥有所需权限,以便在预算内按时以尽可能高的质量实现预期项目目标。
DevOps 产品负责人
DevOps 产品负责人是一个独特且职责广泛的角色,融合了传统项目经理和产品经理角色中具有挑战性的所有方面。DevOps 产品负责人还在 DevOps 团队中代表客户,确保在恰当的时间完成恰当的工作。这个角色需要与 DevOps 软件开发和交付的整体团队与流程紧密协作,让每次产品发布都创造尽可能高的附加价值。
DevOps 产品负责人承担若干关键职责,其中包括:
- 管理 DevOps 产品待办列表。
- 协助制定产品发布路线图和发布计划。
- 识别产品依赖关系,并根据组织使命妥善确定优先级。
- 管理利益相关方并与其沟通。
无论你是否担任团队中的 DevOps 产品负责人,只要直接与客户合作,就应理解这个角色,以便尽可能帮助客户并为他们创造最大的附加价值。
DevOps 架构师
DevOps 架构师负责产品部署工具和流程的架构、设计与开发。他们需要设计并开发创新解决方案,为持续集成和持续部署流水线构建与维护产品架构及相关工具和流程。
DevOps 架构师负责定义一组松耦合的服务,使其使用者受到服务或服务环境变更的影响降到最低。使用者必须调用服务,一定程度的耦合不可避免,但架构师可以通过分离接口与实现、制定版本管理政策、建立运行时契约,以及确保平台独立性和位置透明性,将依赖降到最低。
DevOps 架构师对 DevOps 组织和团队的成功至关重要。除了为产品和服务构建理想的松耦合架构,DevOps 组织还需要极其可靠、完全自动化且畅通无阻的环境。在瀑布式开发中,人人都得开四驱车在崎岖的地形上越野。DevOps 架构师的任务是修建高速公路,让其他人可以开更快的车。
DevOps 开发人员
作为 DevOps 开发人员,你将客户的业务目标转化为软件解决方案和系统。与普通开发人员的主要区别在于,你在工作全过程中都牢记客户的业务目标和业务需求。你清楚雇主为什么聘用你,也了解客户需要什么、对你有什么期待。
作为 DevOps 开发人员,你还是客户信赖的技术伙伴,让雇主和客户充分信任你,并愿意继续与你合作。你负责将业务目标和需求落实为软件设计及一行行可运行的代码。你的职责超出单纯设计或编程,覆盖软件的端到端工程生命周期,从需求分析、架构愿景和测试自动化,到用户体验、扩展、运维、维护及退役。
作为 DevOps 开发人员,你负责通过频繁的小步迭代部署可运行的软件解决方案,确保将设计和软件持续交付给客户,快速且不间断地为双方业务创造价值。请始终牢记你的使命:打造你和客户都喜爱的软件,同时让客户满意!
如果你对开发充满热情,并且致力于通过 DevOps 软件工程实践构建高效、世界一流的优质系统,我们强烈建议你成为 DevOps 开发人员。
DevOps 运维工程师
DevOps 运维工程师负责监控、维护和部署支撑产品技术的先进软件和基础设施。他们在数据中心部署和维护网络基础设施与服务器,参与 DevOps 交付和部署团队的安装工作,并制定产品交付和部署应急预案。
这一角色的职责从实际部署数据中心相关技术,到与各利益相关方密切合作,尤其是与 DevOps 开发人员一起,确保将可用性、可维护性、可监控性和分析能力融入产品核心。
组织客户看到的一切,都由 DevOps 运维工程师构建的架构提供支撑。他们负责保持这些系统正常运行。从开发和维护产品服务到构建下一代平台,DevOps 运维工程师让组织的产品组合得以实现。
DevOps 运维工程师以做工程师中的工程师为荣,即使拆解后保修失效也乐于把设备拆开再重建。他们随时准备值班,以保持系统和网络正常运行,尽可能为客户提供最好、最快的体验。
DevOps 质量保证工程师
DevOps 质量保证工程师主动分析产品的独特卖点、需求、用例、软件架构及其他各类软件设计材料,找出适合验证被测产品质量的测试类型。他们与 DevOps 开发人员和项目经理协作,确定实施测试的方法,以及执行和管理测试工作的工具。
DevOps 质量保证工程师抱着积极寻找缺陷的态度,编制富有创意的测试用例清单,还会按优先级和难度给用例分类。他们编写并评审详尽的测试用例文档,确保团队其他成员正确理解这些用例。
DevOps 质量保证工程师持续跟进并审查测试执行各阶段,确保已实施的用例达到预期目标。他们作为自信、可靠的领域专家,说明测试用例的目标和重要性。他们报告并审查缺陷,确保计划中的产品功能不打折扣。
此外,DevOps 质量保证工程师培养整个 DevOps 团队参与测试设计评审,并根据团队的反馈增加有创意的测试用例,减少测试设计中的冗余。还有一项重要工作占用了他们相当多的时间:实现测试自动化、执行测试,并重新运行测试,以验证软件开发团队提交的缺陷修复。
DevOps 信息安全工程师
在传统 IT 组织架构中,信息安全往往事后才被考虑。这项非功能性需求经常等到识别和修复问题最困难、成本最高、最紧迫时才得到处理。
DevOps 信息安全工程师制定组织的整体安全战略,同时规划实施细节。他们明白,必须持续在逐步加强安全措施的好处与可能给业务带来的负担之间取得平衡。他们在产品工程早期就主动查找和修复设计中的安全问题,也对运行中的软件系统采取同样的做法。他们监控网络和软件遥测数据,按风险安排工作优先级。
在 DevOps 组织中,DevOps 信息安全工程师与 DevOps 开发人员和运维工程师并肩工作,在软件开发和交付过程中更早融入自己的建议和专业知识。他们使组织能在产品端到端交付生命周期的各阶段将安全纳入产品。
DevOps 发布经理
DevOps 发布经理负责管理和协调产品从开发到生产的全过程。与传统项目经理相比,他们通常更多地处理传统项目经理无法参与的技术细节和障碍。他们监督开发、测试和部署的协调、集成和流转,以支持持续交付,并负责建立和维护端到端应用交付工具链。
DevOps 发布经理与 DevOps 项目经理和产品负责人密切合作,制定产品发布路线图和发布计划,识别并公开依赖关系,确保 DevOps 团队为存在依赖关系的任务妥善安排优先级,并支持 DevOps 产品待办列表管理、利益相关方管理和沟通。
DevOps 培训师
和 IT 行业其他快速增长的趋势一样,采用 DevOps 方法也可能产生误解。相当多的 DevOps 团队和企业在组织、行为和运维方面犯错,影响团队绩效及其与整个组织的配合,而组织通常还未真正实现敏捷。遗憾的是,这些不一致有时会导致组织放弃 DevOps 实践,给行业及 DevOps 的支持者带来损失。
DevOps 培训师是像你一样有才干的 DevOps 支持者,负责确保组织内部正确开展 DevOps 实践的培训和教学。
DevOps 培训师可以独立于组织内的 DevOps 团队,由高管直接支持,推动自上而下的 DevOps 培训。也可以加入 DevOps 团队,与高管合作取得所需支持,持续培训组织中的其他部门,帮助他们与 DevOps 团队配合。如果你希望帮助 DevOps 团队、业务团队和高层发起人正确学习和实施 DevOps 实践,我们强烈建议你成为 DevOps 培训师。
DevOps 培训师通常为外部客户提供培训服务,在教学环境中教授 DevOps。DevOps 教练通常在客户组织内部辅导 DevOps 团队成员,确保他们正确理解并使用 DevOps。团队在真实工作环境中开展工作时,教练会提供实用技巧。
DevOps 教练
和 IT 行业其他快速增长的趋势一样,采用 DevOps 方法也可能产生误解。相当多的 DevOps 团队和企业在组织、行为和运维方面犯错,影响团队绩效及其与整个组织的配合,而组织通常还未真正实现敏捷。遗憾的是,这些不一致有时会导致组织放弃 DevOps 实践,给行业及 DevOps 的支持者带来损失。
和 DevOps 培训师一样,DevOps 教练也是像你一样有才干的 DevOps 支持者,帮助组织正确理解、推广和采用 DevOps 实践。
DevOps 教练可以独立于组织内的 DevOps 团队,由高管直接支持,推动组织和文化自上而下采用 DevOps。也可以加入 DevOps 团队,与高管合作取得所需支持,推动组织其他部门持续改进,与 DevOps 团队更好地配合。如果你希望帮助 DevOps 团队、业务团队和高层发起人正确理解、采用和实施 DevOps 实践,我们强烈建议你成为 DevOps 教练。
总结
本章介绍了 DevOps 组织中最常见的角色。请记住,组织内不必每支 DevOps 团队都配齐所有角色。少即是多。确保团队专注于少数重要事项,去掉许多琐事,从而实现组织期待的 IT 和业务绩效。
一个实用的原则是,团队应具备实现最顺畅的持续工作流所需的角色与技能。从下一章开始,我们将讨论工作流。
