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

2024-03-28 07:04

本文主要是介绍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》专栏,后续会继续输出相关内容文章。如果有帮助到大家,欢迎大家点赞+关注+收藏,有疑问也欢迎大家评论留言!

这篇关于DevSecOps平台架构系列-互联网企业私有化DevSecOps平台典型架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854827

相关文章

Python多进程、多线程、协程典型示例解析(最新推荐)

《Python多进程、多线程、协程典型示例解析(最新推荐)》:本文主要介绍Python多进程、多线程、协程典型示例解析(最新推荐),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 目录一、multiprocessing(多进程)1. 模块简介2. 案例详解:并行计算平方和3. 实现逻

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构