DevOps 需要学习什么基础知识,需要掌握哪些技能?

Posted twt企业IT社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevOps 需要学习什么基础知识,需要掌握哪些技能?相关的知识,希望对你有一定的参考价值。

来自社区问答,供参考

DevOps都需要学习什么基础知识,都需要掌握哪些技能?

请问各位前辈,devops都需要学习什么基础知识,都需要掌握哪些技能,需要对开发了解到什么程度? (@dw289042702 系统运维工程师 tskj)


@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 需要学习什么基础知识,需要掌握哪些技能?的主要内容,如果未能解决你的问题,请参考以下文章

数据挖掘需要哪些技能

WEB前端开发培训需要掌握哪些技能

想做Python Web 开发,需要掌握哪些技能

高级运维需要掌握哪些技术?

高级运维需要掌握哪些技术?

初学web开发需要掌握哪些知识