好久没有写文章了,好多的时候不知道该写些什么,在自媒体这么火的时间下,不管是产品,开发,测试,运营都有着不错的抖音号、快手号、B站号什么的。但是运维的资料很少很少很少。和多位大佬沟通,也总结和整理了一些内容,在此希望给入行不久的或者入行有几年但是很迷茫的朋友一些帮助。
很多年前,运维基本都是从机房运维、监控运维、桌面运维、电脑城、网吧等方向,通过爱好也好,工作需要也好,逐步的开始接触服务器。他们都有不错的计算机基础,硬件,分区,raid,装系统和重新装系统等等很多的基础知识。那个时候对于整个行业来说,大部分都是朋友介绍或者是同行介绍,行业门槛很高。
1、基础都算不错。
2、兴趣或者是解决问题为导向。
3、学习路径很少,没有爱好或者好奇心,大部分没法在行业待下去。就算待下去薪资也不会高。
那个时候,大家基本都是多面手,只有专业技能的情况下,没有那么多的探讨或者商量,大家都是明白人,几句话就完事。
大概是从12-15年:虚拟化,云,高可用,监控等等各种的东西出现了,就运维层面来说,说难听点“基础的工作都被云搞完了”,对于基础的运维入行路径突然就没有了,并且也要求开发“熟练操作Linux”。也是在那个时候,很多的运维都开始参与非常多的,所谓的《百万并发架构》等相关的培训。那时候,投资人也多项目也多。
1、大部分都是软件的各种配置和使用,细节完全不知道,背书全ok。
2、不会去考虑硬件的合理不合理,因为老师说了“按着我这个配置没错”,但是4G和8G的机器,配置能一样么?
3、分工越来越细,监控运维,可能只关注机器硬件指标,负载,报警等相关的内容,但是不会去考虑业务上的东西。
4、大批人员(各种工种,开发,测试,运维等)涌入互联网行业,不管是投资人还是应届毕业生,很多的外行,也大概是从这时候开始逐步的学习相关内容,只是为了高薪而已。背书好的,会说话的,会比技术好的薪资更高。
大概是15-18年:很多的传统行业想要来互联网分一杯羹,很多的概念,领域,资源,“人才”,也都涌入了互联网,这个“人才”指的是跨行业的,之前我是个财务,之前我是个hr,之后来到互联网,要做另一个财务或者hr。之后,各个工种的技术选型也变得更多,科技投资人变少,传统投资人变多,越来越多的外行领导内行也越来越多。并且很多工种的大佬也出了很多书,先说,书本身都很好,比如《人人都能做XXX》,《XXX天开发个XXX平台》,《百万并发架构》但是基本没见到过跨工种的书籍(稍后我举例子),也导致了一些人,只看了某一块,就觉得是行业精英了。网上的很多的梗,也都有可能是真的,比如变色手机壳,单纯说产品,想法没问题,但是真的去做就不是那么回事了。
1、瞎指挥的越来越多
2、有钱的不懂技术的越来越多
3、面向老板写代码
4、面向老板出需求
5、产品变成了老板需求的翻译官,老板说完,出了prd丢给开发。开发也照单全收。
最近几年:技术越分越细,学习的面也越来越窄。沟通成本越来越高,之前就很难和产品说清楚XXX这么设计,技术很难实现,现在就更难了,产品只出点子。开发的水平也越来越低,产品只要说出来了,他能实现,不管有用没用都能做,合理不合理也都能做,并且越来越严重。运维层面也是,出了问题,很难去排错,架构设计越来越复杂,恨不得三五万pv也用微服务。
下面呢,来点干货。
1、产品运营不分家。
2、测试运维不分家。
3、开发也需要了解业务。
4、产品也需要了解技术成本。
正面例子:
1.有个投资人,有个点子出了很多钱。
2.有个产品,深入了解投资人的想法。大概整理出可能需要的各种和数据都需要什么。(了解运营思路,大概了解技术)
3.开发和产品沟通,哪里可能存在技术风险,哪些功能能实现,哪些不能实现,有难点的技术问题,需要的人力成本会如何(懂技术有脑子)。
4.UI/UE和产品沟通,改哪些按钮/布局,用户体验会更好,哪些位置可以埋点,做细微修整。
5.开评审会,开发,测试,产品,UI/UE开会,把讨论的东西以需求文档的形式布置下去。大家同步一致性,要让大家“认知一致”。
6.开发根据实际情况去实现的代码
7.UI/UE根据实际情况出图出布局
8.测试出测试用例和整理流程过程文档,方便回归和测试。
9.开发完成,测试和运维负责测试和观察数据,采集日志,整理日志等内容,通过开发输出的东西,整理完。查看是否符合预期和长期观察。
10.运维上线,观察应用各种状态,负载,并发,代码质量,指标,日志等。
最后
1、运营开始运营产品,发现具体问题,bug的如何提交,产品的如何提交,哪里能提升体验,需要什么新的数据,
2、通过各种监控,辅助全公司来工作(代码质量/测试bug量/测试覆盖时间/故障处理时间/日活/成本等等)。
之后回到对应的位置形成闭环。
反面例子
1.有个投资人,出了个点子
2.碰到个SB产品,问了点东西,不考虑运营和技术,把老板的想法变成一个图。
把图交给开发,实现。不管合理不合理。开发不考虑数据不考虑埋点。
3.测试按着产品文档点一圈,没问题。
4.运维上线,能运行
5.运营按着产品的思路运营项目。
继续干货:技术,在一定程度后,分5大块
1、技术管理(管理为主,技术为辅)
2、技术专家(技术为主,实现难点)
3、CTO(技术部门一把手,人员把控,成本把控,风险把控,技术前进方向等)
4、架构师(管理也懂,技术也懂,管理不如技术管理,技术不如技术专家,但是能把各种东西协调的非常好,了解各种工具的配合)
其实架构师分两种,业务架构(代码实现逻辑,中间选型等),软件架构(高可用,开源软件部署,风险管控等)
5、转行
现在,水货太多,不多说了。
只说技术,也希望想当技术专家的,想当管理的,想当架构师的,想当CTO的,别再迷茫
1、要去抓基础,不要天天飘在天上。高级东西,看的都是基本功。
2、不要只看自己,运维背锅侠不是白叫的,要去了解产品,运营,开发,测试,架构等等的相关知识,当然,可以都不专业,但是要懂。
3、不要只做技术,也要关心人际关系,也要能写PPT,早晚能拍个好马屁。
4、学会说话,如何提问,如何沟通,怎么能把问题描述清楚等。
最后的最后
不要学习微服务框架,学习演进式架构(Evolutionary Architecture)。
不要学习新的编程语言,学习代码整洁之道、设计模式、领域驱动设计(DDD)。
不要学习 LeSS 和规模化敏捷框架(SAFe),学习精益生产原则(Lean manufacturing principles)。
不要学习 Hystrix,学习容错模式(Fault Tolerance Patterns)。
不要学习 Docker,学成持续交付。
不要学习 Angular、React 和 Vue,学习 Web、HTTP 和 REST。
想说的很多,但是又很难说全。就写到这吧。
- 本文固定链接: http://www.sa-log.com/457.html
- 转载请注明: 王, 帅 于 我的系统记录 发表