DevOps的3大核心基础架构

原文链接:DevOps的3大核心基础架构_软件开发生产线 CodeArts_理论实践_DevOps概览

由于近年DevOps概念的火热,加之DevOps的涵盖面非常广,因此有很多文章和技术都在和DevOps强行关联,使很多想要了解学习DevOps的开发者迷惑不解。

其实,DevOps的知识体系如果从顶层上来分解,可大分为2部分:方法论和工具链。

方法论这部分,因为DevOps的很多理念脱胎于敏捷,所以你所能了解到的各种敏捷理念,实践和方法都可以作为DevOps知识体系的一部分,这部分在本文中不做赘述。

本文主要讨论关于DevOps工具链这部分内容,对DevOps的工具进行一个总结与归纳。

简而言之,实现DevOps工具链,基本需要3个核心基础架构:

  • SCM配置管理系统
  • Automation自动化系统
  • Cloud云(或者说可伸缩的、自服务的、虚拟化系统)

SCM配置管理系统

配置管理是DevOps最底层的基础设施。无论是Configuration As Code,还是Infrastructure As Code,强调的都是用管理代码的方式来管理环境。将环境版本化,无论对于快速创建,还是可稳定的重复创建这些DevOps的基本要求来说,都是最重要的基础。

配置管理系统有GIT、SVN、Mercurial、GitHub、Bitbucket等。对于DevOps实施来说,选择哪种SCM的一个重要考虑点,就是后续的Automation和Cloud这两个环节中的其它工具对这些工具的集成情况如何。作为近年来比较受欢迎的Git来说,这一切都不是问题,是最好的选择。

SCM中所放置的内容又可以再分成2个层次,分别为:

  • AppCode:即应用代码。
  • EnvCode:即环境相关的代码,这部分内容又可以进一步细化成环境配置(Config)和配置数据(ConfigData)。
    • 环境配置:指那些针对当前应用基本上固定的环境配置。
    • 环境数据:指那些需要在部署的同时根据情况调整的数据,如:配置文件,开发、测试、生产环境的地址等。
Automation自动化系统

自动化在DevOps中的作用不言而喻,这部分的主线一般由各种类型的Build系统来实现,如:Jenkins、Team City、Travis CI、CC等等。只有这些还不够,为了能够完成应用从开发环境到生产环境的迁移,我们还必须处理如编译、自动化测试、依赖恢复、容器构建、打包、编排等很多操作,因此还需要配置如Junit、Xunit、FitNesse、Selenium、NuGet、NPM、JMeter等许多其它的工具来实现。但这些工具只是在自动化系统中实现某一部分的功能,一般都需要由Build系统来驱动,并依赖于SCM中所提供的各种代码来实现的。

因此我们现在通常选择华为云CodeArts这样能帮助团队完成DevOps端到端打通全流程的工具。在华为云CodeArts中提供了敏捷需求管理、配置管理、测试计划、部署、以及自动化流水线的DevOps端到端服务。通过CodeArts,用户可以一站式完成所有开发工作。

Cloud 云

云服务的出现应该是催生DevOps的重要因素,没有云服务所提供的弹性、自服务等特性,很多DevOps的理念只能停留在纸面上。

对于DevOps实施来说,我们需要了解的就是各种云所提供的API,因为无论是自动化系统还是前面的SCM的产出,最终都需要调用这些API来完成最终应用部署。

在华为云CodeArts中,我们可以通过CodeArts直接调用华为云的其他公有云服务,例如弹性云服务器ECS、云容器引擎CCE、容器镜像服务SWR等,并可通过这些云服务帮助用户完成丰富多样的产品需求。

  • 通过编译构建任务的配置,将Docker镜像直接上传至SWR镜像仓库。
  • 通过调用ECS服务,直接将构建好的软件包部署到云主机中。

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

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

相关文章

java面试题之mysql篇

1、数据库索引 ​​​​​​​ 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。 索引的一个主要…

MCU独立按键单控LED实现

##江科大视频学习,并且对具体的一些小细节进行更详细的分析。 什么是独立按键? 轻触按键:相当于是一种电子开关,按下开头接通,松开时开头断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开。 注意…

第六十七天 APP攻防-Frida反证书抓包移动安全系统资产提取评估扫描

第67天 APP攻防-Frida反证书抓包&移动安全系统&资产提取&评估扫描 知识点: 1、资产提权-AppinfoScanner 2、评估框架-MobSF&mobexler 3、抓包利器-Frida&rOcapture 章节点: 1、信息收集-应用&资产提取&权限等 2、漏洞发现…

数据库安全性与完整性设计

文章标签集合[数据库安全,数据敏感,通信安全,MD5,盐加密] 1 系统设计 1.1设计目标 (1)确定系统中需要保护的敏感数据和通信内容; (2)设计合适的签名、加密和解密算法; (3)实现…

npm i卡在 idealTree buildDeps没反应的解决方案

通过git clone拉下项目后,进行项目的初始化下包时,发现npm i 并没有反应(如图): 关键点:IdealTree 1.网络问题 确保你的网络连接正常,能够正常访问 npm 仓库。有时网络问题可能导致包无法正确…

JWT学习笔记

了解 JWT Token 释义及使用 | Authing 文档 JSON Web Token Introduction - jwt.io JSON Web Token (JWT,RFC 7519 (opens new window)),是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准((RFC 7519)。该 token 被设计为紧凑…

PyTorch中Tensor(张量)数据结构内部观察

上图中是一个张量embeds,打开其内部存储空间,我们可以看到内部的构成。在PyTorch中,Tensor 具有许多属性和方法。以下是其中一些关键的属性和方法: 属性: H: 在标准的PyTorch API中并没有直接表示为 .H 的…

AR应用的开发流程

增强现实(Augmented Reality,AR)是一种技术,它将虚拟信息叠加在真实世界中,通过计算机生成的视觉、听觉、触觉等感官反馈,将虚拟元素与现实世界进行交互。这种技术使得用户可以与现实世界中的虚拟对象进行互…

前端学习---- 前端HTML基本元素的介绍

一&#xff1a;显示相关的HTML基础知识 1. 推荐的前端编写工具 2. VScode的html速写规则&#xff08;从a标签开始再用&#xff09; ①、&#xff01;&#xff1a;代表生成html的基本框架元素 ②、html元素&#xff1a;直接书写html,不需要加<>,按回车会自动生成 ③、{}…

我的NPI项目之Android 安全系列 -- Android Strongbox 使能(一)

这里借用Android14高通相关的技术文档作为基础文档&#xff0c;该文档描述的是基于NFC的secure element. NFC型号为SN220. 有些概念的说明&#xff1a; 1. RoT 在我们目前的这个上下文中&#xff0c;首先RoT下几个内容&#xff0c;Bootinfo/ Additonal params(images hash) /…

曲线生成 | 图解B样条曲线生成原理(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 控制点计算之插值2 控制点计算之近似3 仿真实现3.1 ROS C实现3.2 Python实现3.3 Matlab实现 0 专栏介绍 &#x1f525;附C/Python/Matlab全套代码&#x1f525;课程设计、毕业设计、创新竞赛必备&#xff01;详细介绍全局规划(图搜索、采样法、智能算法等)&a…

备考2024年小学生古诗文大会正当时:往届真题15题和独家解析

“一年之计在于春”&#xff0c;如何备考2024年小学生古诗文大会&#xff1f;我的建议是现在就开始&#xff0c;每天每周花点时间&#xff0c;夯实古诗文大会试题背后的知识&#xff0c;既能在比赛中取得不错的成绩&#xff0c;还能对语文学习有长远的促进。 我们今天来看15道往…