做运维如何“偷懒”
做运维很累?不会“偷懒”吧
人工运维与自动化运维
做运维还在挣不多不少的钱吗
一、开篇
大家好,我是刺天冬,我以前也是一名运维工程,现在做的工作请恕我不能透露;
不过在我做运维工程师的几年中,我发现大多数企业中的运维,每天做的都是重复的事情:服务器监控、代码上线、帮助研发取日志等等等,一点挑战性也没有,这就导致了在企业里很多的运维人员可以每天都“摸鱼”,而这个情况最终导致的结果就是:
1.企业花费更多的钱招聘更多的人或者更有能力的人
2.员工没有任何长进,变得越来越懒惰
3.能力比较好的运维人员,由于每天都做这些事情,将原来会的一些知识都通通忘在脑后,不去使用渐渐生疏
不知道我说的有没有人认同,或许有的人很认同,也有的人觉得每天干重复的工作,拿着几千块的工资也算蛮不错的呀,对不起,如果有这种想法的人你这篇文章不适合你再看下去了,估计峡谷有人叫你了,我以前身边也有这样的人,我的前同事张某某,每天虽然做重复的工作,但是会表现得工作量很多,让领导觉得他很忙,其实他在做的只是频繁的打包上线,就是那种教傻子几分钟,傻子都能做的工作;当然这也是我决定换工作的原因之一,公司太安逸也不是什么好事情,记住还有就是运维这个岗位,不进则退!
大家想不想知道怎么做一个好的运维呢?想做一个好的运维,首先你要做到让自己“变懒”,这个“变懒”不是说让你不去干活,而是想办法把你的重复工作变少;
1.举个例子:一个游戏运维,经常会出现游戏更新啊,重启啊这类的需求,你是每天都起来干活还是怎么样?其实最省事的,就是把维护的任务交给发出需求的人,也就是让想要重启的人自己来处理;但是大部分提出需求的人又不清楚怎么来干运维的工作,就运维来说,就可以做一个小工具啊,或者小平台啊,让这个工作自动化,每次需求方只要根据实际情况执行一下工具就行了,这样,运维是不是就省事多了呢;
2.再举一个例子:再举个例子,资源发布,不管是网站,还是游戏,还是什么其他的平台都有可能出现资源更新,传统的工作模式,就是把具体内容测试完毕,之后发给运维,让运维来进行上传提交,就这个工作内容,说难听点,是个人就能干,为什么不让测试人员自己弄呢?他可能会说,如果出了问题怎么办?传错了?误删了怎么办?这个时候要是我们有一个自动化运维平台就方便多了;
还有作为运维每天都会有研发来找你帮忙获取日志,获取数据库数据等等工作;获取日志的时候,日志太大你需要筛选他要的日志吧,如果没找到他要的是不是还需要再一次筛选,这就不一定需要多久了;还有拿数据库数据的时候,有的开发时会给你sql让你帮忙查询的,也有的不会给你sql,让你去帮他查询,那你怎么办?帮完一个人另一个人又来了,那这一天时间又过去了,遇到这样的情况也挺无奈的,那怎么办呢?这个时候如果你有一个自动化运维平台,那将帮你解决一切,什么查询日志、sql执行,完全都可以让开发自己去做;
想“变懒”,首先要学习,学习,再学习;有了足够的积累,再去分析自己的工作内容,把你工作的内容加工成自动化、流程化、透明化的工作;
但是你可能又会问了,如果这些东西都自动了,那还要运维干什么?这个问题很好回答,工作不可能一次就干完的,比如监控,除了要监控起来,还要报警,还要响应,如果能力可以,还可以根据进程情况自动把挂掉的进程再起来等等的一系列工作;就算把基础建设都弄好了,你还可以看生产线上的资源用的合理不合理,有没有哪个服务器空闲很多资源?又有没有哪个机器总是消耗过多的资源?能做的事很多,除了要能把活干好,还要用脑子去干活,记住:运维不是体力劳动,别让你的工作变成体力劳动,活没有干完的一天;
我们的课程就是教给大家如何去学会“偷懒”,教给大家自动化运维平台的搭建和使用;
二、自动化运维介绍
随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务,面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安全稳定地持续保障,这种模式中的保障因素就是IT运维(其他因素是更加优越的IT架构等)。从初期的几台服务器发展到庞大的数据中心,单靠人工已经无法满足在技术、业务、管理等方面的要求,那么标准化、自动化、架构优化、过程优化等降低IT服务成本的因素越来越被人们所重视。其中,自动化最开始作为代替人工操作为出发点的诉求被广泛研究和应用。
IT运维从诞生发展至今,自动化作为其重要属性之一已经不仅仅只是代替人工操作,更重要的是深层探知和全局分析,关注的是在当前条件下如何实现性能与服务最优化,同时保障投资收益最大化。自动化对IT运维的影响,已经不仅仅是人与设备之间的关系,已经发展到了面向客户服务驱动IT运维决策的层面,IT运维团队的构成,也从各级技术人员占大多数发展到业务人员甚至用户占大多数的局面。
因此,IT运维自动化是一组将静态的设备结构转化为根据IT服务需求动态弹性响应的策略,目的就是实现IT运维的质量,降低成本。可以说自动化一定是IT运维最高层面的重要属性之一,但不是全部。
1.传统运维存在的问题
在介绍我们课程之前,我先给大家介绍一下非自动化运维的现状
1.系统上线检查和健康检查作业计划消耗大量的维护人力和时间
在IT运维过程中总是会有上线的的需求,而且需要上线的环境还有很多,开发环境,测试环境,灰度环境和生产环境,每一套环境都需要更新代码,打包,上传,启动服务,这些工作都需要人手动去操作,这个会消耗大量的人力和时间;
2.检查项未统一规范,遗漏检查项,检查结构未达预期
运维人员会经常有检查服务器配置的工作,然而检查的时候,每个人检查的内容是不确定的,有的人不会检查接口可用性,有的只检查进程,不检查端口,或者只检查端口,这很可能导致刚检查完服务器,还是会出现问题
3.人工手动执行难免出差错,更新发布管控困难
在工作过程中,没有人能保证自己一定不会会出错,谁都会出错,犯得错误也可大可小,如果更新代码时哪个细节出现问题导致更新失败,想回滚也需要按照你之前的步骤回滚,否则也有可能导致回滚之后还是不能提供服务