monkey 发表于 2019-12-15 14:58:37

DevOps的三大核心基础架构

本帖最后由 adminlily 于 2019-12-15 14:59 编辑

实现DevOps工具链只需要3个核心基础架构:
SCM配置管理系统

Automation自动化系统

Cloud云/可伸缩的、自服务的、虚拟化系统

[*]


▲ DevOps3大核心基础架构



01SCM配置管理系统软件配置管理(Software Configuration Management,SCM)是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。
软件配置管理是DevOps最底层的基础设施,无论是Configuration As Code 还是 Infrastructure As Code 都强调,通过代码管理的方式来管理环境,环境版本化是DevOps中快速创建和重复创建最重要的基础。
周期表左侧第二列就是各种可供选择的软件配置管理系统,如:GIT,SVN,Mercurial,GitHub,Bitbucket等。
对于实施DevOps来说,选择哪种SCM的一个重要考虑点就是后续Automation和Cloud两个环节中其它工具的集成情况如何。
SCM中所放置的内容又可细分为:
▲ SCM内容

环境配置:针对当前应用的固定环境配置;
环境数据:部署时根据情况调整的数据,如:配置文件,开发/测试/生产环境的地址等。

02Automation自动化系统
自动化(Automation)是指所有的操作都不需要人工参与,全部依赖系统自动完成,比如上述的持续交付过程必须自动化才有可能完成快速迭代。DevOps需要构建相应的工具链,将工作任务自动化,才能实现自动化的持续交付流水线。
自动化在DevOps中一般由各种类型的Build系统来实现,如:Jekins,Team City,Travis CI,CC等。为了完成应用从开发环境到生产环境的迁移,开发者必须处理编译、自动化测试、依赖恢复、容器构建、打包、编排等众多操作。
这一过程就需要Junit,Xunit,FitNesse,Selenium,NuGet,NPM等额外配置工具协助实现。但这些工具只是在Automation中实现某一部分的功能,归根结底,仍然是由Build系统驱动,并依赖于SCM中所提供的各种代码来实现。

03Cloud云
云(Cloud)是指一个独特的IT环境,用于远程提供可扩展和可测量的IT资源。在用户看来,云上的资源是可以无限扩展的,并且可以随时获取,按需使用。这种服务可以是与软件、互联网相关的,也可以是任意其他的服务。
云计算是DevOps诞生的重要基础。没有云提供的可伸缩的、自服务的、虚拟化系统,DevOps理念只能是纸上谈兵。
▲ 云基本概念与模型
云所提供的API对DevOps理念的落地非常重要,SCM的产出与Automation都需要调用云API来完成应用部署。
通过云API,只需少量的代码即可快速操作云产品;
在熟练的情况下,使用云API 完成一些频繁调用的功能可以极大提高效率;
通过API可以组合功能,实现更高级的功能,易于自动化,易于远程调用,兼容性强,对系统要求低。

▲ 用户调用云API

云是目前IT领域的热点,企业的IT系统架构实施云化的主要目标是提升IT资源的利用率、降低IT成本,促进企业IT建设从粗旷型方式到集约型方式的转变。提供代码托管、编译构建、部署发布、运维监控、项目管理等覆盖软件研发全生命周期服务,让软件构建、测试和发布变得更快捷、可靠,全面助力企业快速提升研发效率和产品交付能力。

页: [1]
查看完整版本: DevOps的三大核心基础架构