APP下载
报价宝  ›  科技  › 

为什么企业需要拥有自己特色的DevOps?

报价宝 来源:baojiabao.com 发布时间:2019-07-17 02:49:00 09月30日更新
报价宝综合消息为什么企业需要拥有自己特色的DevOps?

伴随互联网的快速发展,巨大的流量也带动了技术的不断革新,研发的模式也在不断变化。企业只有确保自己比竞争对手更加敏捷、更加快速的响应数字化市场的变化,才能在这场数字经济革命中胜出。传统企业纷纷效仿互联网的做法,结合DevOps进行数字化转型。

DevOps是Development(Dev)和Operations(Ops)的组合,它是一组过程、方法与系统的统称。可以把DevOps看作开发、运维和质量保障三者的交集。它经常被描述为可以提高开发团队与运营团队之间的协作,促进更高效的关系,最终更快地构建可靠性更高、质量更好的软件。因此对一个企业来说,适时引入DevOps能对产品交付、测试、功能开发和维护起到意义深远的影响。

那么传统企业在向数字化企业转型的过程中,如何更好的践行DevOps,适应IT技术变革,适配企业自有特色,满足业务系统的安全、合规、可控等诉求呢?本文将致力于探讨DevOps的落地方案,给出一些可行的方法及工具等。

01

引入DevOps可以为企业带来的优势

在DevOps问世之前,已经有多种软件开发与交付模式,如瀑布式、迭代式、敏捷式等等。然而,现实总是有更加复杂的情况需要应对,比如开发、测试、灰度、生产环境难以分离;各环境程式码及配置混乱;手工部署工作量大、易出现失误,且部署时间长;无生命周期管理,资源循环慢。同时,开发、测试、运维人员之间,也有着高高的“部门墙”,相互之间沟通不畅等问题。

由此,DevOps理念终于诞生了。它的出现,就是用来迎接日渐拆分的微服务以及互联网应用时代的到来。它从出生起就带有了互联网的基因,最初的目的是重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化,填补开发端和运维端之间的资讯鸿沟,改善团队之间的协作关系,解决传统开发模式之痛,和计算机新时代下出现的更多问题。

DevOps致力于产品从开发到落地的整个生命周期过程管理。DevOps的引入可以对产品交付、测试、功能开发和维护起到关键的影响。可以让开发与测试、运维之间的协作更快更高效。

02

践行DevOps管理产品软件全生命周期

所谓软件的生命周期,是指按照开发软件的规模和复杂程度,从时间上把软件开发的整个过程分解,形成相对独立的几个阶段的过程。其中每个阶段又分解成多个具体的任务,同时要求按规定顺序依次完成各阶段的任务,最后生产出高质量的软件。

总体上说,软件的生命周期可分为以下几个阶段

1、需求获取与分析:从需求方,也就是客户处获取需求,确定软件的开发目标,对软件需要实现的各个功能进行详细分析。

2、软件设计并制定迭代计划:通过架构设计、详细设计等,确定具体详细的开发方案,并制定研发计划。

3、开发程式码:研发介入,依据迭代计划开发程式码,将软件设计的结果转变成可执行的程式程式码。

4、构建应用:通过继续整合等方法,将应用构建为可部署的应用包

5、自动化测试:测试及QA人员介入,利用测试工具,对研发开发的程式码进行严格的测试,发现软件中存在的问题并反馈,保证产品的质量。

6、释出部署:实施及运维人员介入,将软件产品部署至生产环境中,使产品真正面对客户服务。

7、执行维护:线上运维人员按照规范及手册,对线上环境实时维护,保障产品稳定执行。

可以看到,软件的生命周期复杂,涉及到的环节颇多。在此背景下,为实现DevOps的落地,需要考虑确定DevOps的落地原则,并依此或自开发软件工具,或利用市场现有的工具,整合至现有的团队之中。

03

DevOps落地的基本原则

想要落地并做好DevOps,就需要开发者站在客户的视角,来确定企业从设计到生产交付的全部过程,由此才能最大程度的实现客户需求。之所以运用DevOps,就是要发挥出DevOps的能力,提升软件研发及交付效率,提高产品质量。

对DevOps的落地原则整理归纳后,DevOps落地模式可以归结为以下3点。

1、基础设施即程式码原则

利用程式码对基础设施进行管理与配置,并形成模板可供复用。这样的好处是仅需要修改部分配置,即可快速建立一套工作环境,这里的工作环境包括虚拟机器、网络、负载均衡器以及数据库等。利用DevOps将重复的事情简化,使用自动化指令码或软件来实现。

2、持续整合、持续部署、持续交付原则

软件开发版本频繁,需要快速的将分支版本整合到主分支,并将程式码交付给测试及质量团队,进行测试和评审。评审通过后,程式码就进入生产阶段,自动部署到生产环境交付给使用者使用。利用此原则,可以让产品可以快速进行迭代,同时还能保证高质量。

3、合作文化原则

DevOps一直强调著部门间的沟通与合作,一个有着协同合作氛围的公司,有利于促成最终产品的高质量。传统的软件开发模式中,工作交流方向是从研发,到测试,再到运维;而DevOps鼓励团队建立并缩短从后至前的反馈回路,即扩大测试和运维向研发的反馈,以便更快更多地将其意见融入到产品之中,使问题得到修正,使产品质量继续向前迈进,从而更符合终端使用者的需求。

04

实现DevOps的工具链

在企业处于数字化转型的新时期,面对DevOps的具体落地,市场上已提供了大量的现有第三方工具可以选择。比如,以下几种工具经常使用:git、Maven、GoCD、Selenium、ElasticSearch、Prometheus等。他们都是DevOps技术栈的典型代表,也可以说是必不可少的DevOps支撑技术。

在众多的技术中,有一些新时代的神器不得不提及,比如Docker、Kubernetes、Jenkins、SpringCloud、ServiceMesh等。

Docker的出现可谓是极大的推动了DevOps的发展,让DevOps重新燃起新的青春。Docker最大的颠覆在于映象的理念,将应用所需的依赖环境,全部隔离起来,让应用的部署插上了翅膀。基于容器来构建服务栈的方式也变得非常优雅,远远超越了自动化指令码的方式。

企业在进行技术革新换代的大跃进中,将原有的一个个臃肿的大单体应用,拆分为了众多的微服务,但是伴随着服务数的增多,很快出现了新的问题,如何更好的运维、如何更好的释出这些微服务、如何处理好这些服务的各套环境间呼叫污染?

Docker容器的出现,从另一个角度来讲,极大的促进了微服务的发展,每一个容器可以形象的打包为一个个的小盒子,而微服务就是装在小盒子里面的宝藏。微服务在容器中执行起来以后,每一次的服务呼叫,就像是在不断散发光芒。

容器的这种一致性特点,彻底的颠覆了PaaS平台的构建方式,让企业进行数字化落地也有了更好的选择。尤其是弹性伸缩、自定义网络、环境隔离等特性,使得我们可以结合Docker映象和Compose编排实现更好的CI、CD.应用从源代码态到执行态的过程,经过Docker容器穿插在一起,一条链路就可以完美的跑下来。以下是可供参考的基于DevOps工具链的平台架构:

有了上面的这些神器,一个基于DevOps理念的PaaS平台就基本落地了,但人类不止于这点小进步,在服务呼叫的层面不断开拓创新,提出了更优秀先进的提升方案,于是就有了ServiceMesh。

ServiceMesh又译作“服务网格”,作为服务间通讯的基础设施层,是云原生应用的必要支撑,可以将它比作是应用间的TCP/IP,负责应用间的网络呼叫、限流、熔断和监控,可以将网络功能从程式码中剥离出来。采用ServiceMesh,你不用在服务程式码中实现用于可靠通讯的模式如断路、超时等,类似地,ServiceMesh也提供了服务发现、服务可见性等其他功能。

05

博明信德DevOps平台助力企业数字化转型

博明信德自主研发的云服务产品“开发运维一体化(DevOps)平台”,改变了传统模式中职能团队沟通难、测试/生产环境统一难、开发成果/交付成果差异大、部署错误率高、系统故障恢复慢、风险无法实时监控、资源动态分配难、利用率低等弊端,有效融合了系统建设生命周期中开发、QA、运维三个重要角色的能力,将平均部署时长缩短至15秒,平均部署频率达每分钟90次,部署失败停概率降低至0.01%,故障恢复速度提高至少12倍,整体需求响应时长缩短50%,使企业资讯化运营人力成本减少三分之二,节约运营成本30%。

目前“开发运维一体化(DevOps)平台”已在国资委、财政部管辖的128家大型央企中得到了广泛应用,行业涉及金融、能源等领域,赢得了客户的深度信任和广泛好评,应用效果显著。

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 笔记本电脑价格 电视机价格 华为手机价格 红米手机价格 降噪耳机价格