徐州软件公司_徐州软件开发公司_徐州徐软科技有限公司_徐州ERP软件_徐州OA软件

当前位置 : 首页 > 徐州软件开发技术论坛 > 作为IT人,你不可不知的 DevOps

作为IT人,你不可不知的 DevOps

作者:徐州软件公司  文章来源:徐州软件公司   阅读次数:358 次
2017-12-04

此文章是徐州软件公司整理的技术资料,由徐州软件公司总务部发布,邮箱:zongwu@xuzhousoft.com

江苏徐软信息科技有限公司江苏徐软信息科技有限公司

Gartner 2016 年应用开发成熟度曲线上,DevOps 已入顶峰。毫无疑问,DevOps 自 2009 年诞生以来,一路高歌猛进,目前已然成为软件行业的标准配置(最佳实践)。

甚至近两年的IT招聘中,DevOps 工程师已成为最火的岗位之一,而熟悉 DevOps 也成为研发人员或运维人员的技能要求。相应的,作为新兴技术概念繁荣的另一面,当我们谈论 DevOps 时,对其认识也呈现出多种多样的理解,并会按照自己的需要进行阐述:有的强调研发和运维流程改进,有的谈论自动化运维,有的试图建立起软件开发全生命周期管理;还有些甚至在 DevOps 的基础上进行更为超前的扩展,比如,就某些具体的领域探讨 NoOps 或者是围绕人工智能建立 AIOps,等等,真是乱花渐欲迷人眼。

今天,无论是作为互联网行业的参与者,还是传统IT企业的从业者,在这场 DevOps 运动浪潮中,我们要如何拨开重重迷雾来理解 DevOps,了解各种不同 DevOps 主张间的异同,从中选择适合自己的方式落地,并最终建立起高效的研发运维体系?

另一方面,我们如何从 DevOps 的发展中理出隐藏在背后的动机和目标,从而在实践过程中能够超脱具体器用的限制,在面对未知问题时可以灵活的处理,甚而发展出自己的流程、系统和生态?……

对这些问题的探讨正是本文目的之所在!但在开始我们的旅程前,我们需要先回答一个基本问题:DevOps 到底是什么?

DevOps是什么?

DevOps (a clipped compound of “development” and “operations”) is a software engineering practice that aims at unifying software development (Dev) and software operation (Ops).

The main characteristic of the DevOps movement is to strongly advocate automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management.

DevOps aims at shorter development cycles, increased deployment frequency, more dependable releases, in close alignment with business objectives.

如上是 wikipedia 上关于 DevOps 的最新描述【注1】,聊聊数语,似乎并不能让我们建立对 DevOps 的清晰认知,而且也不能一窥DevOps已发展出的庞大体系。

为了要理解现今的 DevOps,我们最好顺着历史长河逆流而上,不过有别于关注那些发生在2009年左右的故事【注2】,这次让我们先走的更远些,看看那敏捷诞生时的事情。

2000年左右,软件行业的主要工作是交付客户定制的软件应用,而软件研发团队被推荐使用像 CMM/CMMI、RUP 这样的大型方法论来组织生产

【注3】。

从事过大型交付项目的人应该对些方法论不陌生,抛开可能的操作差异——比如是瀑布还是迭代,它们有着一些共同的特征:

这些大型方法论效果并不理想,一方面甲乙双方在需求变更上的扯皮不是影响交付日期就是交付后的产品不能真正解决客户的问题,另一方面研发团队又需要花费大量精力在准备流程需要的文档上面【注4】。

正因此,当时一些正在积极尝试不同方法的软件开发人员才会济济一堂,提出著名的《敏捷宣言》。

虽然敏捷宣言的提出者们委婉地肯定了一下右侧各项的价值,但我们依然能够从这些文字中体会出他们对大型方法论的不满——右侧各项都是与大型方法论紧密联系的实践。

可以这样说,敏捷方法的出现正是对大型方法论的反思和反抗。由于敏捷源自实践,在这个概念刚刚提出时,其对应的理论体系尚不完备,人们对其认知也并不统一,所以开始时,敏捷涵盖了与敏捷宣言相联系的多种方法论

【注5】。

这里,我们提及敏捷的原因在于几点:

第一,作为 DevOps 的提出者,敏捷的视角和方法直接影响了早期 DevOps,我们需要理清这样的影响在何处。

第二,DevOps 和敏捷,以及更早些的精益生产,都是先实践,再形成理论,最后又以理论指导实践。因此,了解了敏捷的诞生和发展过程,我们再看人们对 DevOps 概念认知的发展就不会感到困惑。

最后,DevOps 的产生和整个大环境的变化有着直接的关系,从敏捷到DevOps,我们通过梳理历史发展的脉络来从侧面了解催生 DevOps 背后的原因。

1

如图2,敏捷提出后其关注过程和质量,而其要解决的问题则是如何快速交付客户需要的软件,或者我们更高大上地说,如何快速地交付价值!

一开始,这里的交付有着相对狭窄的意义,也就是,它实际上指的是软件外包公司和软件需求方(甲方)之间的软件研发和制品交付工作。而后,随着敏捷在一般企业内部推广,其开始涵盖软件开发团队和业务团队之间的需求实现和软件交付关系。此时,整个软件的生命周期如图3,交付是开发的终点(或者在任何迭代中作为阶段性终点)。

由于此时多数是企业级应用开发,业务的稳定性和需求的演进速度尚不是问题,加之开发和运维在物理上的分离(通常分属于不同的公司),因此,研发和运维之间的矛盾并未凸显,需求频繁变更、研发效率低下才是甲乙双方头痛的问题。

2

图3. 传统软件生命周期

之后,如图4,在互联网高速发展的过程中,软件开发成为企业业务整体运营中的一环,开发团队阶段性交付软件后,并不能从总体上为业务立即带来任何价值,软件必须经过后续阶段,直到被部署到生产环境并真正带动业务运转起来后,整个软件研发工作才算交付了价值。

3

因此,在 DevOps 提出前,IT 行业中的主要问题不再仅仅是需求研发的问题,而且还有软件变更高质量、快速上线的问题。要让业务快速产生价值,降低从需求到软件上线的整体时间才是关键,如图5,加之互联网业务高速运转的要求,这个效率对企业生存是至关重要的。

但是,由于传统研发和运维定位的问题,即便在同一个企业中,由于工作性质和考核的方式的不同,研发和运维之间的部门墙对效率的提高有着很大阻碍(图6)。

此时即便研发可以通过敏捷高效起来,但糟糕的交付过程依然会将业务交付整体拉回到低效的瀑布方式(图6),甚至造成业务失败,而这正是促使咨询师 Patrick Debois 提出 DevOps 的关键所在。【注8】

因此,在 DevOps 提出前,IT 行业中的主要问题不再仅仅是需求研发的问题,而且还有软件变更高质量、快速上线的问题。要让业务快速产生价值,降低从需求到软件上线的整体时间才是关键,如图5,加之互联网业务高速运转的要求,这个效率对企业生存是至关重要的。

但是,由于传统研发和运维定位的问题,即便在同一个企业中,由于工作性质和考核的方式的不同,研发和运维之间的部门墙对效率的提高有着很大阻碍(图6)。

此时即便研发可以通过敏捷高效起来,但糟糕的交付过程依然会将业务交付整体拉回到低效的瀑布方式(图6),甚至造成业务失败,而这正是促使咨询师 Patrick Debois 提出 DevOps 的关键所在。【注8】

5

6

7

此时,让我们站在图1时间轴的2009年处,回看过去并眺望未来!向后看,敏捷已经有近10年的发展,围绕持续集成的实践已经比较成熟。但传统运维侧的部署和运维领域里的工具都尚待繁荣,而整个社区内只有为数不多的经验可以用来指导 DevOps 实践。如 Flickr 的《10+ Deploys Per Day: Dev and Ops Cooperation at Flickr》。

而向前看,2年后的2011年,《持续交付》这部重要的著作才会上市,业界和社区此时对持续交付尚缺统一的指导思想。4年后,探讨精益思想应用于开发运维工作中《凤凰项目》才出版。在这种情况下,作为擅长流程改进的敏捷方法论祭出沟通和协作的大旗就顺理成章了,而这也就反映在 DevOps 最初的图中,如图8。

另一方面,对文化的强调也得自于敏捷推广过程中的经验,自然地,这一部分也延续到了 DevOps上。可以这么说,早期 DevOps 就是敏捷通过开发向运维侧延伸,它直接继承了来自敏捷的诸多理念和实践,尤其是许多年来精益思想在软件行业的实践,这一次在拉通整个价值流的过程中得到了更大的应用舞台,如图9。

8

总结一下,在 DevOps 提出时,面对的问题从定制软件的交付变成支撑业务的自研软件的部署和运营,敏捷轻车熟路地将利益相关各方拉到一起,希望在统一业务目标的前提下,通过沟通和协作来消除部门间的隔阂,提高整个流程的效率。

有别于敏捷方法在处理软件研发时所面对的情况,应用部署和运维是一个硬技术领域,其非常依赖工具和自动化,尤其是对于规模稍大的公司而言,源自持续集成的有关技术完全无法达到大规模 DevOps 预期的目标。

因此,沟通和协作带来的效率提升在运维相关的工作上很快会达到天花板,接下来,一系列自动化工具的繁荣将会推动 DevOps 走到新的高度,同时,这也让自动化运维成为 DevOps 的一种形态。

(未完待续)

江苏徐软信息科技有限公司(简称徐州软件公司)是徐州软件公司中成立时间最长、技术能力最强、经济实力最雄厚的徐州软件开发公司之一,专业的徐州软件开发团队,从事徐州软件开发10年,一直保持着徐州软件开发行业排头兵的地位。徐州软件公司徐州软件开发行业内的众多徐州软件开发公司保持着良好的合作关系,是徐州软件开发行业的领航者之一。徐州软件公司立足徐州软件开发市场,主攻徐州软件开发徐州APP开发徐州软件公司徐州ERP软件开发徐州OA软件开发徐州CRM软件开发等领域拥有大量经典案例。更多信息请访问徐州软件公司官方网站:

徐软com:http://www.xuzhousoft.com  徐软cn:http://www.xuzhousoft.com.cn
徐软app:http://app.xuzhousoft.com  淮北徐软:http://huaibei.xuzhousoft.com.cn
济宁徐软:http://jining.xuzhousoft.com.cn  亳州徐软:http://bozhou.xuzhousoft.com.cn
菏泽徐软:http://heze.xuzhousoft.com.cn  宿州徐软:http://suzhou.xuzhousoft.com.cn
枣庄徐软:http://zaozhuang.xuzhousoft.com.cn  宿迁徐软:http://suqian.xuzhousoft.com.cn
商丘徐软:http://shangqiu.xuzhousoft.com.cn  连云港徐软:http://lianyungang.xuzhousoft.com.cn
莱芜徐软:http://laiwu.xuzhousoft.com.cn  泰安徐软:http://taian.xuzhousoft.com.cn
日照徐软:http://rizhao.xuzhousoft.com.cn  开封徐软:http://kaifeng.xuzhousoft.com.cn
周口徐软:http://zhoukou.xuzhousoft.com.cn  盐城徐软:http://yancheng.xuzhousoft.com.cn
淮安徐软:http://huaian.xuzhousoft.com.cn  阜阳徐软:http://fuyang.xuzhousoft.com.cn
蚌埠徐软:http://bengbu.xuzhousoft.com.cn  临沂徐软:http://linyi.xuzhousoft.com.cn
邳州徐软:http://pizhou.xuzhousoft.com.cn  新沂徐软:http://xinyi.xuzhousoft.com.cn
沛县徐软:http://peixian.xuzhousoft.com.cn  睢宁徐软:http://suining.xuzhousoft.com.cn
丰县徐软:http://fengxian.xuzhousoft.com.cn  萧县徐软:http://xiaoxian.xuzhousoft.com.cn
砀山徐软:http://dangshan.xuzhousoft.com.cn  微山徐软:http://weishan.xuzhousoft.com.cn
永城徐软:http://yongcheng.xuzhousoft.com.cn  网络营销:http://www.f168yingxiao.com
徐州系统集成公司:http://www.0516app.com

关键字标签:徐州软件公司 徐州软件开发公司 徐州APP软件开发公司 徐州ERP软件开发公司 徐州CRM软件开发公司 徐州OA软件开发公司

下载DOC版 下载PDF版

* 以上内容由 徐州软件公司 整理


关于我们

    江苏徐软信息科技有限公司(简称徐州软件)位于国家大学科技园内,成立于2005年,注册资金1000万元,是徐州地区最具实力的集软件开发、电子商务技术服务、门户网站建设、系统集成、网络工程为一体的高科技IT技术公司之一。

技术支持

  • 售后服务电话:0516-83003411
  • 售后服务QQ:412110939
  • 售后服务邮箱:
    service@xuzhousoft.com
  • 售后投诉电话:18795428064
徐州软件公司
    扫描微信二维码即可获得
    免费信息化咨询服务

Copyright© 2005 江苏徐软信息科技有限公司 All Rights Reserved.
苏公网安备 32030302000144号  苏ICP备11059116号-5

地址:江苏省徐州市云龙区和平路57号江苏师范大学科技园4F  徐州软件公司
电话:0516-83737996 邮箱:sales@xuzhousoft.com

江苏徐软信息科技有限公司地图
江苏徐软信息科技有限公司地图
点这里关闭本窗口
×