DevSecOps平台架构系列-微软云Azure DevSecOps平台架构

目录

一、概述

[二、Azure DevOps和黄金管道](#二、Azure DevOps和黄金管道)

[2.1 概述](#2.1 概述)

[2.2 Azure DevOps架构说明](#2.2 Azure DevOps架构说明)

[2.2.1 架构及管道流程图](#2.2.1 架构及管道流程图)

[2.2.2 架构内容](#2.2.2 架构内容)

[2.2.2.1 Azure Boards](#2.2.2.1 Azure Boards)

[2.2.2.2 Azure Repos](#2.2.2.2 Azure Repos)

[2.2.2.3 Azure Test Plans](#2.2.2.3 Azure Test Plans)

[2.2.2.4 Azure Pipelines](#2.2.2.4 Azure Pipelines)

[2.2.2.5 Azure Application Insights](#2.2.2.5 Azure Application Insights)

[2.2.2.6 Azure Web Apps](#2.2.2.6 Azure Web Apps)

[2.2.3 总结](#2.2.3 总结)

[三、Azure DevSecOps关键安全组件](#三、Azure DevSecOps关键安全组件)

[3.1 安全组件概述](#3.1 安全组件概述)

[3.2 安全组件内容图表说明](#3.2 安全组件内容图表说明)

[四、Azure DevSecOps平台架构](#四、Azure DevSecOps平台架构)

[4.1 Azure DevSecOps平台架构图](#4.1 Azure DevSecOps平台架构图)

[4.2 Azure DevSecOps平台架构组成](#4.2 Azure DevSecOps平台架构组成)

[4.2.1 CI/CD平台](#4.2.1 CI/CD平台)

[4.2.2 云基础设施](#4.2.2 云基础设施)

[4.2.3 安全工具链](#4.2.3 安全工具链)

[4.3 Azure DevSecOps关键流程](#4.3 Azure DevSecOps关键流程)

[4.3.1 Azure AD身份验证](#4.3.1 Azure AD身份验证)

[4.3.2 触发CI/CD流水线](#4.3.2 触发CI/CD流水线)


一、概述

微软Azure云的DevSecOps是在Azure DevOps基础上构建起来的,在介绍其DevSecOps平台架构之前,先来了解一下两个相关背景知识:Azure DevOps和黄金管道、Azure DevSecOps关键安全组件。

二、Azure DevOps和黄金管道

2.1 概述

一般来说,采用DevOps来作为研发管理实践是为了加快从需求到应用程序上线的速度,缩短开发周期,通过一致性管理流程和自动化管道,保障应用程序的开发质量。Azure云也不例外,不同的是,Azure云自己开发了一系列的DevOps服务或组件,用于应用程序开发生命周期的端到端管理,包括规划、项目管理、代码管理、制品生成、版本发布等

2.2 Azure DevOps架构说明

2.2.1 架构及管道流程图

2.2.2 架构内容

2.2.2.1 Azure Boards

项目管理工具,以敏捷开发模式支持项目组成员,以Kanban和Scrum方式规划、跟踪需求开发及代码缺陷问题等。

2.2.2.2 Azure Repos

源代码管理工具,提供git存储库或版本控制系统,如集成GitHub。

2.2.2.3 Azure Test Plans

测试管理工具,包含多种测试工具集,通过多种工具测试验证应用程序。

2.2.2.4 Azure Pipelines

持续集成和交付管道,为应用程序提供自动化生成和发布服务。

2.2.2.5 Azure Application Insights

Azure自研的APM服务,应用于各种应用程序的性能监控与管理。

2.2.2.6 Azure Web Apps

发布在Azure云上的Web应用服务,即通过研发流水线开发出来的软件或应用程序。

2.2.3 总结

基于此管道之上,各个团队遵循DevOps管理流程,依托DevOps Server服务和Azure云,构建更快速、更可靠的DevOps实践。

三、Azure DevSecOps关键安全组件

3.1 安全组件概述

在Azure云环境中,为了云上业务持续稳定地运行,Azure自研了一系列安全组件,这些组件构成了Azure安全的整体防护体系。在DevSecOps中,这些组件也可整合到管理流程中去,作为流程中的一个技术组件。下面,将对其中部分关键的安全组件做简要介绍,以帮助大家理解Azure DevSecOps架构。

3.2 安全组件内容图表说明

这些组件覆盖了Azure安全能力的多个方面,如身份认证与鉴别、威胁防护、合规管理、应急响应等。通过整合这些组件,依托DevOps管理流程来实现DevSecOps,必起到事半功倍的效果。

四、Azure DevSecOps平台架构

4.1 Azure DevSecOps平台架构图

4.2 Azure DevSecOps平台架构组成

4.2.1 CI/CD平台

对应于架构图中的GitHub、Azure Pipelines、Terraform三个工具。其中GitHub充当代码管理工具,Azure Pipelines触发CI构建和自动化测试,Terraform充当自动化编排,进行云基础设施管理,如管理Docker容器镜像、Kubernetes服务、应用程序网关等。

4.2.2 云基础设施

对应于架构图中Azure Pipelines右侧部分,重点为图中灰色框中的内容。主要由Azure Kubernetes Service、Application Gateway和Azure Cosmos DB等构成。

4.2.3 安全工具链

安全工具链在这张架构图中体现得并不明显,或者说,Azure将安全特性融入了其他的产品之中(这也是为什么在1.2节中先介绍Azure安全组件的原因)。在架构图中能看到显性的安全工具/组件有:GitHub Advanced Security、GitHub Open Source Security、Azure Key Vault、Application Gateway、Azure Monitor等。

4.3 Azure DevSecOps关键流程

4.3.1 Azure AD身份验证

  • 开发的代码主要托管在GitHub,当开发人员访问GitHub时,GitHub将调用Azure AD进行身份验证。
  • Visual Studio Code的云端联机开发环境是开发人员日常工作的重点工作空间,开发人员根据Azure Boards的需求和问题完成代码编写后,继续托管在GitHub上。

4.3.2 触发CI/CD流水线

  • 当开发人员提交代码后,GitHub Actions通过CI/CD流水线触发GitHub的安全检查GitHub Advanced Security和GitHub Open Source Security。
  • 安全检查通过后进入Pipline流水线。
  • 在Pipline中,代码编译、代码构建后,生成容器镜像,存储在Azure容器注册表中,以便Kubernetes服务发布时使用。
  • 在容器镜像正式发布之前,Azure Pipelines以Terraform为管理工具,对云基础设施,如Azure Kubernetes Service、Application Gateway、Azure Key Vault和Azure Cosmos DB等资源进行安全策略管理。
  • 使用Azure Monitor、Defender for Cloud进行持续监控。
  • 整个平台依托CI/CD管道和安全组件完成安全能力的覆盖。
  • 安全自动化主要依赖Pipline流水线和云原生基础设置的代码化管理。
  • 安全能力既有平台自研,也有外部集成,综合多方能力完成DevSecOps平台能力构建。
  • Azure AD、Azure Monitor、Defender for Cloud等安全组件作为基础安全能力,在安全运营中起到了决定性的作用;项目管理工具、测试管理工具、源代码管理工具等周边生态系统为整个DevSecOps平台能力的构建提供了底层基座。

最后附上Azure DevOps 官网的地址,有兴趣的可以自己去看看:

Azure DevOps Services | Microsoft Azure

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

相关推荐
AOwhisky9 小时前
云原生 DevOps 工具链从入门到实战(第二期)——Jenkins安装与基础配置——CICD核心引擎
linux·运维·ci/cd·云原生·jenkins·devops
7177772 天前
从工具自动化到自主研发:Gitee 智能 DevOps 全域落地实践
gitee·自动化·devops
7177772 天前
Gitee DevOps 国产化研运能力解析:安全与研发效能双维度升级
安全·gitee·devops
wangruofeng3 天前
git-filter-repo 把 .git 从 112MB 砍到 1.4MB,但漏推 tag 让 clone 又胖回来
github·devops
砍材农夫3 天前
运维|devops|jenkins部署安装
运维·jenkins·devops
AOwhisky3 天前
云原生 DevOps 工具链从入门到实战(第一期)——DevOps概述与GitLab部署——从理念到工具落地
运维·ci/cd·云原生·gitlab·开发·devops
Geek-Chow4 天前
08 Inside the Collector: Pipelines, Deployment Patterns, and Failure Modes
devops·可观测·observability·open telemetry
尽兴-5 天前
企业业务系统架构选型与渐进式演进
运维·系统架构·devops
至乐活着6 天前
Ansible自动化运维实战:从零部署高可用Nginx+静态网站集群
ansible·自动化运维·devops·playbook·配置管理
增量星球7 天前
《持续交付2.0系列六》业务需求协作管理
java·运维·自动化·devops·持续部署·持续集成