前言:
本文将介绍《DevOps Handbook》全书中的一部分:对 DevOps 常见误区进行解读。有些敌人对 DevOps 不相熟或有一些不精确的了解,比方是不是只有互联网公司能够仅仅,是不是与 ITIL 不兼容,是不是做 DevOps 就不能同时保证质量和效率等,咱们会对这些常见误区进行剖析。
第一个常见的误区:DevOps 只适宜于初创型的互联网公司,这也是很多人常常会表白的一个观点。
DevOps 实际的确是被那些互联网独角兽公司所提倡,包含优良的公司比方谷歌、亚马逊、Netflix、Etsy,这些公司都在提倡 DevOps 相干的办法实际,尽管兴许他们不把它称为 DevOps。
实际上,这些公司并不是生来如此的,每个公司成长过程都是一样的,都会经验很多问题、崎岖,也经验过 IT 跟不上业务的倒退导致业务停滞的危险。
咱们把他们叫做独角兽公司,因为在神话里独角兽是一种长着犄角和翅膀的白马,这些公司都是从一般的”马驹”公司进化成了独角兽公司,他们也会遇到传统公司所碰到的问题,包含高危代码导致的灾难性的失败、不能疾速公布性能、不能应答市场上竞争的变动、不能扩充规模,以及开发和运维互相对抗而不能相互信任等。
第二个误区,DevOps Replaces Agile,有些人认为是不是 DevOps 就会替换掉 Agile。
正确的说法应该是 DevOps 的办法和实际是与麻利相适应的,咱们认为 DevOps 是麻利之旅的一种逻辑延长。
麻利是 DevOps 的使能者,因为做了麻利,具备小团队疾速公布和继续交付的能力,能力进一步做好 DevOps。
然而 DevOps 实际上是在超过麻利的,大家读过《麻利宣言》,有一句是”可工作的软件大于八面玲珑的文档”,每个迭代完结之后它会失去一个潜在可交付的版本,然而咱们认为 DevOps 曾经在超过这个指标,把指标扩大为”让代码始终处于可部署的状态”。
通过每日频繁的签入代码到骨干上,通过一系列的构建、自动化测试,可能很快在类生产环境甚至生产环境看到这次变更所带来的影响。DevOps 不是替换麻利,而是麻利之旅的延长,把指标做进一步的扩大。
第三个误区,DevOps 与 ITIL 不兼容,这可能是很多做运维的敌人最大的困惑。1989 年提出的 ITIL 是十分经典的方法论,影响了一代又一代运维实践者。
有很多世界级 IT 运维流程横跨整个服务的策略、设计和反对等很多方面,然而咱们认为 DevOps 的实际实际上能够与 ITIL 流程做兼容。具体有三个方面:
- 第一,为了反对更短的前置周期和更高的部署效率,很多 ITIL 流程须要自动化,通过自动化的形式晋升效率。
- 第二,为了解决配置和公布治理流程方面的一些问题,咱们强调 DevOps 须要放弃配置管理数据库以及软件库的及时更新。
- 第三,DevOps 须要疾速探测和复原故障,在这个背景之下 ITIL 里对于服务的设计、事变、问题治理的这些流程其实是依然实用的。
ITIL 与 DevOps 其实是能够兼容的,之前有一个文档《企业级 DevOps 成功之路》,外面谈到 DevOps 里有很多组成部分,包含麻利、继续交付、精益,还有轻量级的 ITSM,如何把 ITIL 流程做效率上的优化,与 DevOps 频繁公布变更的模式相匹配等,所以咱们认为实质上二者是能够兼容的。
第四个误区,DevOps 和信息安全、合规性之间不兼容。
很多人感觉 DevOps 不足传统的管制形式,比方职责隔离,不同人有不同权限、做不同事件,DevOps 考究跨界,激励开发人员自服务的形式做环境申请、部署和公布。
又比如说传统的管制形式有很严格的变更审批的流程,以及在整个我的项目开端人工进行十分欠缺的平安 review 的流动。
DevOps 没有这些流动,然而不代表没有安全控制,反过来,很多做 DevOps 的公司的安全性、合规性甚至会超过原来传统管制形式的公司。因为 DevOps 其实是把原来我的项目开端做的平安和合规性的查看注入到了每个阶段,变成日常工作的一部分。
咱们常常说在 DevOps 里是没有独自的测试阶段的,然而它把测试曾经融入到每个阶段,测试在 DevOps 场景里是每个阶段都要做的实际,而不是一个独自的阶段。没有传统的管制形式,并不意味着 DevOps 没有平安和合规性的要求,反而它会更强。
第五个误区,DevOps 没有 Ops 或者说排挤了 IT 经营。
诚然在 DevOps 场景里 IT 经营或者运维的职责会产生一些变动,然而这种角色依然是十分重要的。
咱们的运维更早的会染指到软件生命周期里,可能会与开发一起工作。反过来,开发也会在代码部署到生产之后,与运维一起去继续工作。变动是咱们更强调自动化,通过自动化代替原来手工解决工单的一些工作。
运维最大的变动是通过一系列自服务平台的创立和开发,可能把本人原来基于人工的环境的建设、保护、公布、部署等等这些能力赋能给开发,通过赋能给开发的形式,晋升流程生产效率。
从这个角度讲,IT 经营或运维其实更像是一种开发,开发的产品是一个平台,让开发人员能够疾速、平安、牢靠的用这个平台去实现常常操作的场景,比方部署、环境调配等。从这个角度讲,并不是说没有经营或运维,反过来运维的职能会有些变动,更强调赋能给开发,晋升自服务能力。
第六个误区,DevOps 仅仅是基础设施即代码。
因为很多人在谈 DevOps 强调的是自动化,强调的是 Puppet、Chef、Ansible 这种工具,咱们认为这远远不够。
很多 DevOps 模式的确须要自动化,然而那些胜利的公司不仅仅有技术领域的改良,更有公司组织构造的调整、文化氛围的调整,让整个共享指标在 IT 的价值流里疾速交付,这曾经远远超出了自动化的领域。
这里有一句很经典的话:”DevOps 不仅是自动化,就像天文学不仅是望远镜那样”。咱们要超过技术的领域去看更广大的改良空间。
第七个误区,DevOps 只为开源软件服务。
很多胜利的故事都是用 LAMP 技术栈,比方 Linux、Apache、MySQL、PHP,然而这些其实与获得 DevOps 的成绩是无关的,咱们看到很多胜利案例能够用微软.Net、大型机零碎、SAP 软件,或者是一些嵌入式软件等,都能够做 DevOps 转型,在《DevOps Handbook》这本书里也提到很多,包含 ATM 机这种简单的嵌入式的零碎也能够做 DevOps 转型。
以上谈到了七个误区,心愿大家通过我的解读缓缓去了解,DevOps 实际上是一个普适的概念,它不仅仅是自动化,不仅仅是一种流程,能够跟咱们日常的工作场景相兼容。
最初,举荐大家看下《116 页 DevOps 实际手册,揭秘阿里巴巴高效开发的秘籍》你会对 DevOps 有更全面的理解!
福利:豆花同学为大家精心整顿了一份对于 linux 和 python 的学习材料大合集!有须要的小伙伴们,关注豆花集体公众号:python 头条!回复关键词“材料合集”即可收费支付!