DevSecOps平台架构系列-互联网企业私有化DevSecOps平台典型架构

目录

一、概述

二、私有化DevSecOps平台建设思路

2.1 采用GitOps+公有云建设

2.2 采用GitOps+私有云建设

2.3 总结

三、GitOps及其生态组件

3.1 采用GitOps的好处

3.1.1 周边生态系统齐全

3.1.2 便于自动化的实现

3.1.3 开发人员属性GitOps

3.2 GitOps部分生态组件介绍

四、私有化DevSecOps平台架构

4.1 典型架构架构图

4.2 关键场景的流程

4.3 总结


一、概述

通过前两篇文章对微软Azure和亚马逊AWS DevSecOps平台架构的简单介绍,想必大家已经明白,依托CI/CD的DevOps管道和云原生基础设施构建高度自动化的DevSecOps平台能力已是业界普遍共识。CI/CD提供应用研发自动化流水线,云原生基础设施代码化提供持续集成到持续交付的自动化,共同完成DevSecOps能力从需求到生产环境运营的全流程覆盖。介绍完两家头部互联网企业的公有云DevSecOps平台架构,下面一起来看看常见的互联网企业私有化DevSecOps平台架构。

二、私有化DevSecOps平台建设思路

互联网头部企业主要利用公有云基础设施和持续集成管道完成DevSecOps平台能力建设,而普通的互联网公司私有化DevSecOps平台建设从当前业界现状来看,主要有以下两条思路:

2.1 采用GitOps+公有云建设

采用GitOps,通过Git开源生态系统完成持续集成管道能力构建;通过公有云基础设施管理AP I接口完成持续交付到持续安全运营的自动化能力构建。

2.2 采用GitOps+私有云建设

采用GitOps,通过Git开源生态系统完成持续集成管道能力构建;依托企业自身的私有云完成持续交付到持续安全运营的自动化能力构建。

2.3 总结

无论上述哪种方式,使用GitOps及其开源生态系统构建DevSecOps黄金管道都是企业的首选,而与基础设施、生产环境线下运营监控的打通,则依赖企业自身的信息化建设成熟度。如果企业的基础设施虚拟化做得好,运维自动化技术成熟,则持续交付、持续监控、持续运营能力的整合和流程贯穿会比较顺畅;如果企业内部基础设施标准化程度差,很多工作都是手工在操作,没有代码化和工具化,则持续交付、持续监控、持续运营能力的整合会比较慢,流程贯穿会比较难,甚至,整个流程会一段一段的割裂。所以,当企业规划自己的DevSecOps平台之前,要正确评估企业现状,做出切合企业自身的规划与决策。

三、GitOps及其生态组件

GitOps是指依托Git版本控制系统,构建交付流水线的核心流程,形成包含应用开发、部署、管理、监控的DevOps最佳实践。以往文章中介绍DevOps时曾提及其关键特性中第一条即是自动化,即DevOps流程尽最大可能地自动化去实现,GitOps即是这种自动化理念在平台实现上的产物。

3.1 采用GitOps的好处

使用GitOps来构建DevSecOps平台,主要的好处有:

3.1.1 周边生态系统齐全

围绕Git版本控制的周边生态系统比较齐全,可选择组件多,很容易通过组件集成完成黄金管道的流水线装配。

3.1.2 便于自动化的实现

GitOps自身强调代码化,对基础设施的自动化、运维工作的自动化、安全工作的自动化便于DevSecOps自动化的实现。对于流程管理者来说,速度和效率都得到较好的提升。

3.1.3 开发人员属性GitOps

GitOps依赖于Git系统去构建,对开发人员来说,熟悉其操作,能无缝切换,减少学习带来的额外成本。

3.2 GitOps部分生态组件介绍

通过表中大家可以看出,采用GitOps构建CI/CD持续集成流水线的开源组件/商业产品比较常见,DevSecOps架构师基于它之上,整合云原生技术、Docker、Kubernetes等容器编排技术很容易搭建完成DevSecOps平台能力。

四、私有化DevSecOps平台架构

4.1 典型架构架构图

基于GitOps之上,在现有流程中集成安全工具,构建DevSecOps能力是私有化DevSecOps平台的首选,其典型架构如图所示。

4.2 关键场景的流程

在架构图中,以GitOps为核心的研发活动流水线为主轴,安全工具分布在其周边或分支上,在不同阶段、不同环节嵌入整体流程中去。其关键场景的流程如下

  • 项目管理和需求管理依托Confluence和JIRA将GitLab与JIRA任务打通,形成需求管理到代码开发的线上化。
  • 开发人员完成代码开发提交到GitLab后,自动触发GitLab CI或Jenkins调度任务,进行代码分析、编译构建,最后将构建生成的制品包上传到Nexus仓库。
  • 对于制品库里的制品包,使用SCA组件安全分析软件进行软件成分安全分析。
  • 软件成分分析通过后,如果需要创建容器镜像,则自动创建容器镜像。然后再同步至测试环境,部署制品包,再启动动态安全测试验证,以检验应用程序的安全性。
  • 验证通过后,进入发布审批环节,只有审批通过后方可发布至生产环境。部署时,除了保证镜像来源可靠外,还接入安全防护,如OpenRASP、modSecurity。
  • 通过流水线的安全审计和配置更改检测后,自动化部署应用程序,并接入线上安全运营监控中,开展线上环境持续审计与监控。

4.3 总结

上述流程为私有化DevSecOps平台典型端到端架构中核心场景流程,在私有化建设的背景下,企业对DevSecOps平台的规划更具有自主性,考虑更多与已有流程、已有系统、已有组织/岗位的结合,建设出更贴近企业业务模式的DevSecOps平台。

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

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

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

相关文章

搜维尔科技【应急推演】虚拟仿真技术的发展为煤炭矿井的安全生产找到新的出口

煤炭矿井的安全生产一直是我国关注的重大事项,保证煤炭矿井的安全生产,减少人员伤亡等不可逆的损失成为重中之重。虚拟仿真技术的发展为煤炭矿井的安全生产找到了新的出口。依托虚拟仿真技术,对煤炭矿井进行实时的生产监测,对矿井…

华为昇腾asend

昇腾Ascend C编程语言 Ascend C原生支持C/C编程规范,通过多层接口抽象、并行编程范式、孪生调试等技术,极大提高了算子的开发效率,帮助AI 参考文章 手把手教你在昇腾平台上搭建PyTorch训练环境 - 哔哩哔哩 (bilibili.com)https://www.bilibi…

科普 | Runes 预挖矿概念

作者:Jacky X/推:zxl2102492 关于 Runes 协议的前世今生,可以点击阅读这篇文章 👇 《简述 Runes 协议、发展历程及最新的「公开铭刻」发行机制的拓展讨论》 什么是传统预挖矿概念 这轮比特币生态爆发之前,预挖矿&…

2024 MCM数学建模美赛2024年A题复盘,思路与经验分享:资源可用性与性别比例 | 性别比例变化是否对生态系统中的其他生物如寄生虫提供优势(五)

审题 第四问让我们探究性别比例变化是否对生态系统中的其他生物如寄生虫提供优势。这里我们可以把问题简化一下,只探究性别比例会不会对寄生虫提供优势。因为考虑太多生物,会使模型更复杂,我这个水平处理不了这么复杂的问题,是我…

Healix Protocol 的 HLX 通证预售:医疗领域的未来展望

Healix Protocol推出 HLX 通证预售,将带来医疗领域的重要变革。通过其区块链技术,Healix Protocol致力于重新定义医疗服务的可及性与负担性,成为医疗行业的希望之光。该项目旨在增强透明度、可及性和效率,推动医疗体系向更加公平和…

ripro子主题wori-child集成后台美化包(适用于设计素材站+资源下载站等)

新内容如下 1、子主题独立运行,彻底摆脱覆盖原主题文件 2、下载信息插件升级优化 3、细节优化 V1.0更新内容如下 1、同步暗黑美化、手机端美化 2、新增菜单合成幻灯片(后台自行设置) 3、新增公告统计 (后台自行设置) 4、新增…

【小沐学AI】智谱AI大模型的一点点学习(Python)

文章目录 1、简介1.1 大模型排行榜 2、智谱AI2.1 GLM2.1.1 模型简介2.1.2 开源代码2.1.2.1 GLM-130B 2.2 ChatGLM2.2.1 模型简介2.2.2 开源代码2.2.2.1 ChatGLM2.2.2.2 ChatGLM22.2.2.3 ChatGLM3 2.3 CodeGeeX2.3.1 模型简介2.3.2 开源代码 2.4 CogView2.4.1 模型简介2.4.2 开源…

如何使用 ArcGIS Pro 自动矢量化水系

对于某些要素颜色统一的地图,比如电子地图,可以通过图像识别技术将其自动矢量化,这里为大家介绍一下 ArcGIS Pro 自动矢量化水系的方法,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的电子地图数据&#…

政安晨:【深度学习神经网络基础】(二)—— 神经元与层

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 神经元是深度学习神经网络中的基本单元,模拟了…

CheatFetcher风灵月影修改器快速下载器

地址:https://github.com/MartinxMax/CheatFetcher/releases/tag/v1.0 CheatFetcher网络爬虫风灵月影作弊器快速下载器 采用翻译接口,实现输入中文转为英文搜索,并且英文结果转为中文输出你可以在此更快的下载到游戏修改器 示例 打开cmd窗口,或者其他终端运行 >CheatFe…

C++:变量和常量(3)

变量 什么是变量:变量就是一个装东西的盒子 通俗:变量是用于存放数据的容器。我们通过变量名获取数据,甚至数据可以修改 变量的作用:给指定的内存空间起名,后期通过起的名字就可以调用整个内存空间 定义变量的格式 &a…

AXI Memory Mapped to PCI Express 学习笔记(四)——仿真设计

本文包含有关Vivado Design Suite中对AXI Memory Mapped to PCI Express core进行仿真的示例设计信息。 一、仿真设计概述 在仿真设计中,事务是从Root Port模型发送到配置为Endpoint的AXI Memory Mapped to PCI Express core,并在AXI块RAM控制器设计中…

基于模糊控制算法的倒立摆控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 对倒立摆模型进行模糊控制器simulink建模,利用倒立摆的摆角角度与小车的位置来控制小车的推力,控制了倒立摆的摆角问题,使得小车最终停在稳…

SpringBoot实现RabbitMQ的WorkQueue(SpringAMQP 实现WorkQueue)

文章目录 1. 前言2. 思路3. 消息发送4. 消息接收4.1 能者多劳 总结 1. 前言 上一篇文章,实现了用 SpringBoot实现RabbitMQ的简单队列, 篇文章 操作 用SpringBoot实现RabbitMQ的WorkQueue(SpringAMQP 实现WorkQueue) Work queues,也被称为(Task queues&…

Python Flask-Mail实现邮件发送

一、邮件发送的扩展 关于如何找到flask发送邮件的插件?,上一篇已经分享了如何找到第三方插件,也找到了插件flask-mail的使用文档,那我们就来实战吧 二、根据文档,总结发送邮件的流程 从文档中可以总结出发送邮件的步…

springboot-vue前后端分离项目实例

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

【C语言】Infiniband驱动pci_pcie_cap

一、注释 //include\linux\compat-2.6.h #define LINUX_BACKPORT(__sym) backport_ ##__sym//include\linux\compat-2.6.33.h #define pci_pcie_cap LINUX_BACKPORT(pci_pcie_cap)/*** pci_pcie_cap - 获取保存的PCIe能力偏移* dev: PCI 设备** PCIe能力偏移在PCI设备初始化时…

实例、构造函数、原型、原型对象、prototype、__proto__、原型链……

学习原型链和原型对象,不需要说太多话,只需要给你看看几张图,你自然就懂了。 prototype 表示原型对象__proto__ 表示原型 实例、构造函数和原型对象 以 error 举例 图中的 error 表示 axios 抛出的一个错误对象(实例&#xff0…

基于springboot的车辆充电桩管理系统

开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven…

【Postman如何进行接口测试简单详细操作实例】

1、下载Postman postman下载地址:Download Postman | Get Started for Free 2、安装Postman (1)双击下载好的postman-setup.exe文件,进行安装postman工具 (2)安装完成后,在桌面找到并打开postman软件,输入邮箱和密码进行登录&a…