DevOps 需要学习什么基础知识,需要掌握哪些技能?
Posted twt企业IT社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevOps 需要学习什么基础知识,需要掌握哪些技能?相关的知识,希望对你有一定的参考价值。
来自社区问答,供参考
@eximbank 系统架构师:
1、首先必需具备coding能力,诸如Pythong, Go或C/C++等;
2、必需能动操作系统/Linux+Windows的基本,进程管理,网络管理,存储管理,虚拟化+Docker等;
3、知道一些管理服务器的开源组件和系统命令等,包括DNS,OSI网络和安全,监控,日志,性能方面等;
4、懂企业架构,诸如WebServer,数据库等
5、最关键得理解Infrastructure,自动化工具引擎、管理虚拟化的工具平台、Docker管理平台及其相关架构、Orchestrate 工具和常用一些云的使用技巧,当然包括Infrastructure的运营和运维操作能力,什么监控(也要懂应用监控等)工具等等。
有这些5个方面的实力,估计就差不多了~~~其他就是不停的 practice
@bryan 软件架构设计师 :
首先看一下这个词 ,devops=development(开发)+ operation(运维)。从中是否可以看到需要学习哪方面的知识了呢?
随着技术的发展和专业化的不断发展,很多传统部门于是有了研发部门和运维部门。职责不同,理念就会不同。
1)对于研发部门,考核指标一般是如何快速响应业务需求。希望用一些新的技术来解放生产力,可以更好的提升研发效率,因此会更容易引入一些新框架和新工具。任何技能的上手都需要一个逐渐学习的过程,有一定的学习成本。总而言之,“求变”;
2)对于运维部门,考核指标一般是如何保持业务系统的稳定性。任何系统一般是运行很久之后才会进行稳定期。对于2个系统,一个是很古老的技术,已经运行十年了;一个是很先进的技术,每两周就更新一次。那么哪个系统最容易出现运维问题呢?显然是后者,变化越多,概率越高。为了不出事情,怎么办呢?那就不变更了呗。不变就不会出问题。总而言之,“求稳”。
一个“求变”,一个"求稳",于是就产生了矛盾,产生了互相指责。怎么解决这个事情呢?如果一个团队包含研发人员和运维人员,那么就会好多了。因为二者的职责也都融合到一起了。所以,我个人感觉devops是一种理念。那么这种理念怎么落地呢?个人认为,需要真正落地,首先从高管层意识到devops真正是什么,然后从企业组织架构层面进行调整。
回到lz的问题。devops需要什么技术呢?那么不难回答了。如果你是运维人员,那就多了解一些项目研发过程和研发技术,如果你是研发人员,那就多了解一些基础环境的运维,如操作系统、中间件等。
对开发需要了解到什么程度呢?从项目生命周期看,全程参与和跟踪过一个项目研发;从技术层面看,项目研发语言、代码管理git、自动化构建maven/gradle等,整个知识谱图是一个不断扩充的过程。我难以给出一个清晰的清单。可以推荐一些书供参考,《凤凰项目:一个IT运维的传奇故事》和《Effective DevOps》(中文本已出版)。
@he7yong 研发工程师 Canway:
DevOps,这个词在中国的IT圈中是被用滥了的词,有公司关注在CI/CD和持续交付,有公司关注在运维开发,也有公司提出来DevSecOps关注在安全。
因此,你看看根据自己公司的要求,很多公司关注在应用代码的快速上线,这种情况你可能更多的需要关注在持续交付流水线的构建,以及应用在多个环境中的自动化的部署。
以上内容仅供参考,欢迎点击阅读原文,分享您的观点
以上是关于DevOps 需要学习什么基础知识,需要掌握哪些技能?的主要内容,如果未能解决你的问题,请参考以下文章