DevOps,你真的了解吗?
与大数据和PRISM(NSA的监控项目之一),DevOps(开发运维)如今是科技人士挂在嘴边的热词,但遗憾的是,类似圣经,每个人都引用DevOps的只言片语,但真正理解并能执行的人极少。根据CA的一项调查,45%的受访者并不了解DevOps的含义,其余则有17%认为DevOps只不过是炒作。
DevOps如今几乎成了创新的同义词,但其原本的含义却在业界的流传中被人们弃之脑后。在开发者圈子中,DevOps专业人士经常是被嘲弄的对象,例如下面这个专门恶搞的Twitter帐号:DevOps Borat.
饶是如此,DevOps也成了类似数据科学家的性感职位。虽然在一些企业,DevOps还只停留在纸面上,但更多的企业的业务发展确实需要DevOps专业人才,人才市场对DevOps技术人员的需求非常旺盛,根据科技人才招聘网站Dice.com最近的统计,今年9月份DevOps的招聘职位数量高达500个,而去年同期只有200。
事实表明DevOps口惠而实不至的口水词,根据IT自动化服务商Puppet Labs的最新报告《2013年DevOps现状报告》,采用DevOps的企业的软件代码生产速度是不采用DevOps企业的30倍!同时将错误率降低了50%。
为了深入探讨DevOps这个话题,以及搞清楚为什么DevOps工程师在企业招聘市场一将难求,VB的记者近日采访了戴尔的云计算开发总监Barton George, George本人也经常写博客讨论搭建DevOps团队的好处。IT经理网将采访内容编译整理如下:
问:DevOps这个概念是怎么来的?
答:DevOps起源于亚马逊和Google这样的大型互联网公司,这些公司需要员工紧密协作,同时又不希望出现部门割据。
问:开发人员和运营人员的目标有很大差异吗?
答:是的,他们有着相反的目标,开发者一心都在创新上,让事情看上去更酷;而运维人员最关心的则是网站运行的平稳,不要宕机,但开发者可不会关心这个。
我记得2001年2月份发布的“敏捷宣言”是一个里程碑,打那时起开发者开始关心如何走近客户,了解他们的真实需求。开发者开始更多关注如何加快开发周期,写出更容易实现的代码、更好的用户体验,而不是更酷的功能。
相比之下运维人员并未经历类似太多变化,于是DevOps模式应运而生。
问:敏捷开发到底什么意思?你认为这仅仅意味着快速吗?
答:简单来说,敏捷开发意味着更多的迭代:更早更频繁地发布产品更新。先把东西做出来,而不是像过去那样过于忧虑产品是否完美。这就是那个“永远beta版”的概念,30天把原型快速搞出来,然后看看人们到底怎么想。敏捷的字面意思就是快速改变的能力。
如果你能更快发布,你就能跟上市场的节奏随时调整。
问:DevOps与开源运动的关系是怎样的?
答:两者是并行的。DevOps是一个文化运动,借用了开源的很多协作概念,本质上是团队协作的文化。
问:企业如何从DevOps能力中受益?
答:DevOps的目标是流程的自动化——让代码完成过去手工的工作,从而大大节省成本。
DevOps的最终目的是提高你的客户响应能力。如果网站宕机了,你自然就无法服务你的客户了,你发现问题的速度越快,成本就越低。
DevOps团队的特点是能让你为客户提供更多功能,而且不会把网站搞垮。
问:DevOps通常适用于大企业还是斗志昂扬的小企业?
答:DevOps更多会与大企业有关。小企业的协作本来就不是很难。但是类似Google或Netflix这样的企业每天都会推送大量代码,出现bug的几率很高,而Puppet和Chef这样的开发工具能帮助系统管理员将很多工作自动化,并应对最艰巨的基础设施挑战。
问:你最常听到的对DevOps的误解或疑点都有哪些?
答:DevOps不仅仅适用于高科技公司,我一年前听过一个网络研讨会,网站优化是关于中西部一个金融公司如何开展DevOps的,DevOps绝不是硅谷的专属品。
事实上任何希望变得更加敏捷的人都可以运用DevOps。以我的观点,DevOps是IT部门保持其存在感的一种方法。我们经常看到企业中的IT部门被排挤,网站推广因为预算受制于其他业务部门。有了DevOps,IT可以更早地参与到业务流程中,IT主管们可以冲着开发团队嚷嚷:“嗨,伙计们!我们如何实现这个需求?我们需要什么样的自动化工具?”,而不是像过去那样,搞出成吨的代码后黄瓜菜都凉了。
关于DevOps:
(以下摘自Wikipedia)
DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。[1] 它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
以下几方面因素可能促使一个组织引入DevOps:
1. 使用敏捷或其他软件开发过程与方法
2. 业务负责人要求加快产品交付的速率
3. 虚拟化和云计算基础设施(可能来自内部或外部供应商)日益普遍
4. 数据中心自动化技术和配置管理工具的普及
5. 有一种观点认为,目前占主导地位的“传统”美国式管理风格(“斯隆模型 vs 丰田模型”)会导致“烟囱式自动化”,从而造成开发与运营之间的鸿沟,因此需要DevOps能力来克服由此引发的问题。
DevOps,你真的了解吗?的更多相关文章
- DevOps is dirty work - Dream in One-Click
真是一晃就到年底,年初许的梦想实现了吗?这么残忍的问题还是不要知道答案了吧:) 这恍若隔世的大半年,不仅没有承接着上篇继续聊Continuous Delivery (CD),反而疑似荒废.然而,梦想还 ...
- DevOps is dirty work - CI drives you crazy
一直很想谈谈Continuous Integration(CI),持续集成. 就在不久前一次朋友聚会上,一个刚刚跳槽到一家创业公司的朋友跟我抱怨说他们没有CI,没有code review,要做点事太累 ...
- DevOps is dirty work - What's the deal
什么是DevOps?终于又回到这个最初的问题. 第一次看到这个词的时候,还身陷于各种敏捷概念轰炸中.用“身陷”这个词其实并不准确,因为那个年代的我也是那些热情洋溢地无处不宣传敏捷的热血文艺青年中的一员 ...
- 如何选择正确的DevOps工具
坦白的讲:世界上没有哪种工具能够像DevOps这么神奇(或敏捷,或精益).DevOps在开发和运营团队之间建立了完美的合作与沟通,因此与其说这是一种神奇的工具,不如说是一种文化的转变. 然而,团队之间 ...
- 荣誉,还是苦逼?| 也议全栈工程师和DevOps
引言 全栈工程师(本文称「全栈」开发者)和 DevOps 无疑是近期最火的词汇,无论是国外还是国内.而且火爆程度远超于想象. 全栈和 DevOps,究竟是我们的新职业方向,还是仅仅创业公司老板的心头所 ...
- 为 Devops 和系统管理员提供的 400+ 免费资源
014年,谷歌索引的数据量大约为200TB(1T等于1024 GB).而且,据估计,谷歌的200TB只占到整个互联网的0.004%.基本上,互联网是一个拥有无限的信息的地方. 因此,为了努力降低搜索和 ...
- `DevOps`相关知识搜集
本文记录的是搞清楚什么是DevOps过程中检索资料时发现的有价值的帖子. 传送门: 我眼中的DevOps 作者简介:申思维,2005年本科毕业于华南理工大学计算机学院.一直从事Web领域的开发,3年多 ...
- TFS在项目中Devops落地进程(上)
经过近2年折腾,基于TFS的Devops主线工程大体落地完毕.在此大体回忆下中间的各种历程. 开始之前简单说下什么是TFS(Team Foundation Server). TFS是微软推出的一款AL ...
- TFS在项目中DevOps落地进程(下)
紧接上篇 TFS在项目中Devops落地进程(上) 再接着说TFS相关之前先插入一个番外篇,虽然跟TFS关系不大但跟DevOps关系很大,觉得有必要在此乱入一下. 番外篇--监控之Applicatio ...
随机推荐
- 【博弈论】51Nod 1534 棋子游戏
题目内容 波雷卡普和瓦西里喜欢简单的逻辑游戏.今天他们玩了一个游戏,这个游戏在一个很大的棋盘上进行,他们每个人有一个棋子.他们轮流移动自己的棋子,波雷卡普先开始.每一步移动中,波雷卡普可以将他的棋子从 ...
- spring boot:spring security用mysql数据库实现RBAC权限管理(spring boot 2.3.1)
一,用数据库实现权限管理要注意哪些环节? 1,需要生成spring security中user类的派生类,用来保存用户id和昵称等信息, 避免页面上显示用户昵称时需要查数据库 2,如果需要在页面上显示 ...
- shell脚本在后台运行以及日志重定向输出
后台运行命令 在命令行后加上 &,表示进程到后台中执行,如:cmd & 日志输出重定向 如:cmd > out.log & Linux默认定义两个变量:1和2: 1 表示 ...
- PS矢量工具
4.1PS矢量及位图 (1)位图就是像素图,由一个个像素点组成:矢量图是记录点到点的连线或者说程序算出来的图. (2)位图放大很多倍之后就会失真,可以看到像素点,类似于马赛克,所以有分辨率这一说. ( ...
- 抽空学学KVM(六)qemu-img命令使用
通过KVM创建虚拟机,用到的命令不多,而且可以通过qemu-img -help查看到非常详细的解释,常用的主要有以下几种: 1.qemu-img info 查看磁盘信息 #info [-f ...
- echarts常用功能封装|抽象为mixin
目前已解锁以下功能: [x] 初始化echarts(initChart) [x] 获取echarts参数配置(getOption) [x] 生成echarts图表(setOption) [x] 监听r ...
- 【设计模式】第一篇:概述、耦合、UML、七大原则,详细分析总结(基于Java)
迷茫了一周,一段时间重复的 CRUD ,着实让我有点烦闷,最近打算将这些技术栈系列的文章先暂时搁置一下,开启一个新的篇章<设计模式>,毕竟前面写了不少 "武功招式" 的 ...
- Spring Boot打包部署
date: 2018-11-19 15:30:11 updated: 2018-11-21 08:28:37 Spring Boot打包部署 第一种方式 打包成jar包部署在服务器上 1.1 添加插件 ...
- 给大家分享一下java数据库操作步骤
获取驱动程序Jar文件,并放置到项目的类路径中: 注册驱动器类: 获取数据库连接: 获取Statement对象来执行相关SQL操作: 关闭各种资源;
- A. Arena of Greed 解析(思維)
Codeforce 1425 A. Arena of Greed 解析(思維) 今天我們來看看CF1425A 題目連結 題目 略,請直接看原題. 前言 明明是難度1400的題目,但總感覺不是很好寫阿, ...