DevOps的3大核心基础架构

原文链接:support.huaweicloud.com/reference-d...

由于近年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服务,直接将构建好的软件包部署到云主机中。
相关推荐
知守观几秒前
ThreadLocal + 异步线程导致用户数据串号:一次跨请求数据泄漏的完整复盘
后端
前端冒菜师2 分钟前
我为什么做了 Iris,又为什么停下了它
后端·ai编程
子一!!3 分钟前
集成Spring家族的Spring论坛实战==一阶段
java·后端·spring
Ticnix3 分钟前
你的 Agent 聊到第 20 轮就"失忆"?你管理的是历史,高手管理的是上下文
后端·python·agent
不合格的程序员4 分钟前
Agent Memory架构设计与实现
后端·ai编程
用户938169125536010 分钟前
分页查询 Out of sort memory 问题
后端
xyLJ16 分钟前
为什么 Spring Boot 自动配置了 Redis,还要自己写 RedisTemplate?
后端
xixiaoyunya1 小时前
Spring Boot 3 统一响应与全局异常处理实战
java·spring boot·后端
JavaGuide1 小时前
DeepSeek Harness 官方桌面端终于有了!
前端·后端
SFLYQ1 小时前
隔离内网下 AI Agent 工程实战
后端·agent·ai编程