IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 研发流程——准入体系设计 -> 正文阅读

[网络协议]研发流程——准入体系设计

什么是准入?

准入是对当前状态的必要条件进行判定的过程。

在进行变更之后,我们开发完成就会进入发布的环节,但我们的发布流程或者发布系统会对我们本身的代码做一个检查,通常我们要实现一个需求或者把问题修复的时候,我们会建立一次变更,然后进行一些研发的测试,但当我们代码写完了,测试也测完了的时候,我们的诉求肯定是想要发布,但是在发布时,我们就需要考虑当前的代码是否可能会对未来产生影响,这里不仅仅是功能层面,还会有很多功能层面没有考虑到的地方。它可能牵扯到更细节的地方,也可能牵扯一些我们没有注意的地方。
所以我们需要考虑几点:

  1. 健康
    首先需要考虑我们的代码一定是健康的,如果代码不健康那么不仅会影响自身,也可能污染其它代码。
  2. 安全
    安全是非常关键的一点,因为一旦存在线上安全漏洞,可能造成的损失是不可估量的。
  3. 流程
    准入它也是检测当前发布流程前半程的流程是否走完的一个很好的节点,比如像安全审核、CodeReview 这些是否在前置环节已经达成了,这里我们可以做统一拦截,针对不达标的应用做卡点。
  4. 协同
    这个流程是相辅相成的,就是这个流程到底谁去做,或者谁去审批,这些审批流程到底走的怎么样,是否已经知道这些信息了,都可以通过准入这个点来做相关卡点。
  5. 合规
    这个相对来说会比较少,但是有的时候比如这个变更可能是线上变更,它牵扯到将一些数据发布到对于公众的平台里,那就会涉及到经过法务这一关,如果法务审批的合规情况没有通过,那就需要对其进行拦截,避免不该发布到线上的东西发布。

所以,回过头来去看 ,这个状态就是我要从当前代码到安全、到整体信息协同、再到信息合规,这些都是我们当前要发布到线上的时候必备的条件,如果达不成,轻则带来一些损失,重则可能带来的就是故障或者灾难。

因此准入就是这个环境最重要的一点,它源于变更,但又由变更的下游去提供了这样一个相对来说严格而又重要的一环。

当然准入也会包含大量的节点,因为不论是健康、安全、还是合规流程都可能是一个个节点,这些节点串连起来最终形成一个链条。这个链条就是一个准入链。
当然很多时候它可能不仅仅是一个链条,有可能是多个链条,针对多个链条共同构成一个准入清单。

围绕整个清单具体去看:

健康安全

这一卡点上不仅是要保障目前变更的代码它本身的健康,要具备其安全性,并确保上线满足预期。

1. 代码扫描

这里我们通常会有代码扫描去做相关的信息扫描,可能包括规范扫描、性能扫描以及一些潜在异常扫描。
通过扫描我们会将代码中可能存在的问题都挖掘出来,这样我们可以确保上线之前对其进行处理,进而确保线上稳定无忧。

2. CodeReview

CodeReview 这块主要牵扯到了 代码审查是否完成,我们通过其他人帮你进行 CodeReview 来确保你的代码在整体的团队中得到大家认可,并且大家也能知道你这次的设计和预期,进而确保你的代码出现不良设计的时候进行纠正和修复。

3. 风险扫描

风险扫描包含常规的漏洞扫描,比如你的代码有常规的 XSS 漏洞,或者依赖的第三方包本身可能存在漏洞。
还有一些低版本扫描,对于一些业界的开源包他们都有一些推荐版本的包,这种情况可能就说明更早的版本会出现一些问题,无论是性能问题还是安全问题,那我们都需要在这之上去完成版本更新,通过低版本扫描可以帮助我们把一些潜在问题都排除掉。
最后还有一些 SQL 风险扫描,比如 SQL 注入可能存在的风险、慢 SQL 可能存在的风险,以及你的 SQL 如果没有命中索引导致全表扫描。
通过这样一些扫描,能够帮助我们把代码中的一些问题和不健康的新号发现出来,从而保证我们代码健康无忧。

流程协同

流程协同主要是确保我们发布流程正确合规。第二也能确保通过流程把上下游触达的人员都能充分得到相关信息。

1.测试检查

比如测试检查的环节,可能包含 CR 流程、自动化执行流程。这些流程是确保你到达这些节点时已经走完。因为 CR 是很多人共同参与的流程,而自动化则是一个需要时间去验证的过程。那么在这里做好相关卡点,等待二者流程完成,也是能够实现我们在上线的代码都能妥善解决。

2. 紧急发布申请

它是一个我们在发布窗口之外需要给予发布去修复某些问题的申请,这里我们通常是跳过发布窗口的卡点,能够让我们不受发布窗口的限制。
第二是我们面对一些比如马上过节了,马上过年了,我不能再发布了,或者有一些大型的活动,大型的验收、发版,在这些时候我们都需要对代码进行封版。避免再引入一些不可控的问题。但是封版不是绝对的,有时候会遇到一些问题,这些问题需要修复,那就需要紧急申请,可能申请需要比较高的层级,流程也比较长,但是作为准入卡点来说,它是必不可少的。

3. 审批流程

审批流程主要包括:

  1. 发布审批流程
  2. 安全审批流程

4. 流量控制

这个主要是在灰度发布过程中。
当我们想要去申请一次灰度发布,让线上流量能够流转到当前新发布的功能之上时,需要走相关流程,控制流量能够进入当前代码。
同时,在你验证了当前流量没问题的时候,可以不断增大灰度范围,直到最后确认流量切换到新的代码分支上,这样就完成了流量切换流程。

总结

风险控制

通过上面这样我们就做好了在发布之前,所有准入卡点做好相关风险控制,而卡点可以控制存在风险不可被通过。

联通触达

卡点具备的联通触达的能力也能流程相关人员都能被触达,并且与人员相关的行为都可以触达下一个环节。

信息记录

而最后它也起到相关信息记录,所有扫描结果和卡点结果都被记录到流程之中,可以帮助一旦线上出现问题的时候协助记录问题定位,并且能够明确出责任到底在哪里。

将这些共同串联起来,就能够帮助我们完成安全生产、发布过程中的细节落地。
通过卡点这个守门员的职能,帮助我们把线下风险控制到研发流程之中,避免将这类风险带到线上,从而确保线上稳定。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 21:14:47  更:2022-10-08 21:16:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 8:20:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码