九游平台/ 软件开发生产线 codearts/ / / devops的3大核心基础架构
更新时间:2023-01-04 gmt 08:00

devops的3大核心基础架构-九游平台

由于近年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直接调用华为云的其他公有云服务,例如、、等,并可通过这些云服务帮助用户完成丰富多样的产品需求。

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

相关文档

网站地图