云原生渠道工程的三大悖论

那么,安排怎么在这么多埋伏失利的圈套的情况下完结其软件作业的事务方针呢?

译自The 3 Paradoxes of Cloud Native Platform Engineering,作者 Jason Bloomber 是一位抢先的 IT 职业分析师、作者、主题演讲者,在企业技能和数字化转型的多个颠覆性趋势方面获得全球认可的专家。他是数字化转型分析公司 Intellyx 的创始人兼总裁。

云原生核算现已主导了每个需求动态、灵敏基础设施规划化的企业 IT。

Kubernetes 和云原生生态系统使企业可以更快、更可靠、成本更低地构建和布置应用程序,但或许很杂乱,难以把握。速度和规划的诺言对于陷入细节的开发团队来说或许好像不在话下。为了构建这种软件,开发人员需求他们能得到的一切帮助。

DevOps 实践和东西至关重要,但仅仅是起点。为了在云原生环境中取得 DevOps 的成功,安排希望按照仍在萌芽阶段的渠道工程最佳实践树立内部开发者渠道(IDP)。

渠道工程的方针是提高开发者的生产力。如果开发团队具有生产力,那么他们应该可以以事务需求的速度和规划布置软件。

即便有 IDP,云原生开发的方针也为寻求其利益的安排设定了一个高标准。每走一步好像便是后退一步。

过火重视开发者生产力会反而拔苗助长。渠道工程或许拔苗助长地迫使开发者远离。云原生布置变得越来越杂乱,办理就越困难。

本文(三篇系列文章的第一篇)将讨论这些悖论。

安排怎么在这么多埋伏着失利的圈套的情况下完结其软件作业的事务方针?

开发者生产力悖论

一切人都赞同开发者生产力是一件功德。开发者的生产力越高,他们可认为安排付出的每一美元交付的软件就越多。

但是,开发者生产力的问题在于怎么丈量它

麦肯锡(McKinsey)最近在一篇有争议的文章“是的,你可以丈量软件开发者的生产力”中处理了这个问题,其间理论化了这种丈量可以改善软件开发结果。

特别是,麦肯锡认为当开发者将活动集中在构建、编写代码和测验软件上时,他们便是有生产力的。其他“软”活动,包括规划、思考、辅导和架构,会吸走开发者的生产力。

从这种观念来看,很明显为什么开发者会对立。任何遵从麦肯锡主张的生产力丈量方法都会彻底忽略一个现实,即将作业重心放在作业“软”部分的开发者与整天双手在键盘上的搭档比较,实际上对其安排整体更具生产力和价值。

像云原生这样杂乱的软件方案只会加剧对开发者生产力的这种脱节。在云原生思维形式中,最具生产力的开发者是那些专注于使软件动态化和可扩展化以满足事务需求的人,而与他们花在编码上的时间无关。

开发者不喜欢用拉取请求数量这样的虚荣指标来衡量。为了优化生产力,最好让开发者自己决定应该专注于哪些活动。

渠道工程悖论

考虑到市场上很多的 DevOps 东西,组装最佳东西链会让一切人都怠慢速度并导致结果不一致。

处理方案: 保证渠道工程团队构建一个包含最佳一组用于当前任务的东西的 IDP。这样一个渠道的方针是为开发者提供一个“黄金途径”来遵从,本质上是一个推荐的东西和流程集来完结他们的作业。

但是,这个黄金途径或许会成为一个紧身衣。当这个黄金途径过于规范时,开发者会偏离它来完结作业,然后打败了它的初衷。

与丈量他们的生产力一样,开发者希望可以对怎么编写软件做出自己的选择。

因而,渠道工程师在为云原生开发构建 IDP 时有必要特别小心。跳到结论,认为适用于其他架构方法的东西和实践也适用于云原生,这或许是一个大过错。

例如,可观测性东西是任何 IDP 的一个重要组成部分,但大多数可观测性东西都不合适云原生开发者的需求。相反,在 Google Cloud 上运转的像 Chronosphere 这样的可观测性东西将为云原生开发者提供完结作业所需的洞察力,即便在杂乱和动态的环境中也是如此。

云原生悖论

这种云原生思维为开发者的作业带来了架构方面的重视。

云原生开发者构建单个微服务,但也有必要跟踪集群中的 Pod 行为以及集群池中的集群行为。换句话说,他们有必要一起重视森林和树木。

开发者的生产力有赖于这种双重重视。任何成功的渠道工程作业也是如此。

那么,怎么处理这种森林与树木的悖论呢?答案在于数据。在开发微服务的一起保持对大局的恰当重视的唯一方法是把握有关云原生基础设施性能的一切相关数据

但是,太多的数据比太少的数据更糟,这便是为什么来自 Google Cloud 的东西的云原生可观测性以及云原生思维对于完结云原生核算的事务方针至关重要。

Intellyx 的观点

处理这些悖论取决于到达正确的平衡。

过火重视开发者生产力反而拔苗助长,但太少的重视则会错过改进的机会。答案是: 倾听你的开发者以到达正确的平衡。

过于受限的 IDP 将导致开发者设法绕过它,然后打败其目的。构建遵从云原生思维的 IDP 将有助于达成恰当的平衡。

鼓舞开发者在大规划云原生核算中把握大局对于完结软件作业方针至关重要,但没有恰当的可观测性数据,他们将永远无法在这一大局和日常构建与布置微服务的作业之间找到平衡。

因而,整个云原生思维的概念包含了一切这些平衡行为。倾听你的开发者,给他们正确的数据,让他们找到平衡。

本文在如此众生yylives.cc/)首发,欢迎我们访问。