摘要:有以上基础知识,运维才能迈出第一步,不过也有大公司会专门做某一部分,例如应用运维不需要关注测试和安全等方面,但建议都学学,触类旁通有好处。 |
一.需要必备的基础知识
计算机基础知识(了解计算机哪几个部分组成,如果装系统,上下架等等)
网络基础知识(不用太深入,知道协议有哪些,什么意思,路由器交换机工作原理)
安全基础知识(知道什么叫ddos,知道基本防御方法)
测试基础知识(知道性能测试和web测试用什么工具,不然你优化完怎么证明他是优化好的?)
开发基础知识(基本的构建,打包知道什么意思,异步非阻塞之类的)
linux基础知识(这部分就是对linux的了解了,linux启动顺序,命令等待)
有以上基础知识,运维才能迈出第一步,不过也有大公司会专门做某一部分,例如应用运维不需要关注测试和安全等方面,但建议都学学,触类旁通有好处。
有这些基础,进到公司基本可以完成基础工作了。比如创建个虚拟机,添加账号,搭建个服务等等。照着百度做基本优化,遇到问题有思路去排错。
二.后期可以选择的方向
在这个道路上有无数岔路。开发、安全、DBA、测试、应用运维、基础运维等等。
只有选定方向才能不迷路,也才能更快的到达目的地。到了这时,就已经迈步向中级运维了。需要选择一个反向去努力,不然运维的东西太杂,很难往后发展。
如果想做运维开发,让服务自动故障切换、扩容、发布,就要在搞好服务的基础上去学一门语言,现在用的最多的是python和go。
如果想做DBA,要搞好数据库,例如mysql,需要搞清楚基本操作,主键和索引区别,索引是如何加快查询的,mysql的不同引擎有何区别,如何选择。mysql的工作原理,查询原理,存储原理,优化和备份。
还有架构,mysql选用主从,故障如何自动切换,根据什么来分库分表,纵向还是横向,这些需要看大量资料和书籍用几个月甚至几年才能学习清楚。
如果想做好应用运维,就要根据当前公司的需求,像mysql一样搞好那些服务,并考虑结构和高可用方案等等。
不过当前都在往运维开发方向靠拢,未来的运维都要会一些开发才行。以前是shell,当今是python,需要的技术越来越深入,紧跟潮流才不会被落下。
三.技术没有终点
技术是没有终点的,当然可以有你自己的终点。当工作10年,技术已经很厉害了,就需要靠拢一些别的东西了。 可以根据你掌握的技术,去搞博客,出售一些视频,写付费文章或者付费问答。甚至可以看准机会后,去做产品的。像宝塔面板,各种云服务,cdn,都是一大批运维或者开发区转型做的产品。
责任编辑:张华