如何基于制品元数据提升交付效率 | 阿里巴巴DevOps实践指南_制品元信息-程序员宅基地

技术标签: 云原生  阿里云  阿里巴巴DevOps实践指南  运维  devops  持续交付  

编者按:本文源自阿里云云效团队出品的《阿里巴巴DevOps实践指南》前往:https://developer.aliyun.com/topic/devops,下载完整版电子书,了解阿里十年DevOps实践经验。

为保证软件交付的质量,我们对交付物有功能和性能上的要求。这些要求体现在交付过程中产生的数据上,包括:代码评审数据、安全扫描数据、回归测试结果等。这些数据以交付物(制品)为载体。我们把这些数据称作制品的元数据。

什么是元数据?

元数据指一经产生就不会变化的数据。元数据是由系统产生,具有不可篡改和可回溯的特点,因而成为发布过程中的必要基础数据。

元数据为何重要?

为说明元数据的重要性,先举个例子。阿里中台应用在架构上依赖很多业务团队的二方包,这些二方包质量往往难以把控。那怎么来解决呢?

一种改进方法就是从单个应用维度,到应用依赖树维度更”全景”更”立体”展示数据。以代码评审为例,在中台应用的制品中,包含很多业务团队开发的二方包。而在评审中台应用时,只会看到 pom 文件中的二方包的版本号变了,看不到具体的代码变化。对于评审者,需要看到这些版本号背后的代码变化,以及与这些代码变化相关的信息,如相关的需求、有没有通过代码检测、单元测试结果等。

一个应用运行时的依赖大部分在构建时就决定了。运行时问题很多是由依赖引起的。让构建依赖(树)产生新价值,从而实现风险左移。

元数据主要有哪些?
除了在构建阶段取到的依赖树,我们还有其它数据,如测试产生的质量数据,安全扫描产生的安全数据。这些数据我们都会存放到"元数据中心",再通过"管控策略中心",利用这些数据对交付过程做自动化的卡点。这一流程通常包括可见、可控、可信三个阶段。

"可见"是给用户展现元数据中心的数据,给用户透出交付过程的风险与瓶颈。
"可控"是给用户根据看到的问题后,再设置规则来实现自动化检测与门禁。
"可信"则是结合"合规安全扫描服务"与"制品仓库"能力,完成数据与规则的融合,实现交付安全。
从可见到可控,再到可信,最后达到提升交付效率的目标。与此同时,元数据与规则不断演进,慢慢沉淀成知识库࿰

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/BYvonne/article/details/122688445

智能推荐

python——爬虫与脚本_python爬虫脚本-程序员宅基地

文章浏览阅读1.7k次,点赞2次,收藏4次。关于py在其他方面的脚本或爬虫应用_python爬虫脚本

iOS开发进阶(九):OC混合开发嵌套H5应用并互相通信_ios 和h5通信-程序员宅基地

文章浏览阅读863次,点赞25次,收藏23次。APP开发过程中,当某些待集成三方SDK不得不使用原生技术栈集成实现时,抽离出公共功能部分并由H5实现是不错的解耦选择,为此便涉及到原生应用如何集成三方SDK,如何嵌套H5,并实现原生与H5通信。_ios 和h5通信

(转)火车算法-程序员宅基地

文章浏览阅读1k次。转至:http://www.cnblogs.com/wenfeng762/火车算法详细说明了按代收集的垃圾收集器的成熟对象空间的组织。火车算法的目的是为了在成熟对象空间提供限定时间的渐进收集。概述 在传统编程语言中, 对于那些无用对象, 程序员需要在原本指向这个对象引用都消失之前之前, 回收它所占据的内存空间(这里的消失指的是引用不再指向这个对象)。这导致了两个常见的..._火车算法

python中的万能分页-程序员宅基地

文章浏览阅读73次。若是使用django这个框架,这个框架自带了一个分页的功能!Paginator对象方法init(列表,int):返回分页对象,参数为列表数据,每面数据的条数属性count:返回对象总数属性num_pages:返回页面总数属性page_range:返回页码列表,从1开始,例如[1, 2, 3, 4]方法page(m):返回Page对象,表示第m页的数据,下标以1开始..._python中的流氏分页

【react】理解Fiber_react的fiber-程序员宅基地

文章浏览阅读318次。所以假如虚拟DOM很深的话,由于 JS线程和浏览器 GUI 线程是互斥的,处理 js 的时间过长,会导致浏览器刷新的时候掉帧,造成卡顿。把一个耗时长的任务分成很多小片,每一个小片的运行时间很短,虽然总时间依然很长,但是在每个小片执行完之后,都给其他任务一个执行的机会,这样唯一的线程就不会被独占,其他任务依然有运行的机会。在这个阶段的开始,Fiber 有已经在 UI 上渲染的 current 树,finishedWork,或者在渲染阶段建立的 workInProgress 树和效果列表。_react的fiber

【C语言】栈(Stack)的实现(定义、入栈、出栈、销毁)|图解数据结构,超详细解析_c stack-程序员宅基地

文章浏览阅读3.4k次,点赞12次,收藏15次。定义一个栈结构体。_c stack

随便推点

cesium入门简介-程序员宅基地

文章浏览阅读4.4k次,点赞3次,收藏13次。简介:Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和mobile。主要功能:1.使用3d tiles格式流式加载各种不同的3d数据,包含倾斜摄影模型、三维建筑物、CAD和BIM的外部和内部,点云数据。并支持样式配置和用户交互操作。2.全球高精度地形数据可视化,支持地形夸张效果、以及可编程实现的等高线和坡度分析效果。3.支持多种资源的图像_cesium

python输出字符串排列组合代码_python展示六个字母的组合成果-程序员宅基地

文章浏览阅读1.3k次。import rez = [“啊”,“阿”,“埃”,“挨”,“哎”,“唉”,“哀”,“皑”,“癌”,“蔼”,“矮”,“艾”,“碍”,“爱”,“隘”,“鞍”,“氨”,“安”,“俺”,“按”,“暗”,“岸”,“胺”,“案”,“肮”,“昂”,“盎”,“凹”,“敖”,“熬”,“翱”,“袄”,“傲”,“奥”,“懊”,“澳”,“芭”,“捌”,“扒”,“叭”,“吧”,“笆”,“八”,“疤”,“巴”,“拔”,“跋”,“靶”,“把”,“耙”,“坝”,“霸”,“罢”,“爸”,“白”,“柏”,“百”,“摆”,“佰”,“败”,“_python展示六个字母的组合成果

我的架构演化笔记 11:ES之ansj分词器之定制:动态支持StopWord及同义词功能-程序员宅基地

文章浏览阅读418次。2019独角兽企业重金招聘Python工程师标准>>> ..._ansjtokenizer

Ubuntu安装SSH服务-程序员宅基地

文章浏览阅读3.6w次,点赞23次,收藏115次。Ubuntu安装SSH服务_ubuntu安装ssh

python绘制图形沙漏_pytorch-pose一个用于二维人体姿势估计的PyTorch工具包。 - pytorch中文网...-程序员宅基地

文章浏览阅读1.7w次。pytorch-posePyTorch-Pose是2D单人姿态估计的一般流水线的PyTorch实现。其目的是为最流行的人体姿态数据库(如MPII人体姿态,LSP和FLIC)提供训练/推理/评估的接口,以及带各种数据增强选项的数据采集器。用于数据准备和增强的一些代码来自Stacked沙漏网络。感谢原作者。特征多线程数据加载多GPU训练记录仪培训/测试结果可视化安装1、PyTorch(>=0.2..._pytorch-pose

(单用户/多用户)远程连接GPU服务器上的jupyter notebook解决方案_多用户多环境jupyter notebook解决方案-程序员宅基地

文章浏览阅读1.9k次,点赞3次,收藏6次。远程连接GPU服务器上的jupyter notebook近期由于要跑一些cv方向的代码,自己的电脑GPU太垃圾,根本跑不动。正好实验室有GPU服务器,配了2块Nvidia Geforce RTX 2080 Ti。然后就涉及到需要在自己的笔记本上远程连接服务器上的jupyter notebook来使用GPU服务器上的算力。以下分为单用户和多用户的解决方案。单用户就是1个账号上运行1个jupyter notebook服务,只需要分配一个端口;多用户就是你一个账号要开n个jupyter notebook服务_多用户多环境jupyter notebook解决方案

推荐文章

热门文章

相关标签