我正在寻找有关如何成为一名专门的DevOps工程师的技能的建议。

我一直想从事与开发相关的项目,因为我喜欢编码,但不幸的是我没有机会。我以前曾使用.Net和PHP从事自由项目,并获得Java SE认证,但从未使用过。

我的工作经验是将系统和应用程序管理结合在一起。通常,我现在是该领域的大四学生,因此不建议改用开发,因为我必须从大三开始。但是,我认为DevOps对我来说是完美的选择,但我需要知道需要学习什么才能填补我在知识方面的空白,以便成为一名优秀的DevOps工程师(最好是编写自动化和工具的部分)。

请推荐我应该学习的知识,例如,我听说Python和Perl和Ruby对于DevOps非常有用,但是我还应该从什么开始,以及我首先需要掌握的必备技能是什么?

我当前的技能:

Sys。 Admin


Unix(HP-UX,Solaris)和Linux(Ubuntu,Red hat,CentOS)管理
中间件技术管理
(WebLogic, Apache-Tomcat,WebSphere,MQ)
Bash / Shell脚本编制
Web服务器配置和管理
对通用数据库系统(SQL Server,Oracle,MySQL等)有很好的了解
Web服务和集成SOAP / REST / API
Oracle商业智能套件(OBIEE,DAC,
Informatica)
ITSM补救措施开发和管理。
SAP业务对象(分析)。
Splunk
服务中心–支持ITIL的IT服务
管理
对Web应用程序技术有深入的了解。

Developer


Microsoft Visual Basic的专家开发技能。
Java SE中的优秀开发技能。
Microsoft .Net开发
MS SharePoint开发。
精通MS Office的专家,在所有MS Office
应用程序中具有
宏和自动化方面的专业知识。
中级PHP开发(CakePHP)


#1 楼

查找DevOps工程师角色,并查看他们正在寻找的技术列表。通常,您将需要自动化脚本技能(如Bash,Python或PowerShell),配置管理技能(如Chef,Puppet或Ansible)以及一些维护和配置Build / Release管道的基本经验。为此,希望获得使用CI / CD工具(如AppVeyor(.NET),Jenkins,Travis CI等)的经验。您还应该熟悉一般的Git和源代码控制系统,例如BitBucket或TFS。您还可以从熟悉自动化测试技术中受益。

如果您还没有,请考虑在Github中托管一些开源产品,并为它们建立一个对提交也执行自动化测试的管道。 (如果可能)发布到软件包管理系统。这是一次很好的经验,同时也展示了您的技能。

要对DevOps的哲学有更一般的了解(请注意,DevOps是一种文化和技术组合),请尽可能多地阅读。讨论该主题,并开始关注(例如通过Twitter)Gene Kim,Jez Humble和Patrick Debois之类的人。另外,我建议您阅读他们编写的《 DevOps手册》。这是关于什么是DevOps以及组织如何采用它的非常透彻的解释。当然,机会将取决于您在世界上的位置。

评论


很好..根据我从开发DevOps以及与系统管理员合作的经验来看,他们通常缺乏以版本控制(Git)形式,基本的脚本编写技能(bash或Python)以及构造管道的形式最受欢迎的技能。使用类似于Jenkins Pipeline DSL的东西。除了了解主要的CM工具之一(木偶,厨师,ansible,盐)之外,我还建议您使用terraform。

–TechDawg270
18年1月24日在18:37

#2 楼

列出似乎流行的DevOps工具,下载并按照手册进行操作。


Vagrant
Ansible
Kubernetes / OpenShift

这将使您从接近“操作”一侧的工具开始良好的运行,并且-如果您还设法了解使用这些工具的原因和目的-将使您是大多数团队中值得的成员。您可以随时随地拾取更多Dev面的片段和片段(即CI / CD管道等)。