怎么理解单一可信源呢?经过思考之后,笔者觉得用我们小时候最常听到的一句话来描述:“事实的真相只有一个”,没错,就是柯南的这句话,来形容单一可信源最为贴切。单一可信源这个概念其实很早就被各个行业所提出,尤其是在身份管理系统中(比如我们的身份证),打造单一可信源可以说是重要的一项工作。那么什么是单一可信源呢?我们先来了解下面两个概念
Single source of truth(SSOT)
SSOT是在信息系统的设计理论中,构建信息模型和关联模式的实践,确保每个数据元素只能在一个地方掌握。
Single version of truth(SVOT)
SVOT是一种向决策者提供清晰准确的数据的实践,确保数据的准确性、唯一性、及时性、对齐性等。
单一可信源与上面两个概念有什么关系呢, “单一可信源”中的两个形容词“单一”与“可信”是本文需要探讨的两个关键词。我们分这两个维度来说明:
单一
“单一”对应的理论是SSOT,保证我们信息是从一个单一及统一的位置获取。
落地到DevOps中,需要我们的数据资产有统一的源码仓库、制品仓库、文档等管理体系,并且要覆盖研发环境及生产环境,确保软件开发整个生命周期的数据资产管理的连续性。该统一体系需要在组织内共享,并将积累的知识与经验在组织内复用。
可信
“可信”对应的理论是SVOT,确保我们获取的信息是真实可信的,具有权威性的。
落地到DevOps中,需要我们软件、版本在部署到测试或生产环境时都是可信的,其中可信包含两个方面,质量与安全。
可信质量: 指开发过程中的代码质量、测试通过率、审批结果、合规性、所属人等。
可信安全: 指开发过程中的代码安全风险、外部依赖安全风险、开源许可证合规性风险、开源软件使用风险、动态应用安全风险等。
如果企业不建设DevOps体系的单一可信源会导致什么问题呢?
信息孤岛,生产率下降
大研发团队涉及的所有人员没有单一的版本获取位置。对于协同开发的团队,该问题愈发明显,代码及版本存储位置分散,导致获取时间延长,生产率下降
错误频出,代价高昂
大研发团队涉及的所有人员没有没有可信的版本获取位置。尤其是对于运维人员,获取的版本如果不可信,会导致发布故障频出,修复代价高昂。
企业建设DevOps体系的单一可信源会有什么收益呢?
统一管理、提高生产率
信息很容易在单一可信源中获取,减少使用成本,避免重复造轮子、浪费生产力
故障修复成本低
质量可信、安全可信。开发过程中可以做到全流程质量及安全监控,保障交付物内建质量高标准。降低沟通成本,减少维护及修复工作量。
DevOps中落地“单一可信源”的最佳实践与案例
参考
《CapitalOne – 千亿资产银行如何进行唯一可信源的建设》
《从混乱到有序 –AppsFlyer如何通过唯一可信源改进制品管理》
欢迎观看JFrog杰蛙每周二在线课堂,点击报名: https://www.bagevent.com/event/6643470