Reddit上一位网友的提问:
所有的DevOps工程师们,你们的工作日日常都做些什么?
我们也来一起看看别人家的DevOps/运维每天都做什么。
@under_it:我的话,一天总是忙着处理各种计划外的事情。(很多人表示这也是他们的一天。)
@clvx:
- 跟提变更的人一起确保变更不出问题;
- 使用供应商提供的写得很烂的文档;
- 找到一个问题,注意不让它以后影响集群;
- 做一些措施,避免集群出问题;
- 复制环境,处理Bug;
- 与同事共度“美好时光”;
- 培养那些渴望学习的人;
- 在一切顺利的时候好好享受,事情不顺利的时候要有耐心。
@running_for_sanity:跟大家有些不同,我在SaaS类型的公司工作。整个基础设施是IaC(基础设施即代码),但IaC也可能导致问题。我见过的两次最大的中断是因为IaC代码中有Bug或意外行为。所以我们花了很多时间为IaC代码编写测试。有时我们要帮助产品开发团队了解IaC的内容(以及我们为什么这样做)并帮助他们改进系统。我们大部分的时间花在建设监控和指标平台以及一些底层技术上。我们会运行一些Mock灾难场景,这需要一些时间来准备。我们的团队和开发团队一样使用敏捷流程,因此需要花时间开站立会,进行规划和复盘。还有面试。我们的团队在发展,找到合适的人很重要。
@ravenchilde:在开发环境中自动化k8s群集并设置新的CI/CD管道。6个月前做过网络规划和一些脚本编写。现在,我正在建立基础设施,以建立自己基于python的Runbook系统。
@mrcrassic:
- 逛Reddit
- 写yaml文件
- 重复以上两步
- 下班回家
@KazooxTie:
- 早上到办公室先喝杯咖啡(相当重要)。
- 坐下来想想我要做什么,昨天的事情进行到哪了。
- 处理某个开源软件、CI/CD管道、基础设施即代码中的bug,过程中会立即找到另外一个更烦人的bug。
- 太烦人了拿脑袋撞会墙。
- 帮助一个开发搞查清楚XX不能正常使用是因为他们用错了凭证。
- 继续撞会墙。
老实说我还挺喜欢自己的工作的,就是有一些负面的东西,比如会遇到一些能力不太行的开发,还有频繁的上下文切换。
@Taoquitok:把前几天的待办事项移到今天,希望今天能完成一些。修复问题并编写测试以确保这种问题不会再发生。对于我修复的每个问题,都找出两个我想做的事加入到待办事项列表中。
@cryonine:我不确定DevOps工程师都做些什么。我猜题主的意思是一个在DevOps团队中的运维工程师一天都做些什么?
在我们这里一年被分成两半(一半=两个季度),这样来规划我们的项目。我们的团队很小,所以根据我们正在做的事情大家划分职责。每个项目都有计划,通常跨职能的利益相关者会参与审批(例如开发人员批准基础架构变更)。做规划的时候,我们通常会做研究,编写RFC,并进行规划评审会议。在项目进行的过程中,我们通常会编写自动化,研究如何实现这个项目。
除此之外,我们还要处理来自开发人员和利益相关者的外部请求。这不是我们每天的重要工作,因为我们通常会让团队成员自己处理问题。如果需要来自基础设施方面的帮助,我们会根据需要提供帮助。整个团队的协作环境很棒。
老实说,我喜欢我的日常工作。我已经在这里待了3年多,从未有过一天害怕上班的日子。我从来都不会感到无聊,即使进入这个领域二十年了,我也在不断学习新事物。我是一名运维工程师,但是我们的工程团队看重DevOps的理念和方法,与我以前所在的其他团队相比,DevOps确实能情况变得更好。如果我需要软件工程师的帮忙(例如帮助将变更整合进应用,或询问为什么XX要以这样的方式运作),我可以ping某人并获得帮助。反之亦然。
@AdamskiFTW:
查看电子邮件,看看有没有什么重要信息。归档所有警报/通知,因为我没有任何预算,也没有与客户签订支持合同,来处理这些报警和通知。
看看我需要参加哪个项目站立会议。因为项目经理通常不会考虑跨项目的成员,但却不约而同地把会议预定在同一时间。
处理一些日常工作,通常是使用Ansible进行自动化,以及一些随机脚本和管道的事情。一些没有阅读文档或在本地开发环境中遇到问题的开发人员经常会打断我几次。
某位项目经理报告一个紧急请求,找我去救火。我向他们保证会马上考虑这个问题。然后去吃午饭。
回答客户经理的几个问题,解释为啥几周前要花几个小时跟踪X项目。
团队会议。开发者和PM的快速吐槽一下,主要讨论新的工具,提出新的计划,使业务更靠近DevOps。
将DevOps计划搁置到下个月,因为我们的一个生产系统发生了重大事故。重新启动一些服务,等待半小时,看它是否再次崩溃。
带着一些奇怪的感觉回家:明明一天忙得不行,却感觉啥也没做。
@evilboygenius:
- 早上6点半,初级开发人员尝试将副本SQL DBA集写入主VM主机的C盘,导致驱动器空间警报,被吵醒。清理它并谴责开发者。
- 洗漱上班,9:15到办公室。
- 参加不同的团队scrums /站立会议,并提醒大家不要往C盘里写入任何东西。
- 对某产品进行一些研究。
- 与SVP会面,说明在AWS上超过预算的原因。
- 讨论如何处置早上的那位初级开发者。
- 弹出Jenkins服务器,因为有人在本地存储远程构建并且服务器已锁定。
- 午餐。半小时吃饭,半小时向我们的大楼里的(不同组)姐姐们展示我的新狗狗的照片。
- 与公司IT部门的电话会议。与IT总监争论:1. 是的,我们的生产域名在AWS中;2. 不,我不会把我管理的基础设施的密钥给 IT们,因为总有一些很蠢的管理员推出一个糟糕的GPO,然后宕掉整个服务。
- 试着说服Ubuntu 16.04,是的,你可以安装mongo。
- 与供应商争论,控诉他们的一些没有写入文档的功能使我所有NVMe驱动器每周随机下降到800个iops,每次10分钟左右。
- 在Slcak中Po出一张表情包,然后花15分钟跟大家解释它到底有多好笑。
- 下班,在上地铁之前找个有WIFI的咖啡馆,然后网络不好只能传给开发一个超级模糊的IAM许可,这样他就可以用Sandbox在AWS上尝试一下这个IAM许可。告诉开发要在Sandbox中用。
- 告诉了开发在Sandbox中用他们还要在生产环境中用。上地铁。在地铁上开热点,把开发在生产环境中做的这些删掉。
- 回家打游戏,在Slack上回答开发为什么要把他在生产环境中的许可删掉。
- 遛狗。睡觉。
其实我很喜欢我的工作,以及大多数的同事。我写的日常听起来很丧,但其实很有趣。工作中我也遇到了各种有趣的人。
接着Reddit上又有了另外一个问题:
DevOps工程师们的周末如何度过?
@zerocoldx911:On-Call。(好惨,但是很多人周末都要On-Call轮班)
@brianw824:喝酒,很开心新年不用再On-Call了。
@superspeck:玩异星工厂(Factorio)。
@chriscowley:开车带小孩去看各种比赛。跟老婆在公园散散步,逛逛街。做为极客老爹,跟极客儿子经常参加树莓派和乐高活动。
@nintendomech:不关心工作,好好享受生活,去健身房,打游戏,跟家人在一起,看电影什么的。
@PabloEdvardo:检查警报频道,思考我正在努力完成的工具项目,坐下来完成它们,因为我终于有了合适的时间。剩下的时间玩电子游戏。
@imaspecialorder:做一些side project,看书,打游戏,学习,午睡…
@ddmunhoz:为个人项目编写代码或进行测试。持续改进项目。
@johnnybouder:我是一个DevOps新手,我觉得我周末花了太多时间来学习devops的东西。希望在某些时候这中情况会改变,但考虑到行业的发展速度,我不确定能否有改变。
@jkwysdom:我经营两家公司,正在努力建立第三家,并想卖掉其中一家。 晚上和周末的时间我都花在公司的经营上,周日休息半天,放松一下,尽情享受。日子很长,生活很艰苦,但我相信最终会得到回报。
@ejb50:看看DevOps软件公司和DevOps KOL的博客和推特,以及Medium上的DevOps的文章。在YouTube上看AWS,Hashicorp的相关视频,了解如何跟上最新的东西以及使用工具的最佳方式等。
DevOps带来的改变
DevOps理念旨在打破开发和运维人员之间的边界,通过工具链完成最大程度的自动化,将项目开发、测试、部署和迭代式发布集成在一起,形成一套统一的协作流程。
随着DevOps被越来越多的团队接受认可,整个行业的自动化工具和基础设施的激增,大大提高了开发和运维人员的效率,软件部署和交付过程也变得更加高效,所以大家能在周末有更多的时间陪家人。
在DevOps实践中,运维人员要熟悉各种工具,构建CI/CD管道,上面大家的留言也反映出,很多新手DevOps成员需要花很多时间来熟悉使用工具,并且不断有新的工具诞生,从业人员也要持续学习。
另外,要想真正打破开发和运维之间的部门墙,要从文化上形成统一认识,组织架构也要进行响应调整。从留言中运维人员对开发人员的吐槽来看,DevOps的落地挑战还有很多,团队成员的之间还需要时间来磨合,DevOps思想的整体渗透也还需要一定的时间。
在DevOps团队或作为运维工程师的你,工作日和周末都做些什么呢?欢迎留言说说你的日常。
参考链接:
https://www.reddit.com/r/devops/comments/a9n38b/a_day_in_the_life_of_a_devops_engineer/
https://www.reddit.com/r/devops/comments/aaidgp/how_do_devops_engineers_spend_their_weekends/