写点什么

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

  • 2016-07-10
  • 本文字数:2022 字

    阅读完需:约 7 分钟

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:可以选择阅读丰田供应链管理图书。 我这里有一些谈话的视频资料:

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

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

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

2016-07-10 19:001749
用户头像

发布了 218 篇内容, 共 62.2 次阅读, 收获喜欢 73 次。

关注

评论

发布
暂无评论
发现更多内容

基于Seata探寻分布式事务的实现方案

京东科技开发者

大数据 分布式事务 微服务架构 关系型数据库 seata

内网穿透你真的了解吗?

C++后台开发

网络安全 NAT Linux服务器开发 内网 网络穿透

外包学生管理系统架构文档

白杨

天翼云斩获2022全球分布式云大会两项大奖

天翼云开发者社区

模块四课后作业 - 设计千万级学生管理系统的考试试卷存储方案

闲人Eric

架构实战营

Docker daemon configuration overview(Docker 守护进程配置概览)

独钓寒江

语音生成领域模型又填一名猛将

felix

深度学习 语音合成 TTS

使用无代码构建客户门户

间隔

PHP转Go之后,我又开始研究机器学习和自动驾驶了。

王中阳Go

自动驾驶 Apollo

多年缓慢成长,近3年野蛮狂飙,谁是这个赛道的王者?

ToB行业头条

AI 训练加速原理解析与工程实践分享

百度Geek说

人工智能 机器学习 12 月 PK 榜

案例丨多元业态管理服务厂商如何走通数字化转型之路

优秀

数字化转型 数字化管理

华为云桌面解决方案,打造安全高效办公新体验

科技怪授

云桌面

【从零开始学爬虫】采集全国高校导师数据

前嗅大数据

数据采集 爬虫教程 爬虫入门

架构实战营第 10 期 - 模块三作业:外包学生管理系统详细架构设计文档

kaizen

「架构实战营」

华为云桌面,助力企业数字化转型

爱尚科技

【经验】硬件工程师与PCB槽孔斗智斗勇的故事

攻城狮华哥

工具 PCB PCB设计 槽孔

版本控制 | SVN,Git与Helix Core,谁的数据管理基础设施更安全?

龙智—DevSecOps解决方案

git svn 版本控制 版本控制系统

研讨会回顾 | 自动化测试“领导者”SmartBear解析软件质量与测试现状调研

龙智—DevSecOps解决方案

软件测试 自动化测试 测试自动化

小程序游戏的3大分发平台

FinFish

小程序 小游戏 小游戏运营

MySQL分库分表,可能真的要退出历史舞台了!

Java永远的神

MySQL 程序员 后端 架构师 分布分表

代码质量与安全 | 如何将清洁代码标准扩展到整个企业,促进业务上的成功?

龙智—DevSecOps解决方案

代码质量 代码安全

【观察】融云百幄:为政企数智办公按下“快进键”

融云 RongCloud

融云 数智化 政企 百幄

当云原生网关遇上图数据库,NebulaGraph 的 APISIX 最佳实践

NebulaGraph

图数据库 API网关

华为云桌面,让企业随时随地开启云上办公

爱尚科技

小游戏开发投放平台及分成政策盘点

Onegun

小游戏 小游戏开发

软件测试面试真题 | 什么是 Redis ? Redis缓存应用场景有哪些?

测试人

redis 软件测试 自动化测试 测试开发

32篇年度最佳AI论文;Python编译器Codon开源;ChatGPT的前世今生

OneFlow

人工智能 深度学习 大模型

融云任杰:激活组织生命力 让听见炮火的人做决策 | TGO专访

融云 RongCloud

专访 程序员‘

SpringMVC还是Spring WebFlux?谁是下一代的Java程序员技术栈?

程序员小毕

Java spring 程序员 后端 springmvc

5分钟搞懂Jenkins分布式架构

俞凡

架构 DevOps cicd 最佳实践

  • 扫码加入 InfoQ 开发者交流群
运用供应链管理实现更快速、更高质量的交付_精益_Ben Linders_InfoQ精选文章