DevOps源于Development和Operations的组合

常见的定义

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

下面这个戴明环也是常见的表达形式:

蓝鲸在深度实践DevOps后,结合对DevOps理解和经验总结,重新定义了DevOps。即下图这6个英文单词的首字母组成:

DoEfficiencyValueOpenProgressSecurity

结合这六个词、结合蓝鲸产品团队在今年6月蓝鲸DevOps活动上的分享以及个人理解,我们将从蓝鲸的视角展开来谈谈DevOps:

Do实践:以实践为基础推行DevOps

DevOps文化、理论体系的宣导者众多,各种大会也会去介绍各种“道、法、术”;大一些的企业基本都会有设立教练的角色,指导各个研发团队开展DevOps转型。但一些企业用户在听完各种“道、法、术”之后,要么是讲的听不懂,要么是懂也不会做、做也做不好。也有企业先找咨询公司做咨询,但咨询完后却不知道怎么落地。

蓝鲸DevOps认为DevOps的第一要素,就是实践,即所谓的“事上练”。没有实践过DevOps的经历就没有感悟,谈论再多的文化、理论,还不如贴近业务研发痛点,动手行动,用实践来验证想法和理论,点滴积累,绘成逐渐强大的DevOps体系。

Efficiency效能:效能是DevOps追求的目标

在我们开展实践之后,需要有目标。DevOps 根本的目标就是提升研发效能。

首先,效能体现在可以让大家可以“Focus On Your Job”。开发人员的职责是写代码和合并代码,合并代码完就去抽烟,其他的交给平台自动化执行;而不是去推动打包、申请资源、部署、测试、生产上线。

其次,效能体现在可以让大家在同一套平台中进行工作和协同,而不是在不同的工具中做不同的事情。一个企业IT部门有18套研发、测试、运维工具,这代表先进还是落后呢?很显然,这是一种落后的表现,因为这几乎将无法实现跨系统自动调度。蓝鲸DevOps平台可以将DevOps工具链进行整合,让不同的角色专注于其本职工作,达到提升效能的目标。

Value价值:DevOps必须输出价值

DevOps要为用户不断的输出价值,就要为DevOps体系中融入更多的提供价值的功能。例如:

  • 在DevOps平台中加入质量红线,可以提供给用户来建立各种质量门禁,如:代码准入门禁、迭代验收门禁、发布控制门禁;
  • 在DevOps平台中提供编译加速,帮助用户提升编译的性能;
  • 在DevOps平台中提供构建资源池,在构建的时候可以自动调度构建资源,完成构建之后可以自动释放资源等等;
  • 在DevOps平台中优化流水线的体验和原子,用户可以轻松组装出来各种复杂的业务场景……

价值也应该是可以复制的,企业通常有多个团队同时开展多个项目,我们对某个项目团队进行了大量DevOps方面的改进,并邀请工信部对项目进行了DevOps能力成熟度评级,我们团队达到了3级。但是,其他的项目或团队呢?他们能否达到3级标准?我们在DevOps方面做出的努力,是否可以平行复制到其他团队?

蓝鲸DevOps有一个理念是——价值应被平行复制到各个项目团队。每一个价值点的输出,都可以让用户真正的感受到DevOps所能带来的改变,这样才能把用户凝聚在平台上,而不是总是考虑哪里用得不顺,自己建立一套平台。蓝鲸DevOps带来的体系完善、效能提升,不是针对某个团队,而是可以平行复制到所有的研发团队,这就是最大的价值。

Open开放:以开放的心态面对各种场景

不同的企业甚至同一家企业的不同团队,其DevOps落地的进程和对DevOps的要求都有差异的,我们必须用开放的心态接受这种差异。

例如:蓝鲸DevOps平台里面有敏捷协同模块,可以管理项目的需求、任务、缺陷、迭代计划等等,但是许多传统行业,基于企业的研发管控制度等原因,已经建立了适合自己的需求管理平台、研发任务管理平台等工具平台,我们的解决方案是不断给用户洗脑让用户放弃现有的协同和管理模式,还是以开放的心态来面对客户现有的管理体系呢?

蓝鲸的选择是以开放的体系面对不同团队的需求,提供尽可能灵活的架构和工具,通过工具开放的方式来兼容不同团队的模式。蓝鲸本身也是面向CI-CD-CO的研运一体化平台。

Progress演进:持续交付核心在于不断演进

DevOps的一个重要理念就在于持续改进。我们可以通过各个子系统的数据进行整体的度量,来发现哪个项目、哪些环节经常出现停滞、失败率比较高、耗时比较长,并且进行针对性的改进。

例如:如果研发效能瓶颈在测试环节,就需要深究导致测试耗时长的问题。如果是因为没有引入自动化的测试、手工测试耗时较长,就可以逐步补充自动化测试用例;如果研发效能瓶颈需要人工响应才能推进,就可以引入自动化的流水线和优化研发流程,减少人工参与和不必要的审核节点。

只有通过不断的改进,企业才能将原来的每月迭代和发布,缩短为每周迭代和发布,甚至逐步改进为每天迭代和发布,最终达到Google、FaceBook等企业达到的1天若干次发布的效果。

各个团队可以跟自己比,每一阶段都相比前一阶段有进步,就是团队的自我发展。而蓝鲸DevOps平台也是不断演进的成果。

Security安全:安全是基础

一个企业级的DevOps平台,安全是非常重要的。研发人员电脑、代码库、构建机、测试环境、制品库都可能导致代码及软件包的泄露,这也导致游戏行业大量私服的出现。而软件上线之后还要考虑漏洞被利用、跨站攻击、数据窃取等等问题。

不论DevOps平台本身,还是从平台流出的制品,一切要以安全为依归。DevOps平台本身应该提供监、管、控手段,可以进行细粒度的权限控制,避免非法访问和非法窃取数据、代码、软件包。DevOps平台也应该提供代码扫描、安全扫描、质量红线等安全工具,可以独立运行或者结合到流水线里面自动调用,保证交付的软件的可靠性,给平台使用者以及产出软件的用户一个安全保障。

作者:方勇

从蓝鲸视角谈DevOps相关推荐

  1. 谈DevOps研发运维一体化解决方案PPT制作

    今天准备谈下DevOps产品解决方案PPT材料的制作和修订,在前面实际我分享过云原生和DevOps的相关技术解决方案材料,但是实际在和客户交流后并没有达到很好的效果,简单总结来说就是材料太偏技术化,没 ...

  2. Steve Thair谈DevOps on Windows的演变与面临的挑战

    \ 本文要点 \\ 借助服务器角色的日益模块化.没有GUI的Server Core版本以及Powershell DSC的出现,几经演变,Windows服务器平台已经支持DevOps:\\t 每个人都需 ...

  3. 老司机谈DevOps 2.0:引子

    本文译自<DevOps2.0的工具集(DevOps黑宝书)--打造自动化的持续交付流程>一书,转自译者CSDN博客,转载请注明出处. 译者的话: 你真的懂DevOps么?你知道怎么就持续集 ...

  4. 图观 | 硅谷银行爆雷,从实时图计算的视角谈风控

    文/教授老点 硅谷银行(以下简称SVB)爆出大雷,让金融市场开始担忧会不会产生蝴蝶效应,引发新一轮类似雷曼兄弟破产时的危机? SVB倒闭的本质,是期限错配的利率风险(市场风险)造成信用风险,进而引发市 ...

  5. aosp 本地版本管理_谈 DevOps 平台实施:我在本地跑明明成功的,为什么在你平台跑就报错?...

    我在本地跑明明成功的,为什么在你平台跑就报错? 用户在 Jenkins 上跑构建时,失败了,把日志截图给我看,如下图: 在过去几个月,每个星期都会有一两个 Jenkins 用户就会给我发送类似的错误日 ...

  6. 谈 DevOps 自动化时,也应该考虑到 SOX 等法案

    2019独角兽企业重金招聘Python工程师标准>>> [编者按]作者 Aaron Volkmann 是 CERT Division 高级研究员,在本文中,他对 DevOps 自动化 ...

  7. 什么是机器学习?从3个视角谈起:学习任务、学习范式、学习模型

    Three Perspectives of Machine Learning 机器学习的三个视角 Perspectives Description 描述 典型 Learning Tasks 学习任务 ...

  8. 前端视角谈物联网三部曲:连接智能、交互智能、数据智能

    导语丨作为离用户和物联网设备最近的前端,在物联网三部曲中扮演什么样的角色呢?这两年来腾讯云物联网探索出了"腾讯连连"小程序,提供了一系列开源的开放能力,和更多的物联网开发商和爱好者 ...

  9. 从前端视角谈 IoT 物联网三部曲:连接智能、交互智能、数据智能

    一.物联网设备及腾讯连连简介 1. 设备分类 物联网的基础概念就是人与物相连.物与物相连的基础设施,跟互联网一样,都是基础设施.物就是物联网设备,说到物联网设备大家脑子里可能就会浮现那张增长很迅速的物 ...

最新文章

  1. 在Ubuntu 14.04 64bit上搭建Scala开发环境
  2. 关于现在人工智能预测的一些冷水
  3. 撒列实现关键字过虑二(附源码)
  4. Qt中的QColorDialog
  5. 13.3的MacBook air 8g内存还是有点吃力
  6. 拷贝文件不移动_在不使用 mv 命令的情况下移动文件
  7. linux数字雨代码解释,linux提权 漏洞合集 linux-kernel-exploits
  8. anconda设置镜像源_管理2000+Docker镜像,Kolla是如何做到的
  9. stm32,arm9和arm11三者的区别
  10. flume channel monitor实现源码分析
  11. 网络安全态势感知(NSSA)----引言
  12. jQuery源码分析(一)
  13. QT5.12安装图文教程与安装成功后环境配置详细教程
  14. 相片审核处理工具步骤_相片
  15. 平衡二叉树的原理及实现
  16. 实用常识 | 写论文时如何引用插入脚注 / 如何自定义脚注符号 / 如何将多个脚注合并在一起
  17. Number精度超了怎么办
  18. 文件里的三个重要时间:access time(访问时间), modify time(修改时间), change time(状态改动时间)
  19. mybatis lazyload
  20. php实现金币提现,哪位php大神帮忙写个金币转换函数

热门文章

  1. 阅读霍金的《时间简史》
  2. Twemproxy安装
  3. 使用中科大源安装python库
  4. android怎么升级版本OPPO,oppo哪些手机可以升级安卓11 oppo手机升级安卓11方法
  5. 【日常】无字幕教学视频中的音频转换成文字
  6. 作为一名网络安全工程师是什么样的体验
  7. 华南农业大学电子工程学院农业工程与信息技术专业上岸经历(初试)
  8. element UI-表格数据转换
  9. 资本青睐、巨头环伺,云通讯市场加速嬗变
  10. 性能测试面试题汇总(一)