对DevOps实践的一些思考02(1.16)

栏目: 编程工具 · 发布时间: 5年前

在上篇文章,主要对DevOps的一些关键概念做了进一步解释和说明。对于DevOps实践,今天主要对一些零散的点做记录,在年后准备对基于我们的DevOps支撑平台进行DevOps实践写一系列的文章。

该系列文章具体的内容预计会包括:

1. 传统软件过程和单体技术架构存在的问题和需求分析

2. DevOps支撑平台的搭建和总体架构

3. DevOps支撑平台涉及到的 工具 集集成

4. DevOps实现端到端流水线作业和持续交付过程

5. DevOps与容器技术集成实现自动化部署和环境迁移能力

6. 基于DevOps的度量分析和最佳实践

7. DevOps平台和微服务开发框架的集成

8. DevOps平台和PaaS平台技术服务组件和技术服务能力的集成和最佳实践

9. 基于DevOps平台实现的典型案例和场景分析

下面对上面这些点做一个简单的展开说明

1. 传统软件过程和单体技术架构存在的问题和需求分析

再次说明一下,不要为了微服务和DevOps而去迎合,要业务和技术需求驱动,比如当前软件开发过程,软件交付上究竟有哪些问题,是否已经影响到效率和质量。包括我们说的微服务架构的数据库拆分也是一个道理,技术成熟度不够的时候,你完全可以数据库不拆分,只拆上层组件,这也是折中可行方案。对于持续交付同样,前期你完全可以不用DevOps和容器化,仅仅实现传统持续集成最佳实践即可。

上任何新东西都必须要想清楚,具体解决的是资源,成本,效率,后期管控治理哪方面的问题。一定要有实际的需求和问题驱动,否则很难真正实践成功。包括我们现在看到的很多互联网架构最佳实践,都是互联网应用在面对海量数据,大并发实际场景下逐步积累和演进出来的。

2. DevOps支撑平台的搭建和总体架构

一个DevOps支撑平台在搭建总体架构的时候可以看到,其核心更多的是围绕持续交付进行的各种能力的集成和自动化,而不是说其本身新创作了什么能力。对于这种集成本身包括几个关键部分。

其一是和 Docker 容器化平台的集成,以实现自动化部署和环境间的动态迁移,包括灰度发布,资源动态调度,集群等关键能力。其二是和微服务平台的集成,类似开源的SpringCloud平台中的注册中心,微服务网关的集成。其三包括和前面提到的PaaS平台各技术组件和服务的集成。其四则是对持续交付过程中的涉及到的各类工具链的集成,包括了配置和代码管理,代码静态检查,自动化编译构建,自动化测试,自动化运维,自动化监控,日志管理等各种工具的集成。

一个DevOps平台需要提供对源代码管理,开发,编译构建,打包,部署,测试,运维完整的能力支撑,同时通过流水线设计将这些任务过程进行自动化串联。一个流水线既可以是完全的自动化流水线,也可以包括人工处理和检查节点。流水线可以对上述动作和任务进行可视化的设计和编排。

5. DevOps与容器技术集成实现自动化部署和环境迁移能力

一个DevOps支撑平台离不开和容器化PaaS平台的集成,即最终的编译构建完成的内容形成镜像并放到镜像仓库,后续部署,环境迁移,资源扩展基于镜像仓库进行快速的拷贝和复制。对于Docker容器一般会和K8S结合来实现资源的动态调度,集群管理能力。

环境迁移是基于镜像进行环境拷贝和迁移,而不再需要重新构建和打包,这也是我们原来在谈持续集成技术的时候一直强调的一点。只有这样才能够保证测试通过的包就是最终部署到生产环境的包。

6. 基于DevOps的度量分析和最佳实践

在谈CMMI的时候我们经常会谈到软件度量,而对于DevOps也有标准的成熟度模型,我们需要对DevOps执行构成中的关键活动和任务,其执行的质量和效率进行度量分析,以确认DevOps过程执行效果,并指导后续的持续改进工作。

这里面既会涉及到构建,部署和自动化测试的效率指标,也会涉及到传统的代码检查和人工测试,变更处理,缺陷泄露等质量指标等。

7. DevOps平台和微服务开发框架的集成

实际上要把这个功能谈透彻并不容易,一涉及到微服务架构开发模式,就涉及到基于微服务架构下的团队拆分和多团队协作,就会引入类似微服务网关和注册中心等基础能力。就会涉及到一个独立的微服务模块要真正能够运行并进行单元测试,离不开其它微服务模块提供的API接口服务能力支撑。

因此这种集成不是件的对开源微服务框架在开发态的集成,更多的是开发态如何和运行态集成和协同。如何在多团队协同模式下来实现多项目,多微服务模块的集成能力。实际上这个问题在我13年左右在谈私有云PaaS平台的持续集成的时候详细分析过,但是现在感觉在谈微服务架构和DevOps的时候反而没有谈透彻。

8. DevOps平台和PaaS平台技术服务组件和技术服务能力的集成和最佳实践

这个也是需要专门写文章来谈的,就是对于PaaS平台提供的各类技术组件和技术服务能力,如何和整个DevOps持续交付过程集成起来。当然对于单个技术组件的开发,测试和部署上线也可以使用DevOps支撑平台来完成。在原来谈私有云PaaS平台的时候,我们谈到过一个概念,即一个组件要能够运行起来需要两个方面的服务集成,一个是技术平台提供的技术服务能力集成,一个是横向的其它微服务模块组件的接口服务集成。

如何集成,包括在集成后如何进行集成测试,都是需要考虑的问题点。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

追踪Linux TCP/IP代码运行

追踪Linux TCP/IP代码运行

秦健 / 北京航空航天大学出版社 / 2010-4-1 / 69.00元

本书以应用程序为线索,详细描述了数据包在协议栈的分段、重组、发送、接收过程,同时分析了路由的初始化和设置过程,主要包括socket应用程序、 TCP/IP协议、路由、通知链、邻居子系统等内容。全书涵盖了协议栈的全部知识点,对于广大的读者来说这是一本极其难得的技术资料。同时,书中论述了网络设备的工作原理,解释了RTL8169和嵌入式CS8900、DM9000网卡设备的核心过程。一起来看看 《追踪Linux TCP/IP代码运行》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具