【DevOps入门篇】DevOps的3大核心基础架构

举报
Cynthia成 发表于 2021/02/03 09:46:44 2021/02/03
【摘要】 DevOps的知识体系如果从顶层上来分解,可大致分为2部分:方法论和工具链。本文主要介绍实现DevOps工具链的3个核心基础架构。

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

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

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

本文主要说说关于DevOps工具链这部分内容。

下图是一个DevOps工具链的元素周期表,提供给您作为参考。

1.png

虽然表中内容十分全面,但并不易于理解与记忆,因此我们在这里DevOps的工具进行一个总结与归纳。

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

  • SCM配置管理系统

  • Automation自动化系统

  • Cloud云(或者说可伸缩的、自服务的、虚拟化系统)

2.png

一、SCM配置管理系统

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

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

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

1)AppCode:即应用代码

2)EnvCode:即环境相关的代码,这部分内容又可以进一步细化成环境配置(Config)和配置数据(ConfigData)。

  • 环境配置:指那些针对当前应用基本上固定的环境配置。
  • 环境数据:值那些需要在部署的同时根据情况调整的数据,如:配置文件,开发、测试、生产环境的地址等等。

二、Automation自动化系统

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

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

3.png

三、Cloud云

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

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

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

1)通过编译构建任务的配置,将Docker镜像直接上传至SWR镜像仓库。

4.png

2)通过调用ECS服务,直接将构建好的软件包部署到云主机中。

5.png

作者:姚冬

为云应用平台部首席技术布道师,资深云计算、DevOps与精益敏捷专家。中国DevOps社区核心组织者,IDCF社区联合发起人,《敏捷无敌之DevOps时代》,《DevOps业务视角》,《敏捷开发知识体系》《DevOps最佳实践》等书作(译)者。华为云HCIP DevOps Engineer构建者, SAFe SPC规模化敏捷咨询师, CSM, Management 3.0Facilitation for AgilistsDevOps沙盘官方授权教练,埃里克森认证教练。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。