目前,大多数中小企业的运维在做什么?配置服务,协调上线,服务监控,数据备份,还有免不了的做苦力扛机器??
如果有一天,这一切都不再需要人来做,你该怎么办?
运维领域的变化
随着云计算的落地,这一趋势正变的越来越明显。最近,一个做运维的朋友跟我聊天的时候发感慨,说感觉现在整个业界的热点都在开发领域,忽然觉得运维领域没什么可发展的。再之前,我在车库开源小组跟白清洁聊天的时候,他们也不约而同的感慨运维领域正在发生的一些变化。
“以前,你要去买服务器,找IDC找机房,架个系统,然后就做各种事情保证业务不down掉。可是以后呢,”白清洁指着盛大云计算的首页说道,“云主机,云存储,数据库云,这些什么都搞定了。”
目前国内公共云在计算资源出租这个方向,盛大云是公认做的相对不错的,就是资费偏高阻碍了它的普及,毕竟公共云这个东西对中小企业来说就是为了省钱的。假以时日,盛大如果能够把费用做下来,普及估计也就是个时间问题。
“那照你看来,以后运维这个职业是否会消亡呢?”
“这个我倒觉得不会。运维这个职业肯定会随着整体的发展而产生变化,但我觉得它不会消亡。”白清洁对这点还是相当肯定的。“好比企业决定用云计算,那么他要想了,我用哪家的云服务?单说盛大云,光是存储就有云存储,MongoIC,数据库云,我该怎么选择?这些都需要有企业这边的人来作调查,不可能完全由云服务供应商来帮你决定。”
这些观点倒是和去年OmniTI的Theo跟笔者交流的观点不谋而合。如果你的核心业务就是IT,那就注定你不可能将所有的IT外包,终究还是需要专人来确保你的服务稳定,流畅。毕竟这世界上不可能有哪只军队会将自己的后勤全部外包的!
新一代的运维需要什么
不过总体来说,由于可外包的IT服务还是会增多,整体行业对运维的需求肯定是会萎缩的,同时会要求运维掌握与以往不同的能力。那么,新一代的运维需要会什么?以下是笔者观察到的一些方向。
1、产品研发
这几年在运维界有一个很流行的概念叫做DevOps,其基本理念和开发领域的敏捷运维有些类似。DevOps的关键在于运维一方充分了解开发环境和生产环境的异同,配合开发团队进行快速迭代部署。因为运维的本质是求稳,对于变化天生有抵制心理;而DevOps则要求运维能够勇敢迎上快速的变化。
这些都要求运维对开发流程有深刻的了解,并且在需要的时候,自己也能抡起袖子上阵改进代码。尤其对于快速迭代的互联网企业,部署应用的人必须能够与产品技术团队紧密配合。
像一个开发一样去拥抱变化吧。
2、知识面
我的业务需不需要用NoSQL?Cassandra和MongoDB那个更适合我?云存储、MongoIC、数据库云,各有什么特点?CDN服务选哪家?需不需要使用SSD?缓存需要多少?文件系统选哪个?操作系统选哪个?Web服务器选哪个?各种存储的特点是什么?各种虚拟化系统的特点是什么?业务刚开始跑的时候,如何为未来的横向扩展做好准备?现在用OpenStack可能遇到哪些问题?Hadoop这个东西究竟适不适合我们?MySQL引擎选哪个?搜索引擎选哪个?等等??
身为运维,就是得什么都有所涉猎。尤其是可以选择的项目越来越多的时候,有能力做出分辨与高质量建议的人才有更高的价值,尤其在企业的CTO、项目经理本身比较专精于某一领域、容易忽略这些问题的时候,一个思虑周全的运维将减少很多潜在的技术成本。
现在其实有很多的技术大会和线下沙龙,为技术人们提供交流的平台,这些都是很好的机会。有些人可能会说,整天都是淘宝、百度、新浪这些海量数据、超大架构的网站讲来讲去,我们这些中小网站和传统企业根本用不上。然而换一种思路,这些网站在成长到这个规模的时候遇到什么问题,他们是如何解决的,他们为什么选择这样或那样的技术,他们的实现思路是什么,这些难道不都是宝贵的经验吗?经验的积累和传承,是一个行业成熟过程中必经的步骤。
不要怕跨领域,不要管现在用不用得着,运维就应该是个什么都懂的神仙。
3、底层核心架构
虽然部署、监控、备份之类的活儿越来越不需要人来干,不过毕竟还有一些技术上的工作是机器和人海战术都无法解决的。
去年的Velocity大会上,章文嵩博士这样跟笔者说:“规模特别大的系统,哪怕我性能只是优化了1%,那么对于1万台机器的环境,这就意味着可以节约100台。规模足够大的环境,这种优化值得去很深入的做。”基本上每个大规模的网站背后,都有那么几个对底层核心十分了解的大牛,从系统层甚至硬件层来优化整个系统,或者从网络协议、分布式方面来优化整个系统。他们可能是架构师,可能是科学工程师;无论Title是什么,他们都是这些企业争先恐后去抢夺的人。
所以,如果你在研究底层方面有一手,走这条路自然前途光明。当然,这条路走起来也非常艰辛,你必须沉得住气,耐得住寂寞??
4、业务与数据分析
两年前的TechED大会上,笔者听了一堂SQL Server数据分析与报表制作的课。问问身旁的同学是做啥的,答曰DBA。当时感觉有些惊奇,说DBA还关心怎么给领导汇报数据呢?该DBA表示,做SQL Server这摊事,数据分析那是必要的技能。
之前Theo也表示过类似的看法,建议运维要学习统计学,读懂数据,了解业务需求,考虑成本控制,甚至商业变现方面的问题。企业雇用每一个员工都是为了创造价值,越能够贴近企业的核心价值,才能够成为企业中被重视的人。好比淘宝搞双十一活动,淘宝的核心运维、应用运维团队一定是活动团队当中的核心决策之一。作为最先接触到用户数据的人群,如果能利用这一点而为企业带来更直接的价值,那么运维就不会总被当作浪费钱的替罪羊了。
多跟产品、业务人员、商务经理们聊聊,你也会更清楚自己的价值在哪里。
准备步入云计算时代的运维们,你们想好要往哪个方向发展了吗?如果你有其他的想法,也欢迎分享!