新足迹

 找回密码
 注册

精华好帖回顾

· 独家记忆,在平壤动物园被7000人民军包围(朝鲜6日5夜,2019年3月平壤元山金刚山开城) (2019-5-10) vous22 · 纪念曾经的汤团一世,期待即将到来的汤团二世--新增照片 (2010-11-10) vivinmel
· 怒了!综合整理足迹Melbourne修车点大全! (2007-11-8) shadowin · 参加活动-可乐可乐,大家齐乐,圣诞快乐内景片!刚照完!! (2010-12-5) Cactin
Advertisement
Advertisement
楼主:heroxk

[IT] 浅谈DevOps,文化、技术和职业发展 [复制链接]

发表于 2017-1-4 14:33 |显示全部楼层
此文章由 er1c 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 er1c 所有!转贴必须注明作者、出处和本声明,并保持内容完整
楼主总结的很好
Advertisement
Advertisement

发表于 2017-1-5 16:00 |显示全部楼层
此文章由 lovebabyhu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 lovebabyhu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
说说DevOps的待遇情况吧?搜了一下seek,感觉有不少职位,有没有已经在DevOps行业的牛人或将来的牛人来分享一下这方面的信息?

2021年度勋章获得者

发表于 2017-1-5 20:24 |显示全部楼层
此文章由 heroxk 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 heroxk 所有!转贴必须注明作者、出处和本声明,并保持内容完整
lovebabyhu 发表于 2017-1-5 17:00
说说DevOps的待遇情况吧?搜了一下seek,感觉有不少职位,有没有已经在DevOps行业的牛人或将来的牛人来分享 ...

纯技术不带管人的话,中级差不多10-12万吧,高级差不多13-15万。perm, package

发表于 2017-1-6 14:53 |显示全部楼层
此文章由 lovebabyhu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 lovebabyhu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
heroxk 发表于 2017-1-5 21:24
纯技术不带管人的话,中级差不多10-12万吧,高级差不多13-15万。perm, package ...

恩,跟我搜索和预计的情况差不多,对比于一般的software development这个待遇是要高一些的,不过DevOps的工作比较多需要跟客户或者管理层交互,不能像软件开发那样做纯技术。

这种职位的面试一般会在哪些方面进行考核?会考核编程能力吗?还是focus 在对cloud architecture和CI/CD工具的熟悉程度上进行考核?谢谢楼主

2021年度勋章获得者

发表于 2017-1-8 09:50 |显示全部楼层
此文章由 heroxk 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 heroxk 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 heroxk 于 2017-1-8 22:00 编辑
lovebabyhu 发表于 2017-1-6 15:53
恩,跟我搜索和预计的情况差不多,对比于一般的software development这个待遇是要高一些的,不过DevOps的 ...


技术和沟通技巧,一个都不能少。

-编程如果不行,做DevOps会在职业生涯中遇到瓶颈。这也是DevOps相对传统的Sysadmin的优势。

-Cloud需要了解,但是深度的话因具体职位而异,对于CI/CD DevOps来说,其实没有特别重要,因为底层的Infra相对是透明的,而且方案可能是多样的,有的是AWS,有的是private cloud,也有可能是PaaS。

-CI/CD Tool是非常重要的,没有这个,怎么持续集成,怎么持续部署Infra和App。没有这个,做个啥子DevOps?



总的来说技术方面,DevOps需要的知识面相对Dev来说比较广和杂,而且面试没有定式,问的问题也可能五花八门。面试之前也不需要临时抱佛脚,因为就算突击也没有用。

比如我遇到过pre-interview task,不是考coding算法,而是直接给场景,设计infra的部署方案。给1-2天时间去解决,task过了后才会组织面试,面试时候会问你为什么这么设计。

trick不少,比如,他们不提供给你任何的平台和资源,你开发solution的时候,怎么做部署和调试?你完成了这个solution,怎么share给他们(如果说用email寄给他们的话,基本也就不用面试了)?再比如,你怎么保证你提交的方案在他们那里部署测试的时候一定能通过?环境不一样怎么办?



还有一些就是测试技术水平和深度了。举一个我面试别人的场景,关于ansible的:

1. 问:你最熟悉什么configuration management tool
- 答,ansible,puppet

2. 问:Ansible和Puppet的区别,可以互相替代吗?(这个问题看似简单,其实很考查interviewee的功力,背书是不行的)

3. 问:什么是hostvar,groupvar,static inventory,dynamic inventory。为什么要用这些,什么场景需要?

4. 问:如果要用Ansible部署一些敏感的信息,怎么存储这些信息?(答案:vault)

5. 问:如果两个DevOps同时在两个feature branch上面开发同一个vault,之后会有什么样的潜在问题?

6. 问:如果我要keyword search这些加密的variable,但是这些不是明文,grep不出来,请问怎么解决

7. 问:如果我要同时部署Master and Slave,这里面有一些交互式的过程,比如Master完成某一步后,再通知Slave进行同步。也就是两个要部署的host中间需要传递一些状态消息,请问你怎么设计?

8. 问:在实际部署过程中,怎么防止误部署,比如将错误的版本部署到环境里面(将dev版本直接部署到production里面了)

9. 问:你怎么知道target host部署的东西是哪个版本?你怎么管理版本的信息的?

10. 问:如果Ansible显示部署成功,怎么确定是真的部署成功?
- 没有经验的说,“不可能吧,terminal上面已经显示部署成功了,怎么会不成功?”
- 有一定经验的会说,可以用ansible check mode去检查部署的状态

11. 这时马上又接着一个问题。问:Ansible check mode有什么弊端?我们能否完全依赖check mode?如果不能,有没有别的思路?


不少问题如果没有身处在行业当中,或者企业环境达不到一定规模,一般是很少遇到的也很难理解。自学和教科书上都不会给你答案,就算有,也只会了解的非常教条。

如果一个DevOps应聘者对于上述问题都觉得小菜,有非常明确的想法和方案。以我个人的意见,应该可以给一个mid甚至是senior的职位了。当然这只是configuration management,其他的方面也会考察。

评分

参与人数 2积分 +8 收起 理由
epoxboy + 4 感谢分享
gzrain + 4 感谢分享

查看全部评分

发表于 2017-1-8 10:10 来自手机 |显示全部楼层
此文章由 gigi17900 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 gigi17900 所有!转贴必须注明作者、出处和本声明,并保持内容完整
感谢分享
Advertisement
Advertisement

发表于 2017-1-8 10:55 |显示全部楼层
此文章由 cliff79 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cliff79 所有!转贴必须注明作者、出处和本声明,并保持内容完整
学习下

发表于 2017-1-8 18:17 |显示全部楼层
此文章由 lovebabyhu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 lovebabyhu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
heroxk 发表于 2017-1-8 10:50
技术和沟通技巧,一个都不能少。

-编程如果不行,做DevOps会在职业生涯中遇到瓶颈。这也是DevOps相对传 ...

谢谢楼主这么详尽的答复,受益匪浅!

我自己其实处在一个职业选择的十字路口,之前我都是做底层软件开发的,最近半年多开始做Full Stack的Web开发,使用JavaScript,Node.js, React.js等等, 因为项目的需要,在AWS上做了很多工作,所以目前在准备考个cloud solution architect的证书出来,然后打算往DevOps 或者cloud architect的职业方向走,但听你关于面试方面的答复,感觉还有很多关于Ansible, Puppet的东西需要去实践和学习,看来不是那么容易应对的。而对于Full Stack的开发,我目前也感觉还有不好东西需要去学习和实践,其实现在我的问题就是,对于这两个选择,该在哪个方向先去用力:DevOps的东西或Full Stack Web development的东西。

DevOps的考核的东西多而杂,但那倒是我的优势,我有比较强的Linux, networking, security, script的经验和知识,但DevOps编程少了。Full Stack Web开发,目前React很热,我稍微用把劲,应该拿下个职位不成问题。

最后症结还是:React的前端开发容易拿相对高一点的薪水还是DevOps? :)

楼主或者这个领域的大牛们帮忙分析一下。

评分

参与人数 1积分 +4 收起 理由
jimway + 4 你太有才了

查看全部评分

2021年度勋章获得者

发表于 2017-1-8 21:33 |显示全部楼层
此文章由 heroxk 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 heroxk 所有!转贴必须注明作者、出处和本声明,并保持内容完整
lovebabyhu 发表于 2017-1-8 19:17
谢谢楼主这么详尽的答复,受益匪浅!

我自己其实处在一个职业选择的十字路口,之前我都是做底层软件开发 ...

full stack dev和DevOps都是现在市场上比较热的,薪水其实也是一个数量级的。但单纯的比较薪水是没有意义的,能力高的和能力低,开价可能相差很大。

如果你有比较强的Linux, networking, security, script的经验和知识,其实已经具有很好的DevOps的底子了。你有scripting和programming的经验,对付DevOps应该是问题不大。DevOps的编程是用来开发一些tool供内部使用的,Dev的编程一般是开发产品给外部customer用的。

Full stack要学的东西很多的,frond-end, back-end,mobile,db,cms,各个部分的新技术新框架层出不穷,就说JS,昨天还是angular2,今天就成了react。DevOps更新没有那么的快,但是东西也是多而杂,想一劳永逸,学一下管五年,这两个都是不行的。

从入行上来说,DevOps入行的门槛比Dev高,但是好处是一旦入了行进了圈子,还是很稳定的。DevOps申请人很多,但是真正好的DevOps市场上又非常难找,或者说是挖不动。

收入只能是一个就业的考虑因素,关键还是要看自己的兴趣,如果你超爱写代码,甚至可以整个周末哪也不去,宅在家coding,可以考虑full stack。如果你有很强的trouble shooting的能力,喜欢倒腾系统,部署啥的,DevOps。

发表于 2017-1-8 22:22 |显示全部楼层
此文章由 lovebabyhu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 lovebabyhu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
heroxk 发表于 2017-1-8 22:33
full stack dev和DevOps都是现在市场上比较热的,薪水其实也是一个数量级的。但单纯的比较薪水是没有意义 ...

分析得很对,其实我自己还是比较偏向朝DevOps方向走的,因为这种职位能比较好的把我的综合技能应用起来,本人也是比较喜欢troubleshooting的那种。不过要说兴趣,最近觉得前端开发也挺有意思的,框架虽然更新很快,层出无穷,不过我是从系统编程(Linux内核)过来的,觉得那些东西还是比较容易掌握的。

目前工作上部分full stack Dev部分DevOps的任务,边做边看吧。

2021年度勋章获得者

发表于 2017-1-9 08:22 |显示全部楼层
此文章由 heroxk 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 heroxk 所有!转贴必须注明作者、出处和本声明,并保持内容完整
lovebabyhu 发表于 2017-1-8 23:22
分析得很对,其实我自己还是比较偏向朝DevOps方向走的,因为这种职位能比较好的把我的综合技能应用起来, ...

Linux kernel,你之前在Redhat?

其实要从优势上来说,可能转DevOps更有优势。你搞full stack当然也是小菜,只是可能resure你以前知识和经验的地方可能少了点。full stack的技术壁垒相对于DevOps小,主要的壁垒就是两个字:勤奋。
Advertisement
Advertisement

发表于 2017-1-10 21:11 |显示全部楼层
此文章由 lovebabyhu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 lovebabyhu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
heroxk 发表于 2017-1-9 09:22
Linux kernel,你之前在Redhat?

其实要从优势上来说,可能转DevOps更有优势。你搞full stack当然也是小 ...

我是做底层嵌入式软件开发的,所以调试或者更准确的说是研读过Linux kernel. 技术壁垒从技术和掌握角度讲,都不算太大,但最近感觉full stack 特别是前端的工作真是多,而且pay得也不错,所以也有想法干脆纯做Web full stack开发算了,但如果继续做full stack开发,跳槽是个问题,毕竟做这方面的工作只是比较短的时间,面试高级职位未必搞得定,非高级职位的话,待遇又上不去,有点矛盾,呵呵

市场上从事DevOps开发的人多吗?

2021年度勋章获得者

发表于 2017-1-11 14:25 |显示全部楼层
此文章由 heroxk 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 heroxk 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 heroxk 于 2017-1-12 17:17 编辑
lovebabyhu 发表于 2017-1-10 22:11
我是做底层嵌入式软件开发的,所以调试或者更准确的说是研读过Linux kernel. 技术壁垒从技术和掌握角度讲 ...


握手,我之前是做GPU编程的,CUDA C。

Full stack我感觉招工数和DevOps招工数的比例大约在5:1吧。

Full stack竞争还是比较激烈的,工作环境好,公司口碑好,pay高的职位,都有一群老油条在时刻盯着,5年10年经验的很常见。谁能抢下这块肉,就不但凭实力,更要凭资历和运气了。这行的发展极快,Full stack概念出来可能才5,6年吧,之前frontend,backend,DB dev都是独立工种。而现在full stack基本都要三层通吃,有的甚至还需要懂mobile技术,native mobile app。不知道五年之后会怎样,反正要想一直处于不败之地,不停的学习是必不可少的。

DevOps门槛相对高,想进来的人也多,不过来应聘的很多是sysadmin背景,没有参与过企业级software项目的经验,入行DevOps并不是那么容易。DevOps工作稳定性我觉得高于full stack。但说到底DevOps还是属于support性质的,所以脑筋动得相对少。有的人喜欢,因为有更多的时间和精力去想别的事情,但是有的人可能会觉得干久了有些无聊。设置DevOps的基本都是相对比较大的公司,而这个职位因为直接和项目production系统的部署运行相挂钩,所以责任重大,不容闪失,同时也导致企业在开工资上不是很吝啬。

一个例子,我们公司已经很久没有招perm的full stack/dev了,去年项目做完走了一大批contractor,最后都没续。与此同时,基本上所有的DevOps都愿意给perm的,但是有能力的DevOps公司想留都不太容易,很多干不了太久就被挖走了。