目录

1. 什么是Devops

1.1 定义

1.2 核心思想

1.3 主要特点

2. Devops的价值

3. Devops的技术栈与工具链

4. Devops落地实现

5. Devops与敏捷


【写在前面】

读书笔记,做记录,供自学,如侵,请告知,会删。

1. 什么是Devops

1.1 定义

DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序,软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。

1.2 核心思想

对Devops的定义有很多种,它们共同的思想是:解决开发者和运维者之间曾经不可逾越的鸿沟,增强开发者和运维者之间的沟通和交流。

1.3 主要特点

(1)适应变化,产品需求可以不断迭代变化。研发模式能对应这种变化(来自于需求,外部架构,市场反馈等)。

(2)快速交付有价值的软件。

(3)有包容的文化。

2. Devops的价值

Devops没有统一的价值和最佳实践,都是根据每个团队的具体情况来看。

一些通用的价值比如:

(1)代码的提交直接触发:消除等待时间,快速反馈。

(2)每个变化对应一个交付管道:使问题定位和调试变得简单。

(3)全开发流程高效自动化:稳定,快速,交付结果可预测。

(4)持续进行自动化回归测试:提升交付质量。

(5)设施共享并按需提供:资源利用最大化。

3. Devops的技术栈与工具链

Devops要通过技术工具链完成持续集成,持续交付,用户反馈和系统优化的整合。

常用的技术,工具,服务,参考如下:

(1)版本控制&协作开发:

GitHub, GitLab, BitBucket, SubVersion, Coding, Bazaar

(2)自动化构建和测试:

Apache Ant, Maben, Selenium, PyUnit, QUnit, JMeter, Gradle, PHPUnit

(3)持续集成&交付:

Jenkins, Capistrano,  BuildBot, Fabric, Tinderbox, Travis CI, flow.ci Continuum, LuntBuild, CruiseControl, Integrity, Gump, Go

(4)容器平台:

Docker, Rocket, Ubuntu(LXC), 第三方厂商(AWS, 阿里云等)

(5)配置管理:

Chef, Puppet, CFengine, Bash, Rudder, Powershell, RunDeck, Saltstack, Ansible

(6)微服务平台:

OpenShift, Cloud Foundry, Kubernetes, Mesosphere

(7)日志管理:

Logstash, CollectD, StatsD

(8)监控,警告&分析:

Nagios, Ganglia, Sensu, zabbix, ICINGA, Graphite, Kibana

4. Devops落地实现

(1)提交:

工程师将代码在本地测试后,提交到版本控制系统,如Git代码仓库中。

(2)构建:

持续整合系统(Jenkins CI),在检测到版本控制系统更新时,便自动从Git代码仓库中拉去最新的代码,进行编译,构建。

(3)单元测试:

Jenkins完成编译构建后,会自动执行指定的单元测试代码。

(4)部署到测试环境:

在完成单元测试后,Jenkins可以将应用程序部署到与生产环境相近的测试环境中进行测试。

(5)预生产环境测试:

在预生产测试环境中,可以进行一些最后的自动化测试,例如用Appium自动化测试工具进行测试,以及与实际情况类似的一些测试可由开发人员或客户人员手动进行测试。

(6)部署到生产环境:

通过所有测试后,便可以使用灰度更新将最新的版本部署到实际生产环境中。

(图源:DevOps 转型之 Pipeline 实践)

5. Devops与敏捷

敏捷是Devops的一种实践。

Devops的范围更广一些,是端到端的过程。敏捷一般是指需求到研发。

(图源:敏捷与DevOps的区别和联系是什么?二者如何结合?)

思考:

不要将在DevOps, SAFe,  Scrum, Kanban中所学到的直接套在日常的软件开发中,而是应该从我们日常的软件开发中,去引导和设计出我们所真正需要的DevOps, SAFe,  Scrum, Kanban...

思考:

Dubbo协议和HTTP协议的区别。

敏捷认证:

(1)PMI机构:ACP, PMP, SCM

(2)exin机构:dof-dop-dom

性能测试之Devops相关相关推荐

  1. android cpu负载 工具,【专家专栏】Android性能测试之CPU

    原标题:[专家专栏]Android性能测试之CPU ▌Android性能测试 性能测试是手机应用测试中很重要的一个模块. 一般情况下,性能测试主要关注的指标有:CPU.内存占用.电量消耗.GPU.FP ...

  2. 性能测试之Jmeter元件

    性能测试之Jmeter元件 1.性能测试的本质 性能测试的定义 基于协议模拟用户发请求,对服务器形成一定的负载,来测试服务器的性能指标是否满足用户(产品&公司)的需求. 关注点 时间性能 空间 ...

  3. Git Flow分支策略与Azure DevOps相关功能简介

    想了很久,还是写这么一篇文章来总结一下有关分支策略和DevOps的一些内容吧.其实,DevOps相关的内容并不是我的工作范围,不过对于敏捷开发.DevOps.项目管理等等这一系列的与开发过程相关的内容 ...

  4. [原创]性能测试之“Windows性能监视器”

    [原创]性能测试之"Windows性能监视器" 一 Windows性能监视器 以下用Winxp中的"Windows性能监视器"为例说明: 打开控制面板-> ...

  5. devops相关书籍哪个好_您在DevOps周期中的哪个位置进行安全保护?

    devops相关书籍哪个好 有时标题只是给出答案. 我是一名安全人员,因此这对我来说很容易:答案是"您在DevOps周期的何处进行安全保护?" 是"无处不在". ...

  6. 老李分享知识:性能测试之TPS和吞吐率

    老李分享知识:性能测试之TPS和吞吐率      当增大系统的压力(或添加并发用户数)时,吞吐率和TPS的改变曲线呈大体一致,则系统基本稳定. 若压力增大时,吞吐率的曲线添加到一定程度后出现改变缓慢, ...

  7. Jmeter性能测试之系统监控

    性能测试其实是利用工具监控系统和服务器的运行状态. 1.学习性能测试前,先了解两种软件应用架构B/S和C/S,如下图所示: B/S即Browser/Server,也就是浏览器web应用模式:C/S即C ...

  8. linux 基准测试,linux 性能测试之基准测试用具

    linux 性能测试之基准测试工具 system: lmbench unixbench5.1.2 ubench freebench nbench ltp xfbsuite http://www.her ...

  9. Jmeter性能测试之资源监控

    性能测试其实是利用工具监控系统和服务器的运行状态. 关于Jmeter对系统指标的监控,详情点击阅读:Jmeter性能测试之系统监控 那资源指标怎么监控呢?Jmeter监控服务器的资源状态,需下载插件配 ...

最新文章

  1. 基于点云的三维物体表示与生成模型
  2. 底层经典书籍-编译原理
  3. BZOJ4939[Ynoi2016]掉进兔子洞(莫队+bitset)
  4. Centos7.5.1804永久生效修改主机名
  5. wsdl文件是怎么生成的_电子标书怎么做需要注意的事项,您学会了吗?
  6. SpringBoot+Vue+Itext实现前端请求文件流的方式导出PDF时在指定位置添加照片
  7. iphone已停用解锁大概多少钱_【待办清单工具之三】微软To Do amp; iPhone提醒事项-来自大厂的时间管理系统...
  8. ssh框架mysql连接出错_使用ssh框架,不能像数据库添加数据,还不报错
  9. selenium-入门与安装-0223
  10. HDU 2844 Coins 多重背包
  11. Hibernate错误处理:Unable to get the default Bean Va...
  12. 软件项目管理流程总结
  13. php获取文件名和后缀名
  14. mac宽带连接找不到pppoe服务器,mac苹果电脑如何建立PPPoE拨号连接上网
  15. html5 input的type属性启动数字输入法
  16. python网课期中答案_中国大学python答案网课期末慕课MOOC答案
  17. 使用腾讯云sms实现短信验证功能
  18. 如何写好测试用例的标题
  19. 去雾模块dehaze.py(可直接调用)
  20. 计算机中心那些事(四),计算机软考的那些事儿!

热门文章

  1. PPT制作学习书目【PPT要你好看】摘录——制作一个新颖的标题页和目录页
  2. 铁路线束行业调研报告 - 市场现状分析与发展前景预测
  3. 移动 2G 3G 4G 5G 释义
  4. PytorchStreamReader failed reading zip archive: failed finding central directory
  5. Android数独游戏案例
  6. Burpsuit PC 端和 Android 端常见基础抓包方式
  7. 消防及应急救援活动纪实
  8. Mac Chrome浏览器取消自动升级(看这一篇就够了)
  9. js实现modbus_Modbus通讯协议
  10. 列举php中常见的魔术方法,PHP 中常用的 9 个魔术方法