<small id='d3XOwAHhrE'></small> <noframes id='2Wxl'>

  • <tfoot id='50oi'></tfoot>

      <legend id='DtoEqUHN9v'><style id='RAEdGQT'><dir id='FKEU'><q id='eOP685I70d'></q></dir></style></legend>
      <i id='No8J7xn'><tr id='20YJ'><dt id='BHk9Fr'><q id='BOUDar8Q4'><span id='srWIhq'><b id='oF1rb'><form id='3pqe'><ins id='swDyfW38Hr'></ins><ul id='MGmW8f'></ul><sub id='KT1Ryfc'></sub></form><legend id='XlNhfvS'></legend><bdo id='3tCu5sW'><pre id='BM2Iswj3T'><center id='abuqr9'></center></pre></bdo></b><th id='ZhpzbseL'></th></span></q></dt></tr></i><div id='QlMT9Y'><tfoot id='Vjx6'></tfoot><dl id='vwx2pRk'><fieldset id='6mfGETVu2'></fieldset></dl></div>

          <bdo id='F7vRzYhix'></bdo><ul id='nGZAN5e029'></ul>

          1. <li id='d0zCDA'></li>
            登陆

            章鱼足球彩票-@程序员,如何解决开发和运维之间的固有隔阂?

            admin 2019-10-03 268人围观 ,发现0个评论

            “我刚开端做开发的时分还没有开发运维,这一准则改动了我的作业生计!”

            作者 | Angel Rivera

            译者 | 弯月,责编 | 郭芮

            有人让我写一篇“什么是开发运维”的文章,我决议选用一种异乎寻常的办法来写这个主题。在本文中,我将依据我在科技作业几十年的作业经验来界说开发运维。我将带你横穿我的专业时刻线,并评论开发运维走进我的日子的整个进程,以及对我的作业生计带来的影响。

            90年代

            90年代中期,互联网尚处于起步阶段,不像现在这样遍及。人们带着黑色的通讯录小本本,里边记载了一切联系人的信息。其时咱们还在运用寻呼机,呼叫后等候对方回电话。信息的传达仅限于纸质前言,比方期刊和书本等。人们会去图书馆看书,经过纸质的索引卡查找材料,并经过杂志、报纸或书本获取所需的信息。这是一个手动获取信息的年代。

            1994年,我开端从事专业的编程作业,其时的技能领域与今时今天有着大相径庭。大多数公司的境况都很为难,他们看到了科技的价值,但往往在出资或选用科技的时分优柔寡断。那时的CPU、内存和存章鱼足球彩票-@程序员,如何解决开发和运维之间的固有隔阂?储都十分贵重。带宽十分稀疏,很有限,并且也十分宝贵。大多数软件开发和运维(SRE或系统办理)团队都需求手动开发、测验和发布应用程序以及保管的根底架构,更重要的是,这些作业都是独自完结的。数据中心有必要规划、构建和装备恰当的电源、气候操控以及布线,然后由有才干的技能人员操控和办理贵重的根底设施硬件。从斗志昂扬的创业公司到大型企业,他们都有某种方法的“数据中心”。

            其时我的软件开发作业首要包含:

            • 独自编写代码
            • 经过“另存为……”的办法树立新版别的代码
            • 手动编译
            • 手动测验应用程序(一般需求点击、提交以及验证成果是否正确)
            • 几乎没有代码审阅
            • 手动创立布置的发行包
            • 编写包的发布/装置阐明
            • 经过软盘、CD或网络文件同享上的同享目录将发布包发给运维团队
            • 等候…

            每次等候新版别都需求4小时-10天的时刻,这个时刻的长短取决于运维团队的繁忙程度以及运维人员布置新版别的水平,开发人员和运维团队之间几乎没有交流。事实上,大多数开发团队和运维团队之间都存在定见上的不合。两个团队之间常常会互相发作歹意,运维团队以为开发团队的软件质量不过关(未经测验或测验掩盖太低),而开发团队则诉苦运维团队未能尽快将软件布置到出产环境。

            跟着我的作业生计开展,我花了许多时刻考虑引发开发和运维团队之间不必要的歹意的要素。我无法了解为什么这群技能熟练的高素质团队不能凝集在一同,高效地完成咱们的一同方针和任务。很显然,开发和运维团队底子不在同一个国际里。二者只要一个一同的方针,那就是将软件发布到出产中。除了这个方针之外,他们之间没有爱好一同尽力解决问题。在科技开展的这个时期内,开发和运维团队因为互相脱节而发作了负面影响,乃至损害到了公司的文明。当然,也并非每个团队和安排皆是如此,但我敢说,大多数团队/安排中都或多或少地存在这种现象。

            灵敏开发

            以上我简略地描绘了我作为软件开发人员前期的一些作业开展阅历,让你对我的作业情绪、心态和文明有一个大致的了解。我发现我描绘出的状况好像不是特别夸姣。其他人可能有彻底不同的阅历,但我信赖大多数团队都阅历过相似的功能不健全。

            跟着时刻的推移和技能的开展,硬件和宽带越来越廉价,越来越快,并且还供给了更强壮的动力。在这个时期,开发团队对软件的开发办法有了更进一步的了解。各个团队开端从上到下剖析他们的流程,并了解到软件开发作命周期中已知的瓶颈。许多团队认识到,假如改动软件开发流程并改善交流,则可以更快地交给高质量的软件。所以,许多团队和安排开端选用和施行灵敏软件开发概念,这些概念协助各个团队了解自己开发团队中的缺少,他们开端测验交融新的概念和主意,并总结出新的办法论和战略。这些灵敏办法论包含了一种侧重于协作、客户反应和小型快速发布的迭代办法。

            各个开发团队和安排在灵敏准则的协助下,成功地改善了安排运营,多年后,我注意到团队出产代码的速度得到了大幅进步。开发人员在敞开式代码中进行协作,而关于团队来说,版别操控系统是创立、修正和同享代码的关键要素。跟着时刻的推移,开发团队可以以更聪明的办法开展作业,并且制作高质量代码的时刻也大大缩短了。编写、测验和打包代码的速度也更快了。尽管开发团队火力全开急速地编写代码,但咱们遇到了一个意想不到的问题:代码的发布速度赶不上开发的速度。咱们很快认识到,咱们专心于改善咱们的软件开发流程,却疏忽了发布或布置的流程。因而,咱们有许多积压的新代码,这些代码没有发布给咱们的客户,对开发人员来说,这是一个巨大的问题。

            我触摸开发运维的进程

            一直以来,我都在从事编写代码的作业,并且我对代码的各个方面都十分感爱好。为了满意我的好奇心,我知道我有必要与运维团队树立真挚健康的联系。在作业开展生计的前期,我认识到开发人员和运维团队之间存在共生的联系,并且我天真地以为其他开发人员和运维人员也这么想。

            不可否认,当实践光秃秃地摆在眼前时,我感到十分懊丧。我无法了解为什么这些团队之间会存在“隔膜”。我觉得这些“隔膜”是开发和运维团队为了保护自己的“地盘”而制作的托言。我以为两个阵营之间的“隔膜”是巨大的立异阻力。自从认识到这一点后,我开端称自己为“站在运维章鱼足球彩票-@程序员,如何解决开发和运维之间的固有隔阂?一方的开发人员”,并且我以为自己实至名归。

            后来,咱们认识到,尽管咱们在灵敏方面做出了许多尽力,但因为缺少与运维的互动而彻底发挥最大优势,所以咱们联合起来拟定了新战略,将软件开发作命周期中的运维也考虑在内。其时,还没有开发运维这个词,但这个词的精力现已开端活泼,并且在许多选用和施行灵敏的开发团队都采用了这个思维。许多“灵敏”团队都面对相同的窘境——开发团队十分重视快速开发软件,并且在实践将代码发布到出产环境时遇到了巨大阻止。

            开发团队的搭档认识到我与运维团队的联系杰出,所以他们主张我使用这种联系在两个团队之间架起一座桥梁。我有点忧虑搞不好有可能会损坏与运维团队的杰出联系。我不想让他人误以为开发团队想侵略他人的领地。我思虑好久,终究该怎么让运维团队接收这个急进的主意。我在脑际中一遍又一遍地操练我与他们之间的说话,比及有十足的掌握后,我安排了与运维团队的会晤。但跟着会议的接近,我的忧虑也日益加剧。

            这一天总算来了,我把脑际中排练了很多遍的台词说了出来。令我惊奇taylor的是,运维团队的司理打断了我的话,然后忽然问道他的团队怎么才干像开发团队相同快速运作。他解说说,他们一直在悄悄调查咱们在和谐、质量、速度和成功等方面的改善。他坦白地说,运维团队认识到他们其时的流程是阻止软件快速发布的最大阻力。听完运维的情绪,我心里十分快乐,他们乐意与咱们一同改善开发和操作流程。

            所以,咱们敞开了“打破妨碍”之旅,尽管整个进程一点都不简略,也不容易。在我的回想中,规划一个便利两个团队了解和承受的精益灵敏战略是咱们有必要战胜的最大妨碍。因为开发团队现已施行了灵敏,并且阅历了灵敏文明的改变,所以在向运维团队提出主张时,他们觉得咱们有点高高在上的情绪,并且咱们有点过于自傲。考虑到其时的状况及敏感度,咱们敏捷拟定了交流战略,尽量防止咱们在彼此的对话中因为不苟言笑的口气而导致某些人发作抵触情绪。进步团队之间的交流水平是最难战胜的妨碍。在注意到这点之后,咱们一起从个人和团体的视点动身推动团队协作,一同交给软件。

            跟着时刻的推移,开发和运维团队的互动得到了改善,终究咱们成功地战胜了之前的功能妨碍。团队之间树立了真实的信赖,这是见证奇观的时刻。开发人员向运维人员讲解了开发进程,以及与技能栈典范相关的细节。与此一起,运维人员向开发人员讲解了他们的发布流程,以及他们在保护根底设施方面的具体作业。团队之间的这些改变并非一蹴即至。这些改变跟着时刻的推移一点点发作,我以为这种成功的文明改变应该归因于团体的尽力,以及从迭代实验和过错中汲取经验教训。两个团队感触到了交流和透明度的优点。他们可以更好地界说和了解每个岗位,以及各个岗位对团体发作的影响。

            什么是开发运维?

            在“开发运维”这个词呈现之前,咱章鱼足球彩票-@程序员,如何解决开发和运维之间的固有隔阂?们的团队就树立了开发运维的文明。多年今后,当我听到开发运维这个词的时分,感觉眼前一亮,我当即了解了其间的意义。经过这个词来描绘咱们团队的作业办法再适宜不过了。

            下面,让我来共享一下我对开发运维的界说:

            开发运维是......

            ●一个概念

            ●一种心态

            ●每个人都可以了解并承受的一种一同的情绪

            ●有必要培育并重复改善的文明

            ●共享

            ●辅导

            ●学习

            ●容纳并对一切主意持敞开情绪

            ●迭代

            ●接连

            ●协作

            ●一种优异的开发和交给软件的办法

            开发运维不是......

            ●易于完成或施行

            ●产品或东西链

            ●头衔或职位

            ●云根底架构供给商

            ●一本书

            ●一项技能

            ●编程言语

            ●营销活动

            ●CI / CD

            ●Kubernetes

            ●容器

            ●开源软件

            ●根底设施代码

            ●自动化

            ●不是恶作剧!!!

            总结

            在本文中,我依据自己长达几十年的作业阅历,描绘了我对开发运维的个人观点。我期望我的描绘可以对你有所启示,也期望大家可以了解开发运维的需求及其为安排带来的价值。我很快乐可以回想我的个人阅历并与你共享。

            感谢您阅览本文!

            原文:https://circleci.com/blog/devops-did-not-exist/

            本文为 CSDN 翻译,转载请注明来历出处。

            请关注微信公众号
            微信二维码
            不容错过
            Powered By Z-BlogPHP