恰恰相反,运维需要全方位了解开发部署和调试等技能,而且,做运维还是一条很好的程序员升级途径。
先来看看运维平时的工作及需要掌握的技能。
1 监控日志,而日志一般是部署在linux上的。如果出错,需要告知开发来解决,如果比较上心的运维,出了问题,更会通过linux命令来分析日志排查问题。
2 部署上线组件,比如要扩容,或者部署redis,nacos等组件,或者需要部署云端组件。在这过程中,运维多少会了解各种linux命令,而且了解各种组件的配置方式以及安装方式。
3 部署监控,比如用newrelic监控,或者zabbix等监控软件来监控,并设置告警策略。
4 应对线上问题或高并发的挑战,这过程中,不仅需要了解各种集群,更有机会熟悉各种网关和负载均衡等的硬件。如果数据库或服务器有问题,更得通过日志或监控组件,分析和排查问题。
而一般开发大多做的是单机版的增删改查,哪怕要学一些部署运维的经验,可能还真没机会。当下,一些大厂在招人时,除了会spring boot等框架的增删改查经验外,更得会分布式高并发的经验。开发语法好学,部署等经验难学,排查分布式高并发等线上经验更难学。
所以运维只要稍微了解下Spring Boot等方面的语法,甚至就能直接升级到架构。当然,如果运维对自己定位不当,或者公司对运维的使用不当,导致运维平时只干些装电脑装软件等工作,这就另当别论了。
我之前在一家公司,除了做日常开发外,我和一些运维也比较熟,平时也耳渲目染了一些部署和调试方面的技能,虽然没有得到实际的操作机会,但自己感觉已经比单纯做开发的程序员要好很多,不仅掌握了不少linux部署组件和排查问题的相关技能,更熟悉了一些分布式组件和集群的搭建和运维经验。后来我跳槽,这些经验也帮了我很多。
所以说,对不少只做开发的程序员来说,如果平时接触不到高并发分布式组件的经验,就可以多和运维打交道,甚至多在运维组实践相关技能,这样提升起来一定很快。
这是我的公众号,其中包含了大量面试文章,同时我自己出了多本Python和Java方面的书籍,会定期在公众号里发书的电子版。请大家关注下我的公众号,谢谢了。