前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《DevOps权威指南》电子试读版-第一章-DevOps基础

《DevOps权威指南》电子试读版-第一章-DevOps基础

原创
作者头像
顾黄亮
发布2022-01-09 14:27:53
3.9K2
发布2022-01-09 14:27:53
举报
文章被收录于专栏:腾讯云TVP腾讯云TVP

1.1  DevOps基础

1.1.1  DevOps的概念

evOps(development和operations的组合词)是一组过程、方法与系统的统称,用于促进软件开发(应用程序或软件工程)部门、技术运营部门和质量保障(Quality Assurance,QA)部门的相互沟通、协作与整合,如图1-1所示。软件行业从业人员日渐认识到:为了按时交付软件产品或服务,软件开发人员和运营人员必须紧密合作,必须重视软件开发人员和运维人员的沟通,并通过自动化流程使得软件的构建、测试和发布更加快捷、可靠。

图1-1

近年来,DevOps在不同业态、不同领域和不同规模的企业落地,取得了较好的实践效果。对于企业的精益运营和IT精益运行,DevOps的原生理念已经不能满足需求,颠覆式的发展和变革应运而生。提升组织级的效能和质量成为DevOps发展阶段中能力输出的新方向。因此,DevOps的发展除原生地促进部门沟通以外,将应用的全生命周期管理提升到一个新的高度。同时,相对应的文化协同和流程驱动也随着数据的衍生能力向前推进,实现了技术运营和价值交付的高度协同目标。

对于企业级用户,什么是DevOps、DevOps的核心目标是什么、应该具备什么能力这3个问题必须解释清楚,因为这关系着企业级实践和落地。作者曾与业内多个相关组织的成员和个人进行过讨论,尽管得到的反馈不同,但核心价值是确定的,就是如何通过DevOps实现最终的价值交付和输出。

1.1.2  DevOps与企业和IT组织的关系

1.DevOps和企业的关系

企业的发展需要具备相应的目标,而企业的发展目标一般通过经济效益来评价。经济效益包括产能、营业额、利润率和投资回报率。企业的发展目标可以分解为以下4个方面进行讲解。

(1)企业对社会的贡献目标。对于不同类型和业态的企业,企业对社会的贡献目标体现在企业的产品效应和产品效益上。

(2)企业的市场目标。它决定了企业能否生存。提高企业产品的创新水平和企业产品的快速上线能力,以及产品的市场占有率是达成企业的市场目标的重要手段。

(3)企业的开发目标。这是企业提高生产力水平的重要目标。它通过扩大企业规模,增加固定资产、流动资金,提高生产能力,增加品种、产量和销售量,提高企业人均生产力,以及提高自动化程度来实现。

(4)企业的利益目标。在经营过程中,企业通过“降本增效”达到企业的利益目标的最大化。“降本增效”可以通过企业自身的产品调整和内部管理调整来实现,调整的依据是内外部的数据分析和支撑。

DevOps在企业发展过程中的定位更偏向于为企业“锦上添花”,而不是让企业“绝处逢生”。在进行企业级DevOps落地的过程中,管理者要注意,无论企业是在经历业态转型、数字化转型,还是品牌经营转型,均需要利用先进的信息技术来提升自身的管理水平,增加企业的竞争力,这是DevOps提供的价值和能力。

对于企业的核心价值输出,DevOps的作用是“催化剂”,这一点和企业的发展目标是不相悖的。因此,无论DevOps的落地成功与否,都不能让企业发生“质”的变化,但可以给企业带来商业上的成功。

2.DevOps和IT组织的关系

IT组织是DevOps企业级实践的载体。对于企业,其日常经营离不开IT组织的配合和支撑。一般来说,IT组织是企业实现可持续经营不可或缺的一部分,它拥有的属性包括信息化和数字化。在企业的日常经营活动中,IT组织需要具备以下两种核心能力。

(1)以企业的战略目标为导向,通过信息化和数字化的手段对企业战略进行支撑。

(2)在信息化总体规划的指导下,建设信息化和数字化的基础设施、应用系统,为企业经营提供技术保障。

IT组织和DevOps的“纠葛”来源于IT组织的自我革新。在大多数企业中,IT组织的压力分为内部压力和外部压力。内部压力主要来自内部管理和协调,外部压力主要来自业务部门的服务需求。当外部压力需要通过内部管理来释放时,DevOps的原生能力并不能覆盖所有。现今,越来越多的企业将目光投向DevOps,除利用DevOps提升效能,维持高标准和高效率的能力输出以外,还要保证外部压力释放的合理性。国内一些大型互联网企业在这方面的实践中取得了较好的效果。

随着规模和能力的变化,IT组织从“单兵模式”发展到“集团军模式”,于是出现了职责的分工和工作流的衔接,这就是我们通常所说的IT组织的能力子域,如交付链路的项目管理、需求管理、产品管理、架构管理、开发管理、测试管理、运维管理和安全管理等。在交付链路上,能力子域是以单个节点的形式存在的,在衔接配合的同时也存在职责以外的目标矛盾。

因此,在IT组织的内部,DevOps要实现IT服务流程的贯通,解决各能力子域的矛盾。这是对DevOps原生能力的一种拓展。这里的重点在于跨部门和跨团队的线上协作,通过DevOps理念,实现交付流水线的信息传递。举个例子,在用传统的方法进行系统上线部署时,可能需要一个冗长的说明文档,而在用DevOps的方法进行系统上线部署时,通过标准运行环境的选择、环境的设置、部署流程的编排,实现自动化部署。另外,对于这样的部署方法,操作人员可以理解,机器能够执行,部署的过程也可以被追踪和审计。

化解能力子域的矛盾是基础,连通应用全生命周期管理和价值交付是进阶。举个例子,从项目立项、需求整理、架构设计、代码开发、集成构建、代码测试、持续部署、代码配置和上线监控的工具集成,到形成工具链的一体化连通和输出方式,最终实现IT组织能力的变现。

IT组织需要通过DevOps的能力实现“科技输出”和“技术运营”,这有两个特点,一是IT组织具备业务属性,DevOps能够生产价值;二是IT组织不具备业务属性,DevOps能够贡献价值。

1.1.3  DevOps究竟是什么

DevOps究竟是什么?从表面上来看,DevOps是指“开发和运维一体化”,这也是DevOps的原生能力,即通过工具辅助开发人员完成运维人员的部分工作,减少成本。但在我们深入理解了DevOps与企业和IT组织的关系后,就会发现,DevOps其实是一种方法,即面向组织的效能和质量管理方法论。在交付链路能力子域,DevOps消除了隔阂;在项目和需求子域,DevOps实现了精准的过程控制和风险管理;在软件研发和测试子域,DevOps帮助研发和测试团队在保证质量的前提下提高交付效率;在运维子域,DevOps提高了产品发布的效率和线上质量反馈的速度。

同时,利用交付链路的工具让数据落地,通过度量来管理过程,通过反馈来回检优化,最终实现组织级的效能和质量的提升。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1  DevOps基础
    • 1.1.1  DevOps的概念
      • 1.1.2  DevOps与企业和IT组织的关系
        • 1.1.3  DevOps究竟是什么
        相关产品与服务
        CODING DevOps
        CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档