devops的核心组成包含了哪三部分

Z, ZLW 979

DevOps的核心组成包含:1、SCM配置管理系统 ,2、Automation自动化系统 ,3、Cloud云。其中,配置管理是DevOps最底层的基础设施,无论是Configuration As Code 还是 Infrastructure As Code 强调的都是用管理代码的方式来管理环境。将环境版本化对于无论快速创建,还是可稳定的重复创建这些DevOps的基本要求来说都是最重要的基础。

1、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)。环境配置:是那些针对当前应用基本上固定的环境配置;环境数据:是那些需要在部署的同时根据情况调整的数据,如:配置文件,开发/测试/生产环境的地址等等。

2、Automation 自动化系统

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

所有内容最终会汇总到一个叫做MOF的节点,作为后续进入环境的起点。MOF是DMTF这个标准化组织提出的一个工具和厂商无关的描述性语言,当前已经被很多厂商所接受并正在工具中逐步实现。

说实话,各种DevOps部署工具的标准化做的非常不好,基本上你使用了某种工具就被绑定了,虽然DMTF提出了这个标准一段时间了,一些主流的工具对它的支持仍然有限,如:Puppet 和 Chef等。对于用户来说,熟悉了某种工具也不太愿意更换其它的,所以对于DMTF的前景我是持怀疑态度的。这是一场博弈,对于用户来说,有标准总比没有好,多了解一些总是好事。

3、Cloud云

虚拟化和云计算的出现应该是催生DevOps的重要因素,没有云所提供的弹性,自服务等特性,很多DevOps的理念只能停留在纸面上。对于实施DevOps来说,我们需要了解的就是各种云所提供的API,因为无论是自动化系统还是前面的SCM的产出最终都需要调用这些API来完成最终应用部署。

拓展阅读

DevOps定义

Development和Operations的组合,突出重视软件开发人员与运维人员的沟通合作,通过自动化流程使得软件构建、测试、发布更加快捷、频繁和可靠。它是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。

  • DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
  • DevOps团队模型有利于发展持续改进的文化;使得DevOps能力中心不断地为组织提供改进方案;DevOps安全性改良使得核心业务快速度迭代;通过云计算方式实现的标准化的工具与流程实现了DevOps能力与研发资源外包,使得协作可以在企业以外进行。
  • DevOps提供了必需的构造来帮助定位众多安全风险,这是创建任何复杂技术系统的内在要求。安全漏洞往往是各种事件的直接后果。例如,在 C/C++ 系统中进行不恰当的编码实践就可能导致缓冲溢出条件有机会被恶意攻击者用于实施越级程序权限。缓冲溢出攻击经常被攻击者所利用,来获得系统的控制权,甚至可以很有效地获得 root 权限。

DevOps作用

DevOps是Develop与Operations的缩写,它是企业内开发、技术运营和质量保障这三方面工作的融合,用于促进开发、技术运营和质保部门之间的沟通、协作与整合。有研究显示,在那些引入了DevOps概念的企业中,开发与运营人员在设计、构建、测试工作中共同在内部应用上进行协作之后,可以将产品开发的效率提升20%。
然而最为重要的如何成为一名真正的消费者用户并像消费者用户那样来考虑这整件事情的意义所在,无论是成为企业内部用户的还是外部用户。事实上,如何提升最终用户体验一直是DevOps战略发展的名列前茅驱动力,有68%的企业是这样认为的,第二个需求是为了提升开发与运营团队之间的协作水平与效率,有61%的受访者选择了这一项。企业的移动与云计算转型趋势的兴起,同样也是企业引入DevOps的重要原因,有52%与43%的人分别选择了这两项。

推荐阅读:

DevOps 与敏捷的区别 | 5款DevOps工具盘点 | DevOps的6大技术

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部