DevOps is dirty work - What's the deal
什么是DevOps?终于又回到这个最初的问题。
第一次看到这个词的时候,还身陷于各种敏捷概念轰炸中。用“身陷”这个词其实并不准确,因为那个年代的我也是那些热情洋溢地无处不宣传敏捷的热血文艺青年中的一员。就像天生的一样,我从未接触或真正实践过瀑布模型。瀑布开发对我来说一直是书里的概念,各种流程背得滚瓜烂熟都是应付考试用的东西。打从第一脚踏入老东家N记,Scrum Master骄傲地带着我各楼层领略五颜六色的进度小纸条和大小各异的手写燃尽图的那一刻开始,我就被敏捷浸淫而无法自拔。N记也不愧为国内敏捷先锋,直到如今国内各大论坛,峰会,workshop,event,无论民间还是官方,企业还是协会,只要有点知名度的敏捷活动,都会混迹一两个N记出身的大牛身影。作为如许多大牛的前同事,可想而知,哥们儿也算科班出身,多少也练就一番底蕴。也的确受益于在N记玩Scrum Master的经验,随时拿敏捷的套路和精髓来吹个牛早已是小菜一碟,而那些敏捷教练都会的抓个话题侃侃而谈也基本不再话下,甚至当时觉得自己做个敏捷顾问绝对绰绰有余,无非就是舍不得拿白银出来去考各种段位凭证罢了。就这样飘然来到C记,在运功帮助团队艰难转型的岁月中某一天,DevOps这个词从天而降。也是从那天起的不久之后开始,对自我介绍这件事产生了巨大的茫然无措之感。
“你现在在C记做什么啊?”
“上线。。。也不完全是。。。运维吧。。。也不确切。。。发布。。。其实我们要写code的,还要测试。。。搭环境我们也管。。。pipeline。。。Jenkins。。。总之很忙。。。经常加班还on call。。。”
“哦。。。现在JDK8了,你们在用吗?”
“对了,我们还要建虚拟机。。。啊?你说Java哦。。我们。。。python,ruby,puppet,groovy,shell,java,C。。。语言太多。。。哦,Java也用的。。”
“嗯嗯,挺好的。。。”
对的,DevOps就是各色杂糅。不仅如此,DevOps的英雄们都是千面人。在Ops眼中,DevOps是troubleshooting的Dev。在Dev眼中,DevOps是排除万难的Ops。在DevOps眼中,DevOps是似幻似真的一切。
我通常喜欢把Continuous Integration(CI)作为描述DevOps工作的起点,尽管很多人都认为DevOps是个比这宏伟得多的事业,而且事到如今这已是如每天早餐一样让人习惯到不废几个工夫就能搞起的事情。然而在我看来,CI系统虽然已普遍被接受并作为各种大咖书中信手拈来的话题,却是在整个自动化部署产品中起着关键的指标性作用,而且并没有被大多数人深入理解。简单来说,没有完善的CI系统,即使Continuous Delivery(CD)能力再强,也不值半毛钱。而为了多值几毛钱,CI的搭建往往不在乎工具,而在乎内容。具体故事,还待细说。
如今DevOps的工作范畴已经无限宽广,稍微看过几本书的人就能举出好多fancy的名词。Jenkins,StackStorm,Docker,Nagios,Circonus,Logstash,Sensu,Nimbus,OpenStack,Puppet,Hiera。。。若要滔滔不绝起来,每一个名词都可以把前世今生说个天荒地老。而事实上更糟糕的是,每天都有新的名词在出现,举不胜举,防不胜防。如若第一次看到这堆名词,一个一个去google的话,相信我,你一定会疯。
尽管生态环境如此恶劣,DevOpser们却每天还在享受与拼命之间来回拉锯,时而因新学一种工具或语言而对未来无比鸡血,时而因一个脚本连不上Server而对事业悲哀到厌食。很刺激,有没有?
其实废话了那么多,还是没说清DevOps是做什么的,那么还是有必要总结一下。DevOps的工作就是,除了制作Application之外的所有工作。如果非要来些启发式的总结,那么,如果你即将踏入DevOps领域,你的决定一定没错,因为大数据时代的IT属于会做Dirty Work的全栈(Full Stack)工程师。如果你还没有这个打算,我的建议是,想清楚再打算。
对了,差点忘了最重要的一件事。在开始成为DevOps之前,请先做一名合格的Dev。DevOps is dirty work where you have to be more than a Dev.
DevOps is dirty work - What's the deal的更多相关文章
- 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,要做点事太累 ...
- CI Weekly #10 | 2017 DevOps 趋势预测
2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...
- DevOps对于企业IT的价值
其实从敏捷延展开的 DevOps 概念很早就已经被提出,不过由于配套的技术成熟度水平层次不齐, DevOps 的价值一直没有有效地发挥出来.现如今,随着容器技术的发展, DevOps 在企业中的实践难 ...
- 给 DevOps 初学者的入门指南
当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...
- DevOps的基本原则与介绍
DevOps的基本原则与介绍 DevOps这个术语是developer与operations的合并简写.实现还有QA.DevOps描述与精简软件交付流程,在今天已经开始广泛的使用.强调从生 ...
- DevOps
DevOps DevOps(英文Development和Operations的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整 ...
- 当DevOps撞上物联网
DevOps 领域在近年来变得流行而普遍.它强调不同的角色之间共同协作,以及如何工作得更加紧密,就像这个词语的词根暗示的那样--开发和运维.但是DevOps和物联网有什么关系? 本文选自<Dev ...
- DevOps是云计算时代的开发与运营
DevOps(英文Development和Operations的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整合.[1] 它 ...
随机推荐
- Linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?
打包举例:将 /usr/local/src/zlib-1.2.5目录下的文件打包成 zlib-1.2.5.tar.gz cd /usr/local/src tar -czvf ./zlib-1.2.5 ...
- MapReduce的核心资料索引 [转]
转自http://prinx.blog.163.com/blog/static/190115275201211128513868/和http://www.cnblogs.com/jie46583173 ...
- Java 计算数学表达式(字符串解析求值工具)
Java字符串转换成算术表达式计算并输出结果,通过这个工具可以直接对字符串形式的算术表达式进行运算,并且使用非常简单. 这个工具中包含两个类 Calculator 和 ArithHelper Calc ...
- cain使用教程
Cain & Abel 是由Oxid.it开发的一个针对Microsoft操作系统的免费口令恢复工具.号称穷人使用的L0phtcrack.它的功能十分强大,可以网络嗅探,网络欺骗,破解加密口令 ...
- Velocity简单语法及VelocityHelper封装
1.简单替换##这是注释Wellcome ${userName}! Now:$date 2.申明变量:#set( $iAmVariable = "good!" )Welcome $ ...
- MySQL分库分表总结
单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到. 单库多表 随着用户数量的增加,user表的数据量会越来越大,当数 ...
- Redis 复制、Sentinel的搭建和原理说明
背景: Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端) ...
- grep 正则表达式
本文转自:http://www.jb51.net/article/31207.htm 正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.aw ...
- PHP实现四种基本排序算法
前提:分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序. $arr(1,43,54,62,21,66,32,78,36,76,39); 1. 冒泡排序 思 ...
- nmon的安装
安装 mkdir /usr/local/nmon cd /usr/local/nmon wget http://sourceforge.net/projects/nmon/files/nmon_lin ...