如何解决开发和运维之间的我国根本矛盾盾

当前位置: &
PaaS实现与运维管理-基于Mesos+Docker+ELK的战指南 余何著
滚动鼠标滚轴,图片即可轻松放大、缩小
PaaS实现与运维管理-基于Mesos+Docker+ELK的战指南 余何著(图1)
电&&&&&&话:
开&&&&&&本:16开
页&&&&&&数:432页
字&&&&&&数:620.000千字
I&&S&&B&&N:9
售&&&&&&价:54.50元
Copyright(C)
孔夫子旧书网
京ICP证041501号
海淀分局备案编号论开发与运维冲突的根源、表现形式及其解决方案
作者:51cto
一、冲突的根源
开发团队的目标:满足产品的功能需求,把用户的需求实现,发布到现网,交付到用户手里。
从之前的敏捷过程来看,其实开发/测试甚至是QA团队的目标是一致的。
运维团队的目标:质量永远是第一位的。这导致一个有意思的现象:
变更是主要的故障之源,你同意么?
之前在一篇论文中给出数据,无论是硬件的维护还是网站的维护,人为变更是引入故障的主要原因(如图1)。在没有找到有效的手段之前,特别是手工时代,运维一定是抗拒变更的,你同意么?
图1:由人主导的变化是故障主要的原因
但现实不是运维所设想的那样,特别是对于一些持续迭代的2C产品来说,&变化是唯一不变的规律&,那就意味着变更是常态。
此时,我们可以得出一个非常有用的结论,开发和运维的冲突在某些情况下会被放大,比如说运维能力很弱,部门墙的出现。图2进一步归纳和阐述了这种冲突的原因。
两个不同的团队把各自的目标和要求形成一定的推力推向对方团队,然而部门墙的存在,让这种推力存在阻隔。
图2:Dev/Ops的冲突之源
甚至,我有时候把这幅图比喻成一个舞台(生产环境)上两个击剑手,在进行一场对抗比赛。
二、冲突的表现形式
在一个企业内冲突的最直接表现形式就是抱怨,抱怨的最直接感受就是从自己的角度总是觉得对方不够好。
因此,我就从整个软件或者特性交付的角度来分析,把过程分解成几个典型阶段,来看这个抱怨是如何产生的。
大家也可以根据自己的经验,也总结一下自己感受到的冲突表现及其抱怨来自何处(尽量明确而具体),然后我们一起走向后面的解决方案。
2.1.程序发布前
开发的抱怨:
◆找运维要个资源,怎么那么难呢?
◆找运维要几台设备,要填写这么复杂的表格?研发内部都没这么复杂。
◆运维的资源交付流程太长了,能不能再快一些?
◆运维的交付流程是否可以透明一些,不要让我经常来提醒运维,进度怎么样了?
◆运维的流程太多了,走OA,走领导审批,就不能简单一点么?
◆运维对技术架构把握能力不够,架构评审给不出有用的建议!
◆感觉运维的第一要求永远盯着我们服务器是不是用多了?
运维的抱怨:
◆开发永远都是程序要发布了,才来告诉运维要怎么做怎么做?!
◆开发老拍脑袋告诉我要给多少资源,为什么不合理评估呢?!
◆开发的技术架构评审为什么不邀请运维参加?
◆开发的技术架构考虑运维的需求太少,很多研发是真正的程序研发。
◆开发把运维当作资源提供者/事务执行着,倒不如让他们自己做运维好了。
2.2.程序发布中
开发的抱怨:
◆运维的发布流程好复杂好暴力,不区分业务和发布类型,都必须走很多领导审批,并且是深夜发布。
◆我明明写了详细的部署文档,但每次部署为什么还需要研发深度参与?
◆运维的发布好慢,一个发布要搞半天,感觉比我们研发过程还长。
◆运维的部署不能自动化么?为什么这么久还是要人工?我都想自己做个发布平台了。
◆有些不重要的发布,是不是可以让研发自己来做?不想每次都去触碰运维复杂的流程。
运维的抱怨:
◆这个部署文档好复杂,里面那么多坑要注意,每次部署都要耗费很多时间。
◆研发这个程序写得够呛,之前和他们反馈过,把配置不要搞成每台不一样,还是没改过来。
◆研发有没有遵守运维的规范,不和我沟通,按照自己的方便写出业务程序,让我运维。
2.3.程序发布后
开发的抱怨:
◆程序出问题,为什么运维不能自己定位问题?都需要我深度参与。
◆程序发布后出现bug,这个时候需要走紧急流程,必须经过领导,是否真的需要这么麻烦?
◆程序发布后的状态没法看到,我只能找他们要账户登录去看,能不能做成一个系统给我看相关信息。
◆运维的监控能力感觉真的很弱,出问题都是靠用户或者我们看日志发现的。
运维的抱怨:
◆开发的程序好烂,刚刚发布了,就出bug了。
◆程序bug了,又在催我快速解决,连研发自己找bug都没那么快,我哪有那么快呀!
◆开发程序异常log输出太少了,非常不利于快速定位问题。
2.4.持续运营阶段
开发的抱怨:
◆运维为什么不能给一个帐号给我,让我登录服务器去看服务状态。
◆运维内的平台一些权限应该给我,我想看看服务的运行状况。注:很多企业估计研发都没有登录过监控系统,更别谈CMDB了。
◆运维的日志分析能力很弱,我自己要写临时程序来做日志分析。
◆不出故障,我是感觉不到运维存在的。
运维的抱怨:
◆开发写的程序又出bug了,又出重大故障,我又要救火了!
◆开发的程序架构设计好烂,这点技术问题都没有提前考虑,导致这个问题必须要靠人来解决。
◆开发的KPI体系里面应该包含运维的质量和成本指标,需要他们一起来抗,否则压力永远都是在我们运维。
◆我们搞了一些数据报告,开发根本不关心,他们只关心需求实现,不关心运维的需求。
进一步深入技术分析的话,可以找到一些冲突的根源:
◆研发和测试部门是以敏捷方法论来驱动的。
◆而运维部门是构建在ITIL体系上的ITSM管理的思路。
前者有一些管理工具(持续集成,看板)/实践(站立会议/测试驱动/极限编程)/文化(价值观/团队融合)等等。
后者所依赖的ITSM的流程体系明显是滞后于前者敏捷体系的能力。
也就是说,两个团队不同的IT思维/能力的不同,造就彼此的输出的不同,这才是冲突的技术之源。
所以要想解决问题,核心的思路是:要找到一个统一的方法论(DevOps?)来融合两个IT团队个字的目标和方法论,当然冲击最大的还是运维团队,需要把自己的流程能力转化成自动化平台的能力。
从方法论上看,我自己觉得DevOps是Agile方法论的一次很自然的延伸。
其实从各自的角度能看到大家彼此的关注点,这些关注点有些是重叠的,有些是完全不对焦的。
三、冲突的解决方案
寻求解决方案比抱怨更重要,在抱怨的地方,才有改进的机会。但我这个地方避免用DevOps这个词来笼统的寻求解决方案。
我个人觉得需要做一些转变,核心的转变是两点:第一是拆墙;第二是换舞台,如下图:
图3:拆墙和共同的价值支撑体系
拆墙,研发/运维团队把彼此的作用力触达到对方,感受到彼此的要求和能力。
换舞台,把底层的舞台给换了,&经济基础决定上层建筑&,底层换了,上面的思路也就随之变化。
措施1:共享一致的目标/价值/状态
对于研发/测试/运维团队来说,就需要把大家的目标/价值/状态做个对齐。之前写过IT运维的目标体系是质量/成本/效率/安全,其实这个可以传递到研发/测试团队,并且是和业务功能需求完全不冲突的。
从目标来说,分阶段性的目标和长远目标:
◆阶段性的目标其实可以看业务部门的短期需求和规划,从而反推IT能力的要求,比如说敏捷基础设施交付,持续发布。
◆长远的目标,其实是可以规划自己的IT能力主线,比如说容器化和架构服务化,然后分解到阶段性的目标上,这个目标是需要和研发对齐的。
我说的状态比较特殊。其实,我更希望运维把线上服务的运行状态进行透明化和可视化。然后交付给我们的研发/测试部门,不要让自己的能力成为黑盒子。这样:
◆一则,督促自己不断提升自己的能力。
◆二则,可以基于状态促进研测不断优化技术服务能力。所以更需要把这种思维传递给开发,让其去建设一个非黑盒子系统。
研发是有技术和责任辅助运维实现这一目标的。
状态的一致性,其实是具体的驱动措施了,俗称状态看板,它分业务价值看板BVD和服务状态看板,详细如交易看板,服务可用性看板,服务成本看板,服务性能看板,事件看板,问题看板等等。
措施2:IT能力的平台化驱动
在之前的篇幅中,我说过ITSM的运维体系能力是大大滞后的,明显不能满足当前业务快速迭代的需要,运维的问题还是必须要运维来挑头解决。
生产环境,运维是第一负责人,必须改变过去的流程思维,建立自动化和数据化的运维平台。
从环境管理的角度来看,需要以生产环境的平台管理能力覆盖为首先的灰度点,然后逐渐覆盖预发布/测试环境,最后才是开发环境。
有了平台化能力之后,运维的作用力才能顺利推进到研发和测试那边,否则就会出现制定了规范无法落地。
不信,你定义一个现网日志监控规范看看?
所以,我把图4中绿色部分的能力实现都认为是运维部的,有没有感觉到你在搭建一个舞台?的确如此!
图4:平台化是运维能力延伸的最好方式
措施3:&把想法装进别人的脑袋&
每个团队不能孤立的去看或者解决问题,当我们把能力延伸到对方之后,其实就是在干&把想法装进别人的脑袋&的事情,对两个团队来说都是难事。
之前讲过研发团队的Ops-friendly和运维团队的Dev-friendly,也在讲一定有照顾到别人的诉求才能friendly。
2014年的puppet报告,也在讲团队内培养DevOps是多么的重要,其实就是在讲理念和实践刷新成一致状态。
图5:多元化的思维,事半功倍
任务冲突不可避免,冲突的形式也是各式各样,冲突的解决方案也不尽相同。
本文是自己对该问题的一个整体思考思路,希望能触发我们一起来思考。最后引申一个话题&&&NoOps&(无运维),大家也一起思考一下,是否有可能?其实本文也有一些答案。
官方微博/微信
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。
↑扫描二维码
想在手机上看科技资讯和科技八卦吗?想第一时间看独家爆料和深度报道吗?请关注TechWeb官方微信公众帐号:1.用手机扫左侧二维码;2.在添加朋友里,搜索关注TechWeb。
苹果在推出Apple Watch之前酝酿了很长时间,由于是第一次进入该领域所以苹果手表还有...
昨天下午,魅族发布了魅蓝X新机,其中,3G+32G 1699元、4G+64G 1999元,12月8日开卖。...
中国消费者协会近日再次发文质问苹果,然而在苹果还没有回复之前,该公司所推出的《iP...
“如果有一天美图IPO,我可以说出更多的故事。”这是一年前,蔡文胜在接受媒体采访时...
北京时间12月2日消息,据外媒报道,知情人士称,欧盟反垄断机构很可能将在下周二前有...
北京时间12月2日早间消息,作为欧洲最有价值的科技创业公司之一,流媒体音乐服务提供...
据外媒报道,日前,索尼公布了更多关于Xperia设备升级Android 7.0 Nougat的消息。此前...
又到了每年12月份了,各种年度盘点也将要开始了。谷歌公布了其Google Play应用市场201...
Linux Mint 18.1 Serena的首个beta版本已经于今天正式开放下载。Linux Mint基于LTS版...
火影忍者手游第四届无差别格斗大赛海选赛已经开启,这次大赛关系到角都的推出,以下是......
奇迹暖暖第七章联盟委托即将开启。在被夜色笼罩的云端花田,暖暖一行又会遇到什么趣事......
炉石传说加基森版本全套卡牌目前已经曝光了一半左右了,那么当前这些卡牌实力如何呢,......
芒果互娱携手湖南卫视、芒果TV于5月26日在北京举行了一场以“1+N,一起玩”为主题的游......
Copyright (C)
All rights reserved.
请选择一张图片分享
要转发到新浪微博,请
要转发到QQ空间,请我去百度面试运维开发工程师职位经历
山西人事考试网 简单可依赖的山西省人事招聘信息网!
您当前的位置: >
  看了两天关于运维的一些面试题目,大概是一些分布式系统,分布式数据库,分布式文件系统ASF之类的,另外看了下DBA的一些题目,DBA和我投的分布式系统运维工程师都属于运维部,不了解是否有交叉,所以一起看了一些。   上午9:50开始等电话,但是没有等到。然后打电话过去没有人接,于是以为自己听错了,将周日听成了周一?不晓得,于是发了个邮件(之前投简历时,收简历的人的邮箱)问了一下,没有马上收到回复。   大概在10:37接到电话,说是百度运维部的。我很惊讶,然后跟他讲述了一下,刚才等电话没等到,然后电话又没打通的情况。他解释说由于前面的面试人员耽误了时间,所以晚了。然后就开始面试了。没有自我介绍,开始就问过关于老虎机的事情,让我介绍一下这个项目以及自己负责地部分,涉及到的一些知识。我讲述了一下网络传输,然后问了我TCP的五层包括什么,我回到ISO的七层了解,但不确定TCP是哪五层。但是七层也没说全面,以至于很尴尬,不过面试官很Nice,给我补充了几个。然后问我有没有接触分布式系统的编写工作,我讲述了一下能耗系统那个项目,主要讲4台数据库分配到不同的计算机上,进行运算,减少负载。我问他这是否属于分布式系统,他委婉的回答,确实说这不属于,啊,汗,好吧,本来估计就不是。问过我是否了解Hadoop和mapreduce的情况的,当时太紧张,没听清是不是这两个词,想了一会说不了解。后来问我是否关于数据库分片的问题,我想应该是所谓的分段,然后确认了一下,他说是的,可能翻译不同而已。庆幸,面试之前刚刚看过,水平分段,导出式分段,垂直分段,以及混合式分段,并一一作了介绍。又问混合式分段是否可以是前三个的结合,我说可以。问为什么,我答导出式分段实际上是水平分段的特例,然后等等之类。恩,回答完毕。之后问了两个关于Python的问题,简历上写熟悉于是为了做过什么项目,我说一些简单的计算器之类的。然后他又问list加入新变量,什么方法是最快的(+,复制,**等三类),我答是加吧,他问为什么不是其他,然后没有答上来,尴尬。又问了list和triple的区别,没有答上来。然后很Nice的他帮忙解释了一下,triple是静态的,不可更改,并有自动去重功能。然后又问我有什么问题想了解,我问了下分布式系统运维工程师和DBA的岗位需求和具体区别,然后大概给我讲述了一下。这期间提到了MapReduce,我反应过来之前没听懂的两个词可能有这个,这个我还是有些了解的,但是没有问他是不是mapreduce,面试之后还后悔呢,感觉自己没有将自己十分地展现出来,明明会的东西没有讲到。这样一面结束。大概11:00左右。   一面之后感觉不是很好,其实,然后感觉希望不大,总在mapreduce那里有些遗憾。中午跟同学出吃饭,还聊了很多八卦事情。聊的比较high。   下午一点回到教研室,没坐几分钟,手机又显示北京的号码,比较惊讶。接到电话说是通过一面了,现在二面。更为惊讶。紧张坏了,因为一点准备都没有。然后跟他商量找个安静的地方,马上面试。首先让我介绍一下自己,我讲了我的科研课题,比较详细,然后又要将项目的时候,提到简历中有,他说那不需要再介绍了(其实上午的面试官问的全是项目的问题)。然后介绍自己本科期间的项目,简单介绍的。然后介绍获得过的奖励,以及自己的优点(这里是优点)。然后他让我详细介绍一下自己的科研课题,我稀里哗啦讲了一大通,因为这个我熟啊,而且量他也不懂(高维时间序列数据挖掘)。哈哈,问了我一些细节问题。不太记得了。问了我,遇到的困难。我就给他讲述当初我用两个月的时间看TS-tree的文章,期间课题小组讨论时上了4-5次,同时看了10多篇相关论文,成功的过渡到新的领域。后来看我用C++编程,问了我多态的概念,以及虚函数的概念。问了我排序的问题,让我讲述一下快速排序,当时脑子一蒙不记得了,灵机一动,说快排不太记得了,不过我可以讲述一下归并排序,他说可以。于是给他讲了一下,哈哈,我正好拿着笔记,笔记上第一页就是归并排序(阿里巴巴笔试题目中,当时没做出来,回来之后整理的)。之后问了一个算法题:数据中有10000个数,其中某个数重复率打到50%以上,求快速找出这数的方法,我回答的是基数排序,磨叽了半天好像没说对,他让再想想,也没想出来,然后完事,他告诉了答案:10000个数分成两两一组,然后比较不相同去掉,相同的留下,如果一次不能得到结果,再做一次,最终会得到结果(有点像归并吧?哎)。之后问我对Python的了解,我说只学过。还担心他会继续问下去,不过还好没有问到。后来基本就这样了,然后我主动争取问他问题的机会,由于二面根本没准备,所以问了跟一面同样的问题(当然我先确认了下,不是上午同一个面试官),然后基于一面在这个环节的失误,在二面中我主动提了一些问题,并讲述到ASF文件格式等等。这期间电话断了两次,不知道是他那边的问题还是我这边的问题。哈哈。大概用了40-50分钟的时间。   二面结束,没来得及兴奋或紧张,就帮老师去报销去了,大约用了半个多小时的时间。2:30左右回来的。   2:42又接到电话,约三面的时间,我就问他什么时候方便,然后他说都可以,现在也可以。我说那就现在吧。然后开始面试,没有自我介绍。问了跟二面相同方面的问题,我的科研课题(哈哈,又是我的强项)。然后叽里呱啦讲了半天,呵呵。说了一些我的小成果,一本教材编写,然后一篇论文IEEE录用,第二篇论文完成。然后他问了课题的具体细节,包括哪些子方向,每个方向大概做什么,我一一作答,讲了特别多。问是否可以给讲述下数据表示具体例子,我给讲述了人体运动数据符号化的问题。然后问我多少人在做课题,答大概20人左右。问跟我做同样子课题的有几个人,答三个人。问如果意见不同意的情况下怎么办,我在这里磨叽了很久,说了现在我们课题组的讨论形式,以及征求老师、学者意见等等。然后他说如果这些条件都不能满足,最终还是不能统一意见怎么办。我说一一验证几种方案,然后他说如果每种验证时间比较长,无法浪费这个时间怎么办。我最后胆怯的说,只能我决定,因为我是项目负责人。后来他总结就是leader的作用,我说对的。其实绕了大圈,就是这么简单,不过还好最终算答到点子上了。然后问了研究生期间的成就,我说本科期间做的工程类比较多,所以当时研究生的目标就是做些研究,然后就做了。然后问了这两年研究生的时间上的安排,答第一个学期适应领域,然后参与写了本教材(教材这事忘记说没说了),第二年一年的时间提出研究的问题,然后完成第一篇论文;到现在完成第二篇论文。又问了到毕业之前的时间安排,问了如果安排科研和找工作的时间,答白天做科研,晚上找工作。然后又问以后几年的职业规划,我答先用一段时间适应这个领域、技术、岗位等,然后进行深入的研究,做到精。然后我又主动提出了问题,关于是否需要实习,以及实习时间的问题。他说不一定强制去实习,百度比较人性化的。呵呵。然后最后提到可能需要去北京面试,我说没问题。最后他又改主意了,说可以在大连的校园招聘中面试,不用参加笔试了,直接面试就行。   OK,就这样,三面结束。   等待过几天是否有电话通知,或者校园招聘吧。   总结一下,有几点不足:   1、Hadoop和mapreduce的知识没有回答上来。   2、Python中list加元素的问题,list和triple区别的问题。   3、那个10000个数中有个数重复50%以上,算法的问题。   4、快速排序   9月13号突然决定去北京参加百度的面试,因为实在着急的不想等到校园招聘了,于是13号傍晚买了14号晚上的票。   14号坐火车,竟然遇到大学校友,一起坐车到了北京。   15号早晨到北京,百度面试安排在16号下午两点。   15号先去搜狐参加了笔试,后来证实搜狐一点人性都没有,这么远去竟然面试都没给&&(虽然我的笔试确实做的不好)   16号上午去了人民搜索参加了笔试,还是比较人性,第二天给了次面试机会,虽然笔试也不好,面试同样不好。   16号中午就到了百度大厦,下地铁的时候还碰到了百度垂直搜索hr,长的还不错。中午在辉煌国际地下吃了套餐,一荤一素9元,打饭的妹妹竟然给了我一个鱼头,真实的一荤其实只有半个鱼头的。   下午不到一点就到了百度大厦,在大厅沙发坐了近一个小时,当天有北大校友见面会,所以人特别多,同时还有很多来参加笔试面试的。   两点之前到前台登记,等着她帮忙联系被访者。   两点多几分钟的时候,有工程师来叫我,开始准备面试。
(一) 由于各方面情况的调整,本网所提供的信息仅供参考,敬请以相关部门公布的正式信息为准。
(二) 本网转载的文章在于传递信息,不承担此类稿件侵权行为的连带责任,如需删除请及时联系。
(三) 招聘单位无权收取任何费用,请求职人员加强自我保护意识,警惕虚假招聘,避免上当受骗。手机号或者验证码错误
用户名或密码错误
芥末堆看教育&不错过
CC视频CTO侯明强:DevOps的实践与挑战
CC视频CTO侯明强:DevOps的实践与挑战
在CTO俱乐部第96期《 产品创新之路及DevOps实践分享》活动上,CC视频CTO 侯明强讲述了DevOps概念在CC视频的实践,DevOps是Development和Operation两个英文单词前面几个字母的组合,主要是指研发人员和运维人员在实践中的之间的沟通、协作与整合。
在CTO俱乐部第96期《 产品创新之路及DevOps实践分享》活动上,CC视频CTO 侯明强讲述了DevOps概念在CC视频的实践,DevOps是Development和Operation两个英文单词前面几个字母的组合,主要是指研发人员和运维人员在实践中的之间的沟通、协作与整合。在DevOps给CC视频技术团队带来了高效率之余,侯明强还谈到了实践中面临的挑战。他指出,对研发人员而言,DevOps给研发人员带来了新的要求和新的挑战。长期做研发的人对代码之外的东西并不是很熟悉,对工具、环境,尤其是在线运维的东西涉猎不多。对运维来说,运维人员转成半开发人员的角色,困难重重,相关人员也很难招聘。以下为侯明强本次分享内容精华摘选:DevOps的由来传统的开发和运维的配合研发团队负责:离线开发,开发,测试;运维团队负责:线上,打包,部署,更新;研发与运维的矛盾研发认为,我本地运没问题,线上出问题是你们运维的事情;不更新业务怎么办?运维认为,我们运维没问题,是你们程序烂才出了线上问题;你一更新出问题我的KPI就下降。研发与运维的不同研发团队与运维团队的关注点不同;研发更关注产品的优化和更新,也就是更关注变化;运维更关注系统的安全和稳定,也就是更关注不变;这就导致了研发和运维之间的关注点是完全不同的,甚至对立的。由于研发和运维矛盾的不断凸出,甚至在有些场合下,出现对立。这就引出了DevOps的概念。这个概念很好理解,研发(Development)和运维(Operation)英文单词前面几个字母合起来就是DevOps。维基百科这么描述DevOps:它是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、运维部门之间的沟通、协作与整合。它的出现是由于软件业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。DevOps能解决什么问题更密切配合业务。让你更加以业务为中心,你们团队必须是配合的,你们要想出更好的方式来配合;解决对变更部署的恐惧。通过一些好的方式方法或者工具,能够让变更部署不再成为大家共同的恶梦;解决开发和运维部门配合,减少双方之间的扯皮问题。为何选择DevOps业务互联网创业早期,一切围绕业务快速变化。当时为了实现业务目标,在团队人员比较少、资源有限的情况下,我们就想办法尽量把运维工作省下来,让研发人员直接负责业务目标的达成,从开发到最终上线,保证它在线上正常工作的事情,都由开发去做。服务质量如果不是开发直接来确定质量能够达到理想的标准的话,拆分成两个部门分别做,运维不懂业务,你让他进行深入的调整是很困难的。尤其是在创新的一些业务,或者是一些技术方案上,它会需要很多的尝试,甚至包括配制的尝试,服务器或者应用服务器,或者数据库架构的构造,自然要出状况。成本以业务目标为主,为了服务质量,在成本相对较低的情况下,我们从创业公司的初期就选择了这种方式,我们是以开发尽量多做东西、运维主要负责系统,开发负责线上的质量。围绕DevOps的一些初级措施测试环境镜像线上环境。为了缩短本地开发和实际线上运行的差异,我们的开发人员用的系统和线上的系统一样,测试环境也是一个完全一样的,就是尽量把一些鸿沟缩短掉。从SVN自动化部署。我们也开发一些脚本,让它从SVN里自动化去部署,把相应的内容拿出来,然后更新到线上去。应用级监控系统。我们做的一些应用级的监控系统,如果从传统的运维监控来看,大家会用工具去监控系统本身的负载,监测各种各样的指标,但是他们没有办法知道,这个应用本身是不是出了问题。此外,我们会做大量视频的处理,在全国视频网络里进行视频的分发,这些工作都是比较耗时、耗CPU。一天上传上万个文件,会有非常多的工作项目在进行中。因此这些任务,比如视频处理一半,服务器宕机了,还能不能继续。那些东西只是一个外部系统访问的话你看不出来的,或者你只监控一下,网络也没问题,硬盘什么都没问题,有可能你应用队列已经出现了故障。研发负责从代码到线上,负责快速更新。我们研发人员去负责从代码到线上,有快速更新、快速上线的东西,都由研发直接来做,有点像医生在没有护士的情况下亲自操刀把所有的东西都做了。这样的好处就是出现了各种各样的问题,能够更加快速的反应,更加快速的定位。众所周之,CC视频是做SaaS服务,客户都是to B,客户一出问题,立刻打电话过来,处理时间的长短严重影响服务质量,因此我们缩短从生产环境到真正线上运行的环境的环境,让研发直接到底下去负责。传统处理线上问题流程:运维和研发相互隔离运维收到系统报警,常规检查,尝试解决,如处理不成功,紧急上线更新包;再将问题提交给研发,研发再让运维提供相关资料,比如日志;运维在服务器上收集资料并提供给研发,研发查找问题,给出解决方案。在这种流程下,运维和研发都很着急,却使不上劲。CC视频的经验:研发与运维联动 快速解决问题研发收到系统报警,定位问题、解决问题。运维和研发相互给予系统环境级技术支持,双方在解决完成后沟通解决方案,以及问题原因。我们有一个视频的缓存模块进行一个算法更新,缓存的命中率是很重要的因素,之前命中率不是特别高,我们自己开发了一个新的缓存模块进行算法更新。我们线上有几百台服务器,我们要看算法是不是比之前要好,所以必须要做AB测试,要进行对比。同时把算法测验在生产环境下运行没有问题的时候,它还需要部署,慢慢的把所有的服务器都升级成最新的应用。我们的工作就是由研发来操刀进行。这个如果让运维主动去做的话,这个其实挺困难的,中间要关注非常多的数据,同时部署过程中发现各种各样问题,从各种地方收集,会关注特别多的点,如果让运维去操作这是很困难的。所以我们这个过程就是研发来主导,运维来协助配合的。从10%发现没有问题的时候,上升到50%运转非常良好的时候,后面自动的脚本就拿出来,让运维批量的去实施。线上故障或异常CC视频有异常统计系统,我们会把每天系统里出现的异常信息统计出来,看看是什么样的问题,如果统计出信息比较多的话会报警。有一次我们发现一个异常。我们知道自己的接口可能是没有问题的,结果检查了,就发现原来有一个客户他请求的时候参数给错了,这种情况下我们就通知客户进行修改,那个客户后来发现他调用我们API的时候调走了,修过了就好了。假如运维如果他不负责系统的日志处理,他只干服务器或者网络的信息,他是查不到的。从外表上看也看不到,因为我们整个系统都是正常的,只有到我们客户的具体调用方的视角才能看到有一些什么样的异常存在。如果他的程序写得不够好,外表也看不出来。总结用最短路径对线上问题进行快速响应。我们的核心思路就是想尽量用最短的路径,对在线的业务出现的技术问题进行更快速的响应。从业务本身出发进行的技术优化。进行技术优化的目标,还是围绕着业务去做。提前开发工具,减少临时处理。碰上临时处理的事情救火的话是很痛苦的,如果开发团队和运维团队老是处在救火的状态的话,持续不了多久,肯定有人就要考虑离职。未来更敏捷的持续交付。未来我们想在这些方面做更多的尝试。更好的自动化、工具化。利用现有的开源工具,在它的基础上开发一些适合我们现有应用模式的更好的、更个性化的工具。考虑结合开发与测试的环节。测试在这里面也是非常重要的一环,未来怎么把开发和测试结合起来,跟运维环节能够更好的去融合,这块也是我们未来想去探索的事。DevOps实践中的挑战既然DevOps这种理念是一个很好的东西,为什么实施的人那么少呢?其实在美国这个东西也还不是主流,也还没有那么大影响力。下面就是我们在实践中的一些挑战:对研发人员的挑战——对代码之外的东西不熟悉比如说用DevOps,这对研发人员加了很多新的要求的和新的挑战。长期做研发的人员对代码之外的东西并不是很熟悉,对工具、环境,尤其是在线运维的东西涉猎不多。对运维人员的挑战——运维开发人员不易招聘对运维的挑战,既然很多运维的职责转给开发,那运维应该做些什么呢,他们应该朝着工具化、自动化这些方向去转型。运维人员转成半开发的角色,其实有很大困难,CC视频几乎很难招聘到这样的人才。在很多大公司里他们也会有很擅长测试开发的人,但是那些人身价也都很高。招聘不容易,内部培训也很困难,如果只是会搬服务器、插插网线那样的运维,你让他转开发,等于从头开始,同样非常困难。
1、本文是转载文章,原文:
2、芥末堆不接受通过公关费、车马费等任何形式发布失实文章,只呈现有价值的内容给读者。
3、如果你也从事教育,并希望被芥末堆报道,请发邮件到
告诉我们。
想知道谁回复了你的留言?登录后即可查看~
总共0条评论
观察全教育行业产业链上下游动态发展
发现业内具备创新与机遇的公司和产品
解读政府政策及市场变化
及时高质地为业内各方提供深度价值信息
输入验证码
我已经阅读并同意相关
【电脑】请您打开手机微信APP,可选择“扫一扫”识别下方二维码进行支付;
【手机】长按下方图片,可选择“识别二维码”进行支付。

我要回帖

更多关于 根本矛盾和主要矛盾 的文章

 

随机推荐