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] 它 ...
随机推荐
- Alpha版本十天冲刺——Day 5
站立式会议 会前小侃:今天是双11,也是恰逢组内秋鑫同学生日,本组同学祝他双11生日快乐.天气好冷,注意保暖. 会议总结 队员 今天完成 遇到的问题 明天要做 感想 鲍亮 json数据解析学习,完成注 ...
- Nginx/Apache发大招
导读 网站程序的上传目录通常是不需要PHP执行解释权限,通过限制目录的PHP执行权限可以提网站的安全性,减少被攻击的机率. 下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行 ...
- Qt:正则表达式语法:
正则表达式是验证输入.从输入中提取数据以及对输入进行搜索和替换的强大工具,所谓正则表达式,regexp是一种利用模式匹配语言来描述字符串组成限制条件的方式; Qt 提供了一个Q ...
- 使用jvisualvm.exe 的Btrace插件介绍/使用教程
一.背景 在生产环境中可能经常遇到各种问题,定位问题需要获取程序运行时的数据信息,如方法参数.返回值.全局变量.堆栈信息等.为了获取这些数据信息,我们可以 通过改写代码,增加日志信息的打 ...
- c++ 虚函数和纯虚函数
在你设计一个基类的时候,如果发现一个函数需要在派生类里有不同的表现,那么它就应该是虚的.从设计的角度讲,出现在基类中的虚函数是接口,出现在派生类中的虚函数是接口的具体实现.通过这样的方法,就可以将对象 ...
- JavaScript高级程序设计学习笔记--表单脚本
提交表单 用户单击提交按钮或图像按钮时,就会提交表单.使用<input>和<button>都可以定义提交按钮,只要将其type特性的值设置为"submit" ...
- whose view is not in the window hierarchy
参考:http://www.jianshu.com/p/9e90cb866fdf 在做界面跳转的时候,我们经常会用到这两个函数 func dismissViewControllerAnimated(f ...
- iOS10 SiriKit QQ适配详解
原文连接 1. 概述 苹果在 iOS10 开放了 SiriKit 接口给第三方应用.目前,QQ已经率先适配了 Siri 的发消息和打电话功能.这意味着在 iOS10 中你可以直接告诉 Siri 让它帮 ...
- APP测试实用小工具
1.ADB万能驱动 http://pan.baidu.com/s/1jIJPwhS 2.安卓手机屏幕共享 http://pan.baidu.com/s/1nv6ma1b 3.IOS手机屏幕共享 htt ...
- nginx,apache,tomcat配置https的阿里提供的文档
安装证书 ( 1 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到 # HTTPS server # #server { # listen 443; # serv ...