前言

运维是个什么岗位?运维是管理服务器的,运维是管理代码仓库的,运维是维护公司线上服务的,运维是做成本管理的,运维是帮开发发布版本的,运维是SRE ……等等。

有时候和朋友相聚,总是会问到:你们在公司主要做什么事情?有些时候我也愣了一下,脑袋里快速回想自己在公司做了什么事情。部署环境、服务器管理、帮人排查问题、也许还有修电脑,但是好像就没有一个专注的事情。每次想到这儿,我也不知道应该怎么回答我的朋友,运维到底是干嘛的?

我一般的回答就是:一个项目从开发做完功能,后面的事情就都交给运维了。就一句话,但其实往往不是这么简单,但往往也没有那么复杂。

简单是怎么一回事呢,一个项目真的从开发做完就交给运维了嘛?那肯定不是的,后面还有版本迭代呢,怎么少的了开发。复杂又是怎么一回事呢,其实业务上线前后运维都有很多事情需要处理的,如自动化、监控、日志、排错、快速缩扩容、CDN、网络规划……等等,一般的业务运维这些事情应该会占用工作时间的80%吧,甚至还要更高,剩下的时间就是在排查网络问题,哈哈哈😂,以至于我一度怀疑我的网络理论知识为什么能提升这么快。(为什么要笑,如果你是出海业务,而又是在国内运维,试试就知道了)

从事运维的前两三年,我给自己的定位是辅助,开发是ADC;或者给自己定位是打野,开发是中、上路;从分路来看,野辅看上去是一个边位,主要以帮助上、中、ADC拿到线上优势为主,但其实细看,野辅是节奏发动机,掌握着整场比赛主动权。

写了这些,其实是想表达两点:

  • 运维这个岗位可以做的事情很多
  • 理解自己的岗位很重要

价值

你说一家公司为什么要设立这个岗位?为什么要招你?那肯定是因为你能为公司带来价值。除此之外,我暂时没想到第二个原因。

下面就来谈谈我对价值的理解:

java 运维要求 java运维是干嘛的_运维工具


首先,我觉得一个人对于公司的价值主要分为两部分:显示价值、隐藏价值。

显示价值

显示价值很好理解,就是公司能从你身上看的见的价值。显示价值我又主要分了2部分:岗位价值和工作经验。岗位价值主要和平台相关,做好自己岗位职责内的事情,就能为业务带来价值,从而为公司带来价值;工作经验也是公司会考量的一个部分,有同岗位的工作经验会让你快速上手新岗位的工作,更快的为公司带来价值。

隐藏价值
隐藏价值可能没有那么好理解,但总体来说就是个人身上的优秀品质。我觉得公司校招主要就是为了招这一类人。

你身上的优秀品质越多,你的隐藏价值就越大。这些点可能不能立马产生价值,但是从长远来看,这些点可能会潜移默化的影响身边的人,带来正能量、积极、主动的效果,最终形成一个良好的部门氛围,大家都爱学习、爱专研,甚至是公司氛围。以此给部门、公司带来更高层次的价值,如果这些最终沉淀下来,形成规范,形成习惯,我觉得就是公司文化。

运维价值

接下来我们来谈谈运维价值

java 运维要求 java运维是干嘛的_运维工具_02


个人觉得运维的价值分为两部分:内部和外部。

内部

这里的内部是指运维部门,内部主要是管理,强调效率。有人会说,谁不知道部门内部需要管理呢?先别急,这儿的管理是指资源管理。资源就泛指部门拥有的线上和线下的所有形式的资源。

运维部门的资源可以说是全公司部门里面最多的,有的甚至比行政部门的资源还要多。IT支持部门的资源就有主机、公司机房、网线、键盘、鼠标、内存条、显卡、各种正版软件、公司硬件采购……;业务运维部门有服务器、数据库、跳板机、统一登录账号系统(LDAP)、代码仓库、镜像仓库、网络代理、VPN、各种开源工具、公司全量数据、多云平台管理……。

各种资源可谓是五花八门,怎么样才能高效的管理这些资源?这是第一个问题。

外部

外部指除运维部门之外的其他部门,外部主要是支持,强调敏捷。是指对其他部门的各种需求的快速相应,如运营同事的提数据需求、开发同事的发版本需求、HR的新同事入职电脑配置需求、项目组的各种需求等等……。

各种需求可谓也是五花八门,那运维怎么才能快速响应呢?这是第二个问题。


针对以上的两个问题,我觉得都可以用 人 + 流程 + 技术 来解决,简单一句话就是通过定制流程,然后开发系统来解决这些问题。

发现没有,我们的内外是有联系的,其实就是解决怎么用内部资源更好的去服务器全公司的这样一个问题。针对其他部门的各种需求,我们可以定制流程,然后找人开发系统、运维平台、运维工具来让这些流程流转起来,做到让需求方可以自行利用系统、平台解决问题。

对于流程,一定要高效,避免哪些冗长的步骤,不然不会提升效率,反而还会让大家厌烦;而对于运维平台和运维工具,应该有简洁、易用的特点,让运营、开发同事一看到这个系统,就能明白他应该怎么操作。

运维的未来

对于运维的未来,我觉得有以下几个方向可以考虑:

  1. AIops
  2. Devops
  3. 多云管理
  4. 云原生
  5. SRE

简单来说说这几个方向:

AIops:指智能运维,利用大数据+机器学习
Devops:敏捷开发
多云管理:多云平台管理
云原生:云原生架构
SRE:Google SRE
个人比较看好的方向是云原生方向,我觉得它是集大成者。

云原生技术是利用各组织在公有云、私有云、混合云等新型动态环境中构建和运行可弹性扩展的应用。云原生有如下代表技术:

  • 容器
  • 微服务
  • 服务网格
  • 不可变基础设施
  • 申明式API

这些技术可以构建除容错性好、易于管理、便于观察的松耦合系统。结合可靠的自动化手段,云原生技术可以让开发、运维能够轻松的对系统作出频繁和可预测的变更。

这些是理想化的状态,要做到也没有那么容易,但肯定是可以做到的。

开发的变更要快速部署,服务器资源要快速到位,程序需要快速启动,其实这儿和自动化有些相似;除了这些,周边的监控,日志,CICD也需要一起快速到位,这儿又有些像Devops。

目前最快获取服务器资源的方式是云,快速部署则是利用Kubernetes,而且借助Kuberbetes的先进思想,业务可以自己做Operator开发,最终达成一个理想状态。

So,云原生是一个集大成者!

总结

运维其实是一个门槛很低的岗位,下线无限低,上线无限高!我们利用系统将内外联系起来,做到承外启内,运维中台!最终达到一个理想的云原生状态!