前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在layer中定义DevOps[DevOps]

在layer中定义DevOps[DevOps]

作者头像
yyx
修改2019-12-30 10:52:46
9610
修改2019-12-30 10:52:46
举报

要了解DevOps的含义,需要对其进行分解。

gears and lightbulb to represent innovation
gears and lightbulb to represent innovation

DevOps是什么?我认为这是每个DevOps初学者都会问的问题。

如果问10个人这个问题,很可能会得到10个不同的答案。这肯定说明了DevOps的普遍性,开放性,但也说明缺乏明确的定义或实现。这并不一定是一件坏事,但是对于DevOps的职业者和职业女性来说,这可能会很困难。

有人会回答您的问题,“这是一种文化,因为它打破了壁垒”或“是Jenkins管道,因为可以帮助更快地交付软件。”这些不是可怕的答案,但我的意思是最好的方式。

可能的是,远没有完整的答案。因此,它们完全是错误的。

DevOps不是一种文化,一套工具,流程和程序,也不是有关运营和开发的学术理论。通过尝试用这些术语定义DevOps,我相信会错过DevOps的大图,因为实际上,DevOps就是所有这些,甚至更多。

DevOps定义可能取决于在组织中的级别。这是因为不同级别对公司的总体目标有不同的看法。高层管理者的视野为50,000英尺,团队负责人的视野为20,000英尺,工程师在杂草中处于不同的位置。这些是这些人操作的抽象级别。因此,DevOps对他们每个人来说意味着不同的事情。

抽象级别

最近,我读了Niklas Modig写的一本很棒的书《 This is Lean》。他详细介绍了“精益”定义的详尽列表如何使“精益”是什么令人困惑。 Modig将这些定义分解为所谓的“抽象级别”。在这里,我将对DevOps做同样的事情,并且将使用Modig的水果示例来解释这个概念。

一块水果

假设在一家咖啡馆,然后向咖啡师索要一块水果。期望得到什么?切片还是整个?特定颜色?一片梨和整个梨有很大的不同,红色和绿色的苹果也是如此。这是最低抽象级别,因为正在处理影响个人,团队,组织或公司的细节,但没有比这更广泛的了。

对于DevOps,这将类似于:“我们是否在Jenkins中编写脚本或声明性管道?”流程和程序,个人和团队的决定仅影响他们的团队甚至组织。例如,我不能指望为团队A编写的管道会在它们被拾取并放入团队B的存储库中的情况下起作用。这些团队工作的内容非常不同,所以我编写的管道非常不同。每个都不同。可能会从一个方面获得知识和想法,但在另一个方面却会有所不同。

一种水果

在中间的抽象层次上有不同的成果。当问咖啡师一块水果时,会得到哪种水果?梨或苹果,但是水果的颜色和分段并不重要。

也可以在DevOps中做到这一点:“我们使用Jenkins还是GitLab CI?”或“我们使用GitHub还是Bitbucket?”或“我们使用云解决方案还是在内部托管?”这些决策会影响公司中的整个组织,甚至可能影响整个公司(如果它们决定整体企业工具的业务)。尽管我为团队A编写的管道无法为团队B开箱即用,但我仍在编写Jenkins声明性管道,因为至少从现在开始,我的组织使Jenkins成为首选CI / CD工具。

一篮水果

最后一个抽象层次是一篮子水果,或“水果就是水果”的概念。在示例中,当问咖啡师一块水果时,她伸手拿到一个黑色的袋子里,拿出她的手先碰到的任何水果。梨和苹果没有区别。只是水果。

在DevOps中,“这是一种文化”定义非常适合。组织可能会决定要在软件交付方面实现更多自动化,或者打破开发人员和运营团队之间可能存在的障碍。在纸上看起来,这是一组概念,但没有人定义实现细节。

申请黄金圈

仍需要为DevOps定义,我认为没有比将Simon Sinek的Golden Circle模型应用于水果层更好的方法了。在Sinek的模型中,组织出于某种目的(“为什么”)以某种方式(“如何”)做某事(“什么”)。 Sinek提出“为什么”是公司最重要的决定性因素。黄金圈可以为当前和潜在客户确定差异化因素。同样,要定义DevOps,首先需要了解“为什么”是有意义的。

为什么会这样呢?

Sinek写道,阐明“为什么”之所以如此有力,是因为它可以帮助其他人与公司建立情感联系,并提高忠诚度和灵感。在DevOps中,这是文化定义所起的关键作用,但还需要更多。如果对“为什么”的回答是,我们实施了DevOps来更快地向客户交付软件,那么就无法建立情感联系。

相反,如果“为什么”是“在整个公司垂直领域联系客户的需求,以便在对客户最重要的时候优先考虑为客户带来最大价值的工作”?这将建立与客户共鸣的联系。他们可以相信我们重视他们的成功,因为这意味着我们的成功。对于员工而言,他们现在看到了他们的创新和创造力如何为我们最看重的价值,客户,而不只是我们的底线贡献价值。

如何交付原因?

当定义不解释“为什么”和“什么”的“原因”时,我们非常精确,因为这样做的目的是激发员工和同事确定交付方式和交付方式。在DevOps中,这完全符合文化的概念,但是“如何”定义了文化。在Sinek的著作中可以清楚地看到这一点,他将“为什么”的问题与公司的价值和实力联系起来。我相信这些是刻画公司文化特征的驱动因素。

如何将客户需求与公司垂直行业联系起来?

在开发运维之前,公司中的不同组织/团队/小组普遍拥有不同的工作,而对于大多数人来说,这是他们所知道的全部工作。他们有标准的操作程序(SOP),定义了操作方式和操作方式,但是个人很难知道他们如何为整体做出贡献。 DevOps打破了各自为政的局面,而不是由像ops和dev这样的垂直行业组成的团队,而是由水平行业组成的团队。也许这些团队专门针对特定客户或特定软件功能。关键是团队由满足客户需求所需的所有专业知识组成,而不仅仅是待办事项中的凭单。

如何在正确的时间交付客户需求?

在当今市场上,拥有最大的功能集,最佳的用户体验和最出色的客户服务是远远不够的。这些都是简单的增值。这意味着它们可以增加价值,但不会促使客户选择我们而不是竞争对手。他们不再定义我们的行业。通过发布的时间和适用性,客户可以确定价值。如何满足他们的需求,是将重点放在客户身上,而不是别人认为会增加利润的下一个项目。在正确的时间交付方式是前者与自动化相结合的结合,可以简化交付过程,使其可重复,稳定,安全和更快。

在正确的时间,用什么来满足需求?

如果正确完成,领导层将定义“为什么”和“如何”,但将“什么”留给组织和团队。 “什么”由在给定情况下有意义的工具和定义的过程组成,但可能不适用于整个组织甚至不同的公司。例如,我的团队写了声明性的Jenkins管道,因为我们喜欢它进入门槛较低,而不是必须学习Groovy才能管理管道。公司中的其他组织仅依靠脚本化管道,因为他们的团队更适合于为Java虚拟机(JVM)开发。无论如何,“什么”是细节团队用来促使公司满足“为什么”的要求。

什么是DevOps?

答案是,这取决于。

这取决于角色,要应用的抽象级别,最重要的是,要为其定义DevOps的公司,组织或团队是什么。我认为,C级领导层应该了解所有抽象层次和黄金圈的各个层面,至少是顺带一提。但是要小心,仅定义“为什么”,并可能在“如何”中起作用。激发公司其他成员提出“如何”和“内容”的细节。对于个人贡献者,在开发团队/组织/公司将用来使自己在竞争中脱颖而出的“内容”时,要大胆,有创造力,突破障碍并在框外思考。

我相信DevOps是打破障碍,打破规范,提供质量,公司与客户的共生联系,不断改进和学习的动力—仅仅是一种职业生活方式。我希望您在本文中发现了价值,并能激发您继续DevOps的旅程。它是漫长而永无止境的,就像人生中许多宝贵的旅程一样。我希望有一天能在路上见到你。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档