转载

运用供应链管理实现更快速、更高质量的交付

Cyber Statecraft Initiative的总监、Cyber Statecraft的联合创始人Joshua Corman认为供应链管理得当可以让持续发展百尺竿头更进一步。在 GOTO Amsterdam 2016 大会 上,他谈到了有关Rugged DevOps和软件供应链的问题。他提出,现在整个社会对于IT和软件的依赖已经超过了我们提升软件安全水平的速度,因此在这种情况下在软件发展过程中使用供应链方法可以帮助我们解决其复杂性问题,从而降低风险并提高质量。

InfoQ采访了Corman有关于使用开源代码时候会遇到的风险问题,供应链管理如何实际运用于软件开发中,它如何影响软件质量,以及DevOps与供应链管理之间的关系。

InfoQ:在你看来,使用开源代码的时候最大的风险是什么?

Joshua Corman:有几个方面。

  1. 我们越来越多地使用开源代码,但这也是相对的,你会越来越依赖于开源代码,当它出现问题的时候你也会受到更大的影响。
  2. 开源代码并没有我们想象的那么可靠。虽然这种观点往往会被认为是一种抨击,但其实并不是。这是对于事实的清晰认识。我们一直相信开源代码非常安全。也许我们都听过著名的林纳斯定律:“足够多的眼睛,就可让所有问题浮现。”,这是对开源代码的很高肯定。但我们逐渐发现这些眼睛并不很有效,也并不完全安全。我们见到过太多已经存在了许多年甚至是超过十年的安全漏洞。
  3. 现在到了开源代码的解禁时期。攻击者终于开始关注到开源代码了。一旦发现了OpenSSL
    Heartbleed,另外31个CVEs也在同一年中被发现。对于核心开源项目,例如Apache
    Struts2、OpenSSL、Bash、Apache Commons
    Collection等等正遭受到大规模的攻击。攻击者意识到攻击这些热门项目就可以让更多人受到影响。我们对于开源代码的过分依赖也带来了大规模的攻击和共同的风险。

InfoQ:你可以简单地描述一下供应链管理:它究竟是什么?它用在哪里吗?

Corman:这是在第二次世界大战后曾带领日本丰田汽车发展的Edward Deming提出的准则。 有三条改变汽车制造业的准则:

  1. 使用更少、更好的供应商。
  2. 使用这些供应商最高质量的零件。
  3. 在制造的过程中追踪零部件的去向。

当汽车发生质量问题,例如安全气囊发生问题时,这可以保证汽车制造商仅召回受到影响的汽车。

InfoQ:可以举例说明供应链管理运用在软件开发中的实践吗?

Corman:在开源产品方面,上面提到的三个准则相应转变为:

  1. 使用更少高完善的开源项目——能兼顾到其安全问题的项目(例如日志框架)。
  2. 只使用这些项目最新、最少漏洞的版本,可以避免已知的漏洞。
  3. 追踪哪个应用程序使用了什么版本,所以当遇到攻击的时候,你就可以压缩确定问题的平均时间和修复的平均时间。

InfoQ:这些方法如何影响到软件产品的质量?

Corman:在现代软件开发中使用成熟的Deming供应链准则的优势包括:

  • 开发者大量减少无计划、不定期的工作以及痛苦的上下文转换,这让他们有更多时间和预算来创造更多价值,并减少浪费。
  • 在操作中可以减少中断次数,减少修复由于可避免的风险造成的服务中断,当发生问题时,他们可以大大地减少响应时间。

InfoQ:如何将供应链管理和DevOps联系起来?

Corman:DevOps很喜欢Deming的理论,敏捷方法也遵循了Deming的某些言论,Lean、DevOps、TQM和SixSigma也相同。具体到开发中,Lean引入了8种管理浪费的方式,减少了对于交付代码、让渡价值以及取悦客户的开销的浪费。软件供应链引入了一种不可度量的、不可管理的浪费的类型。管理可以大量提升开发者的生产力。在一家财富100强的保险企业中使用后第一年就提高了开发者20%的生产力。

在实际操作中,使用高质量的项目可以减少服务中断,这可以避免使用到高质量项目过去已知的受影响的版本。此外,在项目中尽可能运用较少的几个版本可以减少生产中的业务差异,提高服务质量。

我们也不能忘记,同样的选择能提高安全性、减少事故是由于可避免的、可选择的风险和攻击面。此外,当不可避免的攻击临近时,追踪哪个软件使用了什么版本的项目可以大大加快MTTI和MTTR(确定问题的平均时间和修复的平均时间)。

InfoQ:我们去哪里可以了解更多软件开发中的供应链管理信息?

Corman:可以选择阅读丰田供应链管理图书。 我这里有一些谈话的视频资料:

  • 在DevOps Enterprise Summit会议上Docker的John Willis给出的不变的敬畏
  • 在DevOps Days DC上的使用软件供应链方法的持续加速
  • building IoT上CyberSafety关于互联网的一切:当位和字节遇到血与肉

我同样认为检查你的消耗质量以及应用程序安全性非常重要。这里有几款免费的工具可以检验你使用的产品的质量。我知道Sonatype提供免费的应用程序安全检查。OWASP提供依赖检测。

如果你想知道你的组织中有多少浪费,包括在开发时间和花费方面数以百万计(规模),我和一个从事于数据科学/数据可视化的朋友共同开发了一款免费的交互式计算器,你也可以进行使用。当你管理执行团队的时候,这个工具非常有用。请点击这里进行使用:www.sonatype.com/calculator。

查看英文原文: Applying Supply Chain Management to Deliver Faster with Higher Quality

原文  http://www.infoq.com/cn/news/2016/07/supply-chain-management-DevOps
正文到此结束
Loading...