CAMS模型是由两位DevOps先驱(John 和Damon Edwards )提出来的。CAMS代表Culture, Automation, Measurement, Sharing四个单词的首字母缩写。CAMS已经成为许多DevOps从业者的价值参考模型。Patrick DeBois,DevOps这个词就是他创造的,所以,他经常被成为DevOps之父,但他喜欢说DevOps是一个人类的问题。虽然DevOps通常被认为是一个技术问题,但实际上,DevOps是一个文化和业务问题。

Culture      

那么,什么是文化呢?我们可能里面想起比较好的企业的办公文化,例如办公室里面的乒乓球桌和免费的零食,文化不仅仅是这些。文化是由行为驱动的,文化存在于来自不同地方人之间的互相理解。在早期的IT组织中,我们把团队分成两个主要组:

开发,他们负责创建和实现功能;运维,他们负责保持生产环境的稳定。由于目标不同,他们之间形成了一堵墙。到现在,这种模式持续了很长一段时间,开发和运维不会说同一种语言,更不会相互理解。开发是实现开发功能,希望快速部署到生产环境,运维的口号是稳定压倒一切,不喜欢频繁更新,特别是面对不可靠的程序。

改变运维和开发之间的潜在行为和假设,这个是当前很多公司推动公司文化变革过程中必须解决的问题。

Automation

       现在来说说自动化,CAMS中的A就是Automation。这是一个很容易被人们认为DevOps就是自动化的事情。在DevOps早期的时候,有些人认为DevOps就是那些使用Chef或Puppet或CFEngine的人。(注:这三种都是自动化平台)但是,CAMS的一部分中断是如何平衡我们的思考方式,所以,DevOps不仅仅是自动化工具。更多是一种文化,思想上的概念,人和流程需要先提出来。

针对这种把DevOps被认为是自动化工具的现象,Damon Edwards认为是,人们过度使用和依赖工具。所有的一些都说,自动化是DevOps中重要的组成部分,一旦你了解和接受了DevOps文化,你可以创建一个自动化结构,用来管理和控制你的程序。自动化是加速器,将为你带来DevOps的其它好处。你确实应该需要确保自动化的优先级是你解决问题的主要方法。所有,我们经常说,思想很重要,就是这个道理。有了文化了解,和自动化手段去解决问题,接下来我们需要一些手段去测量和评估我们的自动化。

Measurement

合理地处理我们系统的关键之一是我们能够测量它们的能力。测量一般是通过指标来衡量,通过指标,可以告诉你发生了什么,已经我们所做的更改是否把问题优化解决,是否提高了效率。度量指标存在两个重要的缺陷。第一,有时,我们会选择错误的指标进行观察。第二,有时,我们不能正确的激励指标。因此,DevOps强烈建议您衡量整个组织的关键指标。例如MTTR(time to recovery),表示恢复时间指标,很好了解,给用户更新一次生产环境,需要宕机多长时间后可以恢复服务访问。还有成本和收入的考虑,也就是投入和产出的百分比。或者,还有公司其他人员对你们DevOps工作的满意度等,这些都构成了DevOps活动的相关度量指标。这样的指标有助于部门的整体目标的实现,通常可以看到,一个优秀团队的这些指标,会在公司内部或者对外分享出来。接下来,我们来讨论最后一部分,分享。

Sharing

分享想法和问题是合作的核心,当然也是DevOps的核心。在DevOps中,期望对开放性和透明度进行高度重视。在日语单词中Kaizen,意思是离散的持续改进。共享是持续反馈和持续改进这个循环中一个重要的点。由于有很多很好的分享,DevOps才能不断发展壮大。

CAMS代表Culture, Automation, Measurement, Sharing,它们是为DevOps实施带来的四个基本且相辅相成的价值观。他们是我们将在后面贯穿整个课程背后的重要知识。希望,你们把这四个理念铭记于心,在未来的DevOps工作中,你们逐步体会到它们的具体含义。

DevOps基础-1.2-DevOps的CAMS价值体系相关推荐

  1. DevOps基础-1.1-什么是DevOps以及概述

    本人当前的工作范围主要的就是DevOps,更具体一点就是写Jenkins Pipeline 脚本.我最近慢慢学习一个DevOps基础的视频教程,这个教程是Lynda.com,纯英文的.打算写一个笔记, ...

  2. 测试环境搭建流程_前端构建 DevOps 搭建 DevOps 基础平台(中)

    前言 搭建基础平台搭建上篇的时候的时候,已经介绍过了项目流程设计.数据库搭建.jwt 登录等模块. 此篇我们介绍分支管理设计及其他的基础模块. 后端模块 DevOps - Gitlab Api使用(已 ...

  3. devops基础扫盲篇_在2020年取得成功的8篇必读的DevOps文章

    devops基础扫盲篇 我是一个狂热的读者,但是我经历了非常忙的时期,很难找到时间跟上我的阅读清单. 即使在我最忙的时候,我也尽量保持关注DevOps新闻,因为这是我关注的领域之一. 在这里,我总结了 ...

  4. 第1课:Linux操作系统基础【DevOps基础培训】

    第1课:Linux操作系统基础 --DevOps基础培训 1. 云主机.公网IP 1.1 公网ip和私网ip 只有公网ip是能够连接互联网的,私网IP 一般只用作局域网 我们能够上网靠的是isp组织分 ...

  5. 什么是DevOps,如何实现DevOps?

    ,还能周周比对手早一步──Gartner预言:2016年全球大企业中25%要抢用DevOps. 正是如此,企业正为DevOps所苦恼.他们都想得到DevOps,即使很多企业并不知道它到底是什么.比如, ...

  6. DevOps 模式:引入 DevOps 顾问

    很多企业并不是 DevOps 运动的早期玩家.当开始注意到 DevOps 的时候,想快速达到 DevOps 实践领先企业的效果,会引入有经验的 DevOps 顾问进行快速的转型. 然而,短期的 Dev ...

  7. 【DevOps】什么是 DevOps?

    背景 本文是 DevOps 的初学者指南.了解有关 DevOps 实践.DevOps 在工程团队中的作用及其优势,以及其它更多信息 DevOps is a mix of Development and ...

  8. 【devops】一、DevOps介绍

    目录 一.DevOps介绍 一.DevOps介绍 软件开发最开始是由两个团队组成: 开发计划由开发团队从头开始设计和整体系统的构建.需要系统不停的迭代更新. 运维团队将开发团队的Code进行测试后部署 ...

  9. 笔记整理 之 寒门难出贵子4 家庭的思维价值体系

    整理来自: http://tieba.baidu.com/p/2514542745?see_lz=1&pn=3 周周父母公婆打造的是人生的良性循环轨迹... 而治国的父母在为治国打造人生的恶性 ...

最新文章

  1. 常用oracle数据库函数总结
  2. #20145238荆玉茗《网络对抗》-逆向及Bof进阶实践
  3. 信息系统项目管理师案例分析
  4. 【372天】我爱刷题系列131(2018.02.12)
  5. Python09 字典
  6. C++中引用传递与指针传递区别(进一步整理)
  7. Spring Boot Initilizr - 使用IDE或IDE插件
  8. oracle切换实例启动,3.1 Oracle体系结构之实例启动与关闭
  9. git常用命令让你几步摆脱图形工具提交项目
  10. jar包解压后再打包为jar
  11. Excel设置下拉选项
  12. NHibernate Step by Step (三) Configuration和Sessionfactory
  13. 二元函数偏导数的几何意义
  14. POJ 3388 Japanese Puzzle(二分法)
  15. 【蓝牙开发】低功耗蓝牙ATT/GATT/Profile/Service/Characteristic规格解读
  16. Nodelist转化问题。
  17. 独家!阿里开源自用OpenJDK版本,Java社区迎来中国力量
  18. 【目标检测-YOLO】YOLOv5-yolov5s TensorRT部署准备之ONNX导出(第一篇)
  19. Oracle官方JDBC jar包下载
  20. 移动页面input手机键盘中的“搜索”按键

热门文章

  1. 【2019斯坦福CS224N笔记】(5)The probability of a sentence Recurrent Neural Networks and Language Models
  2. Bochs源码分析 - 6: bochs的物理内存初始化
  3. oppo k7x和oppo k7哪个好 oppo k7x和oppo k7参数对比
  4. 安装完sdk后,在cmd运行adb,发现不行。
  5. 汇编语言(王爽第三版)笔记
  6. P1125 笨小猴笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词
  7. Linux:cutycapt html转jpg、png、pdf
  8. 分享 82个实用的前端开发工具
  9. bootstrap4 横向表格
  10. matplotlib 减少subplot空白