DevOps源于Development和Operations的组合安全
DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合做的文化、运动或惯例。透过自动化“软件交付”和“架构变动”的流程,来使得构建、测试、发布软件可以更加地快捷、频繁和可靠。架构
下面这个戴明环也是常见的表达形式:运维
点击此处添加图片说明文字工具
蓝鲸在深度实践DevOps后,结合对DevOps理解和经验总结,从新定义了DevOps。即下图这6个英文单词的首字母组成:性能
Do、Efficiency、Value、Open、Progress、Security。测试
点击此处添加图片说明文字优化
结合这六个词、结合蓝鲸产品团队在今年6月蓝鲸DevOps活动上的分享以及我的理解,咱们将从蓝鲸的视角展开来谈谈DevOps:spa
DevOps文化、理论体系的宣导者众多,各类大会也会去介绍各类“道、法、术”;大一些的企业基本都会有设立教练的角色,指导各个研发团队开展DevOps转型。但一些企业用户在听完各类“道、法、术”以后,要么是讲的听不懂,要么是懂也不会作、作也作很差。也有企业先找咨询公司作咨询,但咨询完后殊不知道怎么落地。blog
蓝鲸DevOps认为DevOps的第一要素,就是实践,即所谓的“事上练”。没有实践过DevOps的经历就没有感悟,谈论再多的文化、理论,还不如贴近业务研发痛点,动手行动,用实践来验证想法和理论,点滴积累,绘成逐渐强大的DevOps体系。游戏
在咱们开展实践以后,须要有目标。DevOps 根本的目标就是提高研发效能。
首先,效能体如今可让你们能够“Focus On Your Job”。开发人员的职责是写代码和合并代码,合并代码完就去抽烟,其余的交给平台自动化执行;而不是去推进打包、申请资源、部署、测试、生产上线。
其次,效能体如今可让你们在同一套平台中进行工做和协同,而不是在不一样的工具中作不一样的事情。一个企业IT部门有18套研发、测试、运维工具,这表明先进仍是落后呢?很显然,这是一种落后的表现,由于这几乎将没法实现跨系统自动调度。蓝鲸DevOps平台能够将DevOps工具链进行整合,让不一样的角色专一于其本职工做,达到提高效能的目标。
DevOps要为用户不断的输出价值,就要为DevOps体系中融入更多的提供价值的功能。例如:
价值也应该是能够复制的,企业一般有多个团队同时开展多个项目,咱们对某个项目团队进行了大量DevOps方面的改进,并邀请工信部对项目进行了DevOps能力成熟度评级,咱们团队达到了3级。可是,其余的项目或团队呢?他们可否达到3级标准?咱们在DevOps方面作出的努力,是否能够平行复制到其余团队?
蓝鲸DevOps有一个理念是——价值应被平行复制到各个项目团队。每个价值点的输出,均可以让用户真正的感觉到DevOps所能带来的改变,这样才能把用户凝聚在平台上,而不是老是考虑哪里用得不顺,本身创建一套平台。蓝鲸DevOps带来的体系完善、效能提高,不是针对某个团队,而是能够平行复制到全部的研发团队,这就是最大的价值。
不一样的企业甚至同一家企业的不一样团队,其DevOps落地的进程和对DevOps的要求都有差别的,咱们必须用开放的心态接受这种差别。
例如:蓝鲸DevOps平台里面有敏捷协同模块,能够管理项目的需求、任务、缺陷、迭代计划等等,可是许多传统行业,基于企业的研发管控制度等缘由,已经创建了适合本身的需求管理平台、研发任务管理平台等工具平台,咱们的解决方案是不断给用户洗脑让用户放弃现有的协同和管理模式,仍是以开放的心态来面对客户现有的管理体系呢?
蓝鲸的选择是以开放的体系面对不一样团队的需求,提供尽量灵活的架构和工具,经过工具开放的方式来兼容不一样团队的模式。蓝鲸自己也是面向CI-CD-CO的研运一体化平台。
DevOps的一个重要理念就在于持续改进。咱们能够经过各个子系统的数据进行总体的度量,来发现哪一个项目、哪些环节常常出现停滞、失败率比较高、耗时比较长,而且进行针对性的改进。
例如:若是研发效能瓶颈在测试环节,就须要深究致使测试耗时长的问题。若是是由于没有引入自动化的测试、手工测试耗时较长,就能够逐步补充自动化测试用例;若是研发效能瓶颈须要人工响应才能推动,就能够引入自动化的流水线和优化研发流程,减小人工参与和没必要要的审核节点。
只有经过不断的改进,企业才能将原来的每个月迭代和发布,缩短为每周迭代和发布,甚至逐步改进为天天迭代和发布,最终达到Google、FaceBook等企业达到的1天若干次发布的效果。
各个团队能够跟本身比,每一阶段都相比前一阶段有进步,就是团队的自我发展。而蓝鲸DevOps平台也是不断演进的成果。
一个企业级的DevOps平台,安全是很是重要的。研发人员电脑、代码库、构建机、测试环境、制品库均可能致使代码及软件包的泄露,这也致使游戏行业大量私服的出现。而软件上线以后还要考虑漏洞被利用、跨站攻击、数据窃取等等问题。
不论DevOps平台自己,仍是从平台流出的制品,一切要以安全为依归。DevOps平台自己应该提供监、管、控手段,能够进行细粒度的权限控制,避免非法访问和非法窃取数据、代码、软件包。DevOps平台也应该提供代码扫描、安全扫描、质量红线等安全工具,能够独立运行或者结合到流水线里面自动调用,保证交付的软件的可靠性,给平台使用者以及产出软件的用户一个安全保障。
做者:方勇