您的位置:  首页 > 技术杂谈 > 正文

成功的DevOps Leader 应该清楚的3个挑战

2022-04-24 22:00 https://my.oschina.net/u/4518070/blog/5518664 Doooooooog 次阅读 条评论

如果你是DevOps经理可以看下自己是否做到了这些? 本文提供实用建议,帮助 DevOps 经理制定有效的策略来处理这三个问题。如果你是DevOps工程师或即将成为的,也可以了解到DevOps的成功的挑战。
在项目管理领域,我们的目标是尽快交付高质量的项目,并获得积极的投资回报率。尽管这些目标对所有项目都是通用的,但与实现这些目标相关的挑战对于每个行业来说都是独一无二的。在 DevOps 生态系统中,我们感兴趣的是监控 KPI 以衡量质量、开发人员量化投资回报率的自主程度以及团队之间沟通的流动性以避免延迟。

内容

  1. 如何保证 DevOps 项目的质量?

    1. 为什么建立 KPI ?

    2. 如何建立KPI?

  2. 如何保证 DevOps 项目的 ROI?

    1. 为什么授权开发人员 ?

    2. 如何让开发者自主?

  3. 您如何确保 DevOps 项目按计划进行?

    1. 促进 DevOps 团队的沟通 - 为什么?

    2. 如何促进 DevOps 团队的沟通?

如何保证 DevOps 项目的质量?

为什么建立 KPI ?

有必要有明确的 DevOps KPI来在公司内部建立风险管理策略。例如,高风险通常与低质量的基础设施相关联,因为应用程序崩溃可能意味着巨大的收入损失。关键的安全漏洞也是如此。

KPI 对于可视化团队取得的进展也非常有用。基于 KPI 的目标是跟踪项目进度和成功的最佳方式。这使得可以了解要实现的目标与当前情况之间的差距。

DevOps 工程师的时间很宝贵,将他们的精力投入到对您的公司最重要的服务上是很重要的。清晰的 DevOps KPI 可以帮助您确定优先考虑哪些工作。
在“站点可靠性工作手册”一书中,SRE 团队 Google 解释说,他们战略的核心是 KPI - SLO(服务水平目标)。对于谷歌来说,定义一个量化的服务目标是必不可少的。这使他们能够根据硬数据做出可靠性决策。

如何建立KPI?

为了设置允许评估 DevOps 项目质量的 KPI,我们建议:

  1. 选择适合服务框架并可以衡量质量的 KPI。DevOps 项目中最常见的指标是:

    • 应用程序正常运行时间百分比-这是最容易跟踪的 KPI

    • MTTR(平均恢复时间)——即服务中断时重启服务的平均时间

    • 发布提前期- 即将代码更改交付生产的平均时间。

    • 安全漏洞的数量 - 即渗透测试后容忍的漏洞数量

  2. 评估每个 KPI 的风险,以便就识别出关键或主要风险的最低水平达成一致;

  3. 衡量项目前当前状态中定义的KPI;

  4. 根据已识别的风险和服务的当前状态,选择项目的优先级;

  5. 对于每个 KPI,定义要通过 DevOps 项目实现的目标。

  6. 确保开发团队和 DevOps 团队在目标上保持一致

  7. 确保 DevOps 团队在适当的监控和警报工具上投入时间,以便能够随着项目的进展衡量 KPI。

如何保证 DevOps 项目的 ROI?

为什么授权开发人员?

为了计算项目的投资回报率,有必要能够确定与该投资相关的收益。与 DevOps 项目相关的收益通常与开发人员投入生产的速度提高有关。
为了提高生产速度,有必要能够促进开发人员的工作,同时让他们获得自主权。自主开发人员不再依赖 DevOps 工程师来执行他的任务,然后他会提高生产力,从而增加投资收益。
为了让开发人员自主,DevOps 工程师尽可能多地自动化任务,从而减少对人力资源的需求。他还确保必要的文档是可访问的并且是最新的,以便开发人员可以自己解决经常出现的问题,从而避免陷入困境。

如何让开发者自主?

  1. 确保用户故事以最终用户为中心——对于 DevOps 项目,这就是开发人员。

  2. 确保任务旨在提高发布速度。例如,通过自动化某些流程或减少开发人员对 DevOps 工程师的依赖。

  3. 确保团队花时间创建适当的文档并保持最新。组织研讨会以评估文档是否允许开发人员独立做出手势。

  4. 将 DevOps 工程师的时间用于支持开发团队。实施后续策略,解决开发人员经常遇到的问题。

  5. 设置开发者满意度调查问卷,了解他们遇到的问题

您如何确保 DevOps 项目按计划进行?

促进 DevOps 团队的沟通 - 为什么?

在 DevOps 项目中,开发人员 (dev) 和工程师 (Ops) 之间的沟通对于保持进度至关重要。DevOps 是几个相互依赖的团队之间的协作,这些团队之间的依赖数量很高。许多延迟是由 sprint 早期未解决的依赖关系引起的。
与其他数字项目不同,DevOps 项目主要由了解技术问题的技术人员(开发人员或工程师)组成。团队之间很容易相互理解,因此遇到的问题无需宣传或通过中转进行讨论。
在实践中,他们没有必要知道所开发的功能,甚至每个服务的角色。但是,重要的是要了解这些服务的影响以及开发人员遇到的问题。

如何促进 DevOps 团队的沟通?

  1. 在需要共同努力的不同团队之间组织非正式聚会,以建立相互信任并促进同一团队内的归属感。

  2. 让 DevOps 工程师参与开发人员活动,以确保他们了解当前的开发人员问题和挑战:即将到来的截止日期、优先级、发布工作流程、正在进行的维护项目……

  3. 禁止开发人员向 DevOps 工程师提出的所有非正式请求。

  4. 在开发人员和 DevOps 工程师之间建立共同目标

  5. 设置流以及时跟踪和删除依赖项


为了保证高质量的项目,快速交付并获得良好的投资回报率,项目经理必须牢记某些关键问题。在 DevOps 项目的上下文中,这些问题是:

  • 关键绩效指标监控

  • 开发者自治程度

  • 团队沟通

展开阅读全文
  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接