题主好,作为一个研发协同平台(devops)的工程师,希望能就给你一些有效的建议!
运维其实正处于转型的时代,所以建议不要朝着纯运维的方法努力。
传统软件工程里开发,测试,运维一直是独立的模块。在传统模式下,三者分工明确,各司其职。看似有理,实则根本不适应现在软件高速迭代的节奏。
为什么现在提倡devops,在敏捷开发模式下,开发,测试,运维的界限是模糊的。开发同学需要拥有自测和自运维的能力。持续集成,持续交付(CI/CD)是一种良好的解决方案。
我们先看一下传统的开发模式:
技术部分为开发部,测试部,运维部。开发部进行紧张的开发工作时,测试和运维部门非常轻松。等开发部的同学写好代码提交到测试部,测试同学才开始忙碌起来,并且由于版本变更通常较大,会在测试过程中出现各种各样的问题,好不容易折腾完了,交给运维同学。运维同学紧张的忙碌发布相关的事情,如果有问题再来找开发同学反馈……
看出来传统模式的问题了吗?
- 效率低下,没办法同时调动三个部门的力量
- 交付周期长,过程中发现意外的可能性大
如果我们能做到每天,甚至每次代码提交都能产生一次交付,都能自动进行验证。我们的软件工程就能像流水线一样开展,这就是持续集成,持续交付(CICD)的思想,可以参考下图:
有很多devops相关的工具和平台,列举一些供题主参考。
- Docker. 这年头不知道docker只能说你out了,build once, run everywhere. 它可以很好的打通开发,测试,运维的环境差异。同时,利用良好的容器编排软件,可以搭建持续集成的框架。
- jenkins, 非常好用的开源平台,搭建属于自己的流水线
- 阿里云效(rdc),一整套研发协同的解决方案,包括了源码托管,项目管理,持续集成,用户反馈等方面,非常适合企业用户。
所以,学习linux是必要的。但是不要再为了纯运维而学,运维的将来并不是纯人工运维,而是提供运维平台运维服务,把自己转变为解决方案的输出者
运维没有前景,我建议题主不要转。
我的建议:不要放弃开发,需要放弃的是PHP,去选择更有前途的技术以及编程语言。技术方向要选人工智能、大数据、区块链等,编程语言要选Python、Javascript。
为什么不要放弃开发?
1、要做技术门槛更高的工作
很明显,对于一个技术人员,其打怪升级的路径很明确:开发,架构,CTO。
也很明显,运维的技术含量要低于开发。
2、DevOps的推广
现在,很多公司的运维模式更多地转向DevOps,也就是开发和运维成为一体,你以后自然会接触到更多的运维工作。
你喜欢Linux也挺好。在以后的开发工作中,会有很多机会深入学习研究Linux,用好Linux对开发也有很大帮助。
3、运维变得越来越自动化,运维的市场在变窄
很多公司更多地用容器技术,用Docker和Kubernetes,自己不再建机房,更多地用云服务。
软件的构建、部署、维护等运维工作变得傻瓜化,这些都在降低Linux技术人员的价值。
为什么要放弃PHP,学新技术,学新语言比如Python或Javascript(Nodejs)
先看下最具权威性的TIOBE编程排行,PHP的排名比2018年提高了一位,排名第8,看起来不错。
但是,从更长期的趋势来看,PHP语言表现颇为颓势。
目前PHP的主要领域在于做网站,其辉煌已是过去式,现在我们的人工智能、大数据和区块链这些新技术,没有PHP的用武之地。Python在人工智能和大数据中应用广泛,而在API或Web应用场景,公司越来越多地用JS(Nodejs)来开发后台API、小程序和H5页面。
原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/11068.html