DevSecOps核心流程基本组成分析

目录

一、DevSecOps核心流程基本组成

1.1 核心流程概述

1.2 DevSecOps 核心流程说明

1.2.1 核心流程图

1.2.2 流程说明

1.2.2.1 持续开发

1.2.2.2 持续构建

1.2.2.3 持续运维

1.2.2.4 持续监控

二、DevSecOps核心流程经典场景

2.1 Azure DevSecOps核心流程

2.1.1 核心流程图

2.1.2 核心流程步骤说明

2.1.2.1 步骤一

2.1.2.2 步骤二

2.1.2.3 步骤三

2.1.2.4 步骤四

2.1.2.5 步骤五

2.1.2.6 步骤六

2.1.2.7 步骤七

2.1.2.8 步骤八

2.1.3 总结


一、DevSecOps核心流程基本组成

1.1 核心流程概述

在 DevSecOps中,根据软件研发生命周期的不同阶段将整体划分为规划、开发、构建、测试、发布、部署、运维、监控8个部分。并根据其包含部分的不同,分为持续开发、持续构建、持续集成,持续交付、持续都署,持续运维、持续监控7个流程

1.2 DevSecOps 核心流程说明

1.2.1 核心流程图

如图所示的7个流程、基本覆盖了研发活动的各个方面,并分别在不同的场景下被不同的角色使用,推动软件的规划到交付上线,它们共同组成了DevSecOps的生命周期。

关于各个子流程的含义,其中持续集成、持续交付和持续部署在讨论DevOps模型时已介绍,这里对其他的几个流程再做简要的说明。

1.2.2 流程说明

1.2.2.1 持续开发

主要涉及软件“规划”和“编码”阶段,在规划阶段确定项目目标后,开发人员着手应用程序编码开发。开发人员使用版本控制工具对代码进行维护。

1.2.2.2 持续构建

是指开发人员需要更频繁地提交对源代码的更改,可以是每天或每周。对于提交的代码,构建系统可以及早发现问题。构建时不仅涉及代码编译,还包括代码审查 单元测试、打包制品等。

1.2.2.3 持续运维

是指通过配置管理和自动化手段,持续地为线上应用提供高效率、高成功率的自动化运维,如快速扩容、快速升级。通过效率优化、变更管理、紧急事务处理等,保证系统的稳定运行,达成 SLA目标。

1.2.2.4 持续监控

是整个生命周期中非常关键的阶段,此阶段持续监控应用程序在线上的运行情况,检查应用程序的正确功能,通过监控工具,保障线上应用程序的健康性。

熟悉了DevSecOps模型构建的核心流程后,下面我们通过一个经典的DevSecOps核心流程来举例说明下,帮助大家理解DevSecOps的核心流程。一起来看下Azure DevSecOps 的核心流程是什么吧。

二、DevSecOps核心流程经典场景

2.1 Azure DevSecOps核心流程

2.1.1 核心流程图

在 DevSecOps 中其核心流程最终都会落地到系统承载上。在业界,DevSecOps系统的建设通常有自建和依托公有云厂商服务搭建两种方式。通用而经典的DevSecOps流程应用场景如图1-20 所示。

2.1.2 核心流程步骤说明

2.1.2.1 步骤一

开发代码主要托管在源码管理平台,当开发人员访问源码管理平台时,源码管理平台将其调用用户身份认证服务完成用户登录的身份认证。

2.1.2.2 步骤二

代码编辑器IDE作为联机开发环境,是开发人员日常工作的重点工作空间,开发人员完成代码编写后,继续托管在源码管理平台上。

2.1.2.3 步骤三

当开发人员提交代码、代码编译,代码构建时,流程调度引警通过CVCD流水线触发安全检查,调研安全工具链执行检查操作。

2.1.2.4 步骤四

当有新的代码提交时,流程调度引擎触发代码构建和自动化测试。

2.1.2.5 步骤五

流程调度引擎将上一步构建的制品部署到基础设施上,通过基础设施管理器调用和分配其他基础设施资源。

2.1.2.6 步骤六

策略检查器管理基础设施上的安全策略配置,评估部署过程中策略的变更是否满足安全合规要求。

2.1.2.7 步骤七

安全运营中心为线上已部署的应用程序进行持续安全防护,阻断攻击行为。

2.1.2.8 步骤八

安全监测平台对线上已部署的应用程序持续开展跟踪和评估,分析应用日志,输出监控报告或监控告警。

2.1.3 总结

这8个操作步骤中,步骤1)和步骤2)对应于持续开发流程,步骤2)和步骤3)对应于持续构建流程,步骤1)~4)对应于持续集成流程,步骤1)~6)对应于持续部署流程,步骤1)~7)对应于持续运维流程,步骤1)~8)对应于持续监控流程。虽然将上述8个步骤划分到不同的DevSecOps流程中有点牵强,但通过这样的划分,能让大家理DevSecOps核心流程和典型应用场景,回顾大家已有的研发背景知识,结合日常工作环境帮助读者来理解DevSecOps的流程。

好了,本次内容就分享到这,欢迎大家关注《DevSecOps》专栏,后续会继续输出相关内容文章。如果有帮助到大家,欢迎大家点赞+关注+收藏,有疑问也欢迎大家评论留言!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/652591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV 3 - Mat对象介绍

1 Mat对象与IplImage对象 Mat对象OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两个部分,头部与数据部分lpllmage是从2001年OpenCv发布之后就一直存在,是c语言风格的数据结构,需要开发者自己分配与管理内存,对大的程序…

HCIA-HarmonyOS设备开发认证-3.内核基础

目录 前言目标一、进程与线程待续。。。 前言 对于任何一个操作系统而言,内核的运行机制与原理是最为关键的部分。本章内容从多角度了解HarmonyOS的内核运行机制,涵盖进程与线程的概念,内存管理机制,网络特性,文件系统…

HTTP连接池在Java中的应用:轻松应对网络拥堵

网络拥堵是现代生活中无法避免的问题,尤其是在我们这个“点点点”时代,网页加载速度直接影响到我们的心情。此时,我们需要一位“救世主”——HTTP连接池。今天,就让我们一起探讨一下,这位“救世主”如何在Java中大显神…

C 练习实例46-宏#define命令练习

宏定义的三种用法&#xff1a; 给变量赋初值替换某一个操作符宏定义函数 代码&#xff1a; #include <stdio.h> #define PI 3.1415926 //给变量赋初值 #define CH * //替换某一个操作符 #define area(a,b) a*b*b //函数 int main() {printf("PI%f\n",PI);…

力扣151 反转字符串中的单词 Java版本

目录 题目描述代码补充知识 题目描述 给你一个字符串 s &#xff0c;请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意&#xff1a;输…

redis持久化知识汇总

redis持久化知识汇总 主要分两个持久化方式RDB和AOF RDB RDB是以快照的形式将数据写入二进制文件&#xff0c;可以通过save和bgsave触发&#xff0c;也可以自动化 Save方式是直接在主进程进行持久化操作&#xff0c;缺点就是会导致阻塞服务器。 Bgsave方式会先创建子进程&…

Blender教程(基础)-初识快捷键-02

Blender是一款开源的跨平台全能三维动画制作软件&#xff0c;提供从建模、动画、材质、渲染到音频处理、视频剪辑等一系列动画短片制作解决方案。Blender拥有方便在不同工作下使用的多种用户界面。以下是一些常用的Blender快捷键&#xff1a; 全选物体&#xff1a;A 框选物体&…

Linux下安装openresty

Linux下安装openresty 十一、Linux下安装openresty11.1.概述11.2.下载OpenResty并安装相关依赖&#xff1a;11.3.使用wget下载:11.4.解压缩:11.5.进入OpenResty目录:11.6.编译和安装11.7.进入OpenResty的目录&#xff0c;找到nginx&#xff1a;11.8.在conf目录下的nginx.conf添…

2870.使数组为空的最少操作次数

给你一个下标从 0 开始的正整数数组 nums 。 你可以对数组执行以下两种操作 任意次 &#xff1a; 从数组中选择 两个 值 相等 的元素&#xff0c;并将它们从数组中 删除 。从数组中选择 三个 值 相等 的元素&#xff0c;并将它们从数组中 删除 。 请你返回使数组为空的 最少…

C# 获取计算机信息

目录 一、本机信息 1、本机名 2、获得本机MAC地址 3、获得计算机名 4、显示器分辨率 5、主显示器分辨率 6、系统路径 二、操作系统信息 1、操作系统类型 2、获得操作系统位数 3、获得操作系统版本 三、处理器信息 1 、处理器个数 四、CPU信息 1、CPU的个数 2、…

【分布式技术专题】「探索高性能远程通信」基于Netty的分布式通信框架实现(附通信协议和代码)(上)

基于Netty的分布式通信框架实现 前提介绍回顾Dubbo分布式通信框架组成元素程序执行流程消息协议设计实现机制ChannelInboundHandlerAdapter自定义事件处理 ChannelOutboundHandlerAdapter 编(解)码处理器编码过程阶段ChannelOutboundHandlerAdapter序列化实现ChannelOutboundHa…

wireshark利用sshdump自身组件进行远程实时抓包过滤

引言 以前在不了解wireshark可以远程抓包的时间&#xff0c;经常通过tcpdump在远程linux主机将抓包文件保存下来后&#xff0c;然后拖拽入windows中再打开&#xff0c;进行分析查看。 此过程比较繁琐&#xff0c;也不够实时。比较常用的抓包动作是仅出现某特征的报文后&#…

秀!巧用字典推导式将列表中的元素“值”转换字典格式

示例&#xff1a; contact_list [{display_name: 10手机, data1: 1-000-10}, {display_name: 11手机, data1: 1-000-11}, ] 把上面的列表转成下面的字典 contact_dir {10手机: 1-000-10, 11手机: 1-000-11} 巧用字典推导式将列表中的元素转换为所需的字典格式&#xff0c;下…

数据结构与算法:复杂度

友友们大家好啊&#xff0c;今天开始正式学习数据结构与算法有关内容&#xff0c;后续不断更新数据结构有关知识内容&#xff0c;希望多多支持&#xff01; 数据结构&#xff1a; 数据结构是用于存储和组织数据的方式&#xff0c;以便可以有效地访问和修改数据。不同的数据结构…

1.23神经网络框架(sig函数),逆向参数调整法(梯度下降法,链式法则(理解,及处理多层神经网络的方式))

框架 输入层 隐藏层 存在一个阈值&#xff0c;如果低于某一阈值就不激活&#xff1b;高于了就激活 输出层 逆向参数调整方法 初始阶段&#xff0c;随机设置权重值w1,w2 依据训练集 两个数学方法 &#xff08;梯度下降、链式法则&#xff09; 调参借助两个数学方法 当导数为…

2024.1.27 GNSS 学习笔记

1.精确的描述轨道的一组数据(星历)是实现精确定位与导航的基础。 2.GNSS卫星广播星历的提供方式一般有两种&#xff1a;一种是提供开普勒轨道参数和必要的轨道摄动改正项参数&#xff0c;如GPS、BDS、Galileo三大系统采用此种模式&#xff0c;还有QZSS系统&#xff1b;另一种是…

Spring Cloud 之Config详解

大家好&#xff0c;我是升仔 在微服务架构中&#xff0c;统一的配置管理是维护大规模分布式系统的关键。Spring Cloud Config为微服务提供集中化的外部配置支持&#xff0c;它可以与各种源代码管理系统集成&#xff0c;如Git、SVN等。本文将详细介绍如何搭建配置服务器、管理客…

用ASM HEMT模型提取GaN器件的参数

标题&#xff1a;Physics-Based Multi-Bias RF Large-Signal GaNHEMT Modeling and Parameter Extraction Flow (JEDS 17年) 模型描述 该模型的核心是对表面势&#xff08;ψ&#xff09;及其随施加的栅极电压&#xff08;Vg&#xff09;和漏极电压&#xff08;Vd&#xff09…

unordered_mapunordered_set封装

map&&set unordered_map&&unordered_set介绍unordered_set哈希桶的封装部分unordered_map的封装unordered_set封装 unordered_map&&unordered_set介绍 看名字是和map\set类似的迭代器&#xff0c;和map\set的区别如下&#xff1a; map底层是红黑树封…

C++ STL中list迭代器的实现

list 的模拟实现中&#xff0c;重难点在于迭代器功能的实现&#xff0c;因此本文只围绕 iterator 及 const_iterator 的设计进行介绍&#xff0c;其余如增删查改则不再赘述——在C语言的基础上&#xff0c;这些都非常简单。 与 string / vector 不同&#xff0c;list 的节点原生…