• 原文地址:How To Become a DevOps Engineer In Six Months or Less
  • 原文作者:Igor Kantor
  • 译文出自:掘金翻译计划
  • 本文永久链接:github.com/xitu/gold-m…
  • 译者:临书
  • 校对者:jianboy

如何在六个月或更短的时间内成为 DevOps 工程师,第一部分 :基础

『空旷的高速公路横穿多彩的沙漠』— 由 Johannes Plenio 发布在 Unsplash。

注:这是系列文章的第一部分。

第二部分在这里。

目标受众

你是一名希望将职业生涯转向更契合 DevOps 模式的开发人员吗?

你是一位经验丰富的运维人员吗,你想要了解整个 DevOps 生态吗?

或者你都不是,你只是寻求职业生涯的改变却不知道从哪里开始?如果是这样,请往下阅读!

最后,如果你已经有了多年的 DevOps 经验,你也可能从文章中获取有用的信息,比如验证自己的位置和发展方向。

DevOps 是什么?

首先,什么是 DevOps?

你可以谷歌一下它的定义,不过大多数都是一些冗长的包含很多空话的连续字段。(看下面我做了什么?)

那么,我帮你搜索好了并将它的定义摘录下来:

DevOps 是一种痛苦与职责交织的软件交付方式。

就这样。

好吧,所以到底是什么意思?

在传统意义上,开发人员(开发软件的人)的与运维人员(维护软件的人)的职责不大相同。

例如,作为一名开发人员,我要尽可能快的开发更多的新功能。毕竟这是我的工作,也是客户的需求!

然而,如果我是一名运维人员,我可能不希望有太多的新特性,因为每个新特性都意味着一次变更,而每次变更都是有风险的。

由于这种两种激励机制的冲突,DevOps 诞生了。

DevOps 试图将开发人员(Dev)和运维人员(Ops)融合到一个组中。我们的想法是:这样可以在同组内消化面向用户软件的研发、部署和完成绩效等所有痛苦和职责(可能还有奖励)。

此时,纯粹主义者会告诉你:『没有「DevOps 工程师」这个东西,DevOps 是一种文化,而非角色』。

是的,它在理论上是正确的(最糟糕的那种正确!),但是正如经常发生的那样,这已经超越了它本来的含义。

现在,成为 DevOps 工程师就像成为『系统工程师 2.0』。

换句话来说,DevOps 工程师就是一种既了解软件生命周期,也可以开发出面向开发者的工具,还能推进解决经典运维难题的人。

DevOps 最终意味着构建数字化管道,从开发人员的笔记本电脑上的代码,到生产环境部署直至产生收益,这令人敬畏!

这就是它的一切!

另请注意,作为一种职业选择,整个 DevOps 行业有很高的报酬,几乎每个公司都会有 DevOps 职位,或者声称将会有。

无论哪儿的公司,DevOps 的工作机会都非常多,会在未来几年内提供有趣、有意义的工作机会。

注意:警惕聘用『DevOps 团队』或者『DevOps 部门』的公司。严格的来说,这种情况是不会发生的,因为 DevOps 最终是关于文化和软件交付方式的,并不是要配备新的团队或者部门。

放弃

现在,让我们把 Kool-Aid 的杯子放到一边,考虑以下几点:

你有没有听过这句老话,『不存在初级的 DevOps 工程师吗?』

如果没有,请知晓它是 Reddit 和 StackOverflow 上的一种流行比喻。但是这是什么意思呢?

简而言之,这意味着它需要多年的经验,并结合对工具的扎实理解,才能最终成为真正的高级 DevOps 从业者。然而遗憾的是,经验的获取没有捷径。

所以,不要尝试在这个行业行骗,我认为只有几个月的经验是不可能假装成高级 DevOps 工程师的。对快速迭代的工具和方法,需要数年才能深刻理解,而且没有捷径。

然而,大多数公司一般都会使用一些主流的(最新的,如果你愿意)工具和概念,这就是本文的全部主题!

同样,因为工具和技能不同,在学习工具时,请确保不要忽视自己的技能(面试、网络、书面沟通和故障排除等)

最重要的是,不要忘记我们追求的目标 — 构建一个全自动的数字管道,将想法转化为可以创造收入的代码。

这是整篇文章中唯一重要的内容!

说的够多了,我们应该如何开始做?

以下是你的路线图。

掌握以下内容,你可以安心的称自己为 DevOps 工程师!或者云工程师 — 如果你讨厌『DevOps』这个称呼。

下面的图代表我(也可能是这个领域工作的大多数人)的想法,是关于一个 DevOps 工程师应该了解什么。也就是说,这只是一种建议,肯定会有不同的声音,这并没有什么问题,我们不追求完美,我们是在建立坚实的基础。

注意:你应该使用广度优先的方式浏览,先从基础开始(并坚持下去!)。首先学习蓝色标记的技术(Linux | Python | AWS),然后如果时间允许或者就业市场有需求,继续学习紫色标记的技术(Golang | Google Cloud)。

译者注:AWS 和 Google Cloud 技能可以理解为国内的腾讯云、阿里云。

DevOps 基础知识

还有,如果时间允许,在掌握第一层基础之后,请继续学习它的下一层,以增加你的专业知识深度。

一旦你弄懂了基础层面的东西,可以开始转去解决实际问题了:

现实世界的技能

注意:上面的技能管道缺少了测试 — 编写测试用例,这是故意的 - 编写集成和验收测试用例并不容易,这通常是开发人员承担的工作。故意遗漏『测试』阶段是因为该学习路线图的目标是快速获取新技能与工具。笔者认为缺乏测试专业知识只是成为 DevOps 的一个微不足道的障碍。

还有,请记住,我们不是在这里学习一堆无关的技术吐槽。我们需要对完整的工具链有深刻的理解,要将这些工具结合在一起,讲述一个连贯的故事。

这个故事是端到端的流程自动化 — 一种可以像装配流水线一样改动的数字管道。

而且,你一定也不想学一堆工具然后止步不前,工具更新换代很快,概念则不是。因此,你要做的是使用工具作为代表去学习更高级别的概念,而不是学习工具的使用。

好的,让我们再深挖一点!

基础知识

在标有『基础』知识的基线下,你将看到每个 DevOps 工程师必须掌握的技能。

在这里,你将看到行业中主导的三大支柱:操作系统,编程语言,公有云。这些不是你很快能学会的东西,在列表中查看,然后继续前进。为了保持对技能的熟悉和不过时,你必须持续的学习并对其保持敏锐。

让我们一个接一个看看。

Linux:可以运行一切的系统。现如今,你能成为一名完全生存于 Microsoft 生态中的出色 DevOps 从业者吗?当然可以!没有规定要求 Linux 包含所有生态。

然而!请注意,虽然所有的 DevOps-y 事情确实可以用 Windows 来完成,但这个过程更加痛苦,而且工作机会要少的多。现在,你可以放心的认为在不了解 Linux 的情况下无法成为真正的 DevOps 专业人员。因此,Linux 是你必须学习和不断学习的东西。

诚然,最好的方法是在家里的电脑安装 Linux(Fedora 或者 Ubuntu)并尽可能多的使用它。你会解决一些问题,或者你会陷入困境,然后你将不得不解决所有问题,在这个过程中,你将学会 Linux!

作为参考,在北美,Red Hat(红帽)的变种更为普遍,因此,从 Fedora 或 CentOS 开始学习是有道理的。如果你在犹豫使用 KDE 或 Gnome 哪种桌面环境,请使用 KDE。Linux Torvalds(译者注:linux 之父)在使用。:)

Python:如今最主流的后端语言。易上手,使用广泛。红利:Python 在 AI/机器学习领域的使用非常广泛,所以如果你想要转战其它热门领域,路已经铺好了。

亚马逊网络服务:再强调一次,没有充分了解公有云的运作方式,不可能成为一名经验丰富的 DevOps 专业人士。如果你想了解云知识,亚马逊网络服务是这一领域的主导者,它提供了最丰富的工具集。

是否可以从 Google Cloud 或 Azure 开始?当然可以!但是我们追求的是利益最大化,所以 AWS 是成功概率最大的,至少在 2018 年。

在 AWS 注册账户可以获得一些免费的套餐优惠,所以这是一个很好的起点。

现在,当你登录 AWS 控制台时,你会看到一个简单易懂的选项菜单。

『发现另一个我从未知晓的 AWS 功能』,由 Tom Pumford 发布在 Unsplash。

那是一句讽刺。好消息是,你不需要了解每一个亚马逊技术。

从下面几个开始:VPC,EC2,IAM,S3,CloudWatch,ELB(在 EC2 的保护伞之下)还有安全组。这些东西可以帮助你入门,每个现代的,支持云的企业都会大量使用这些工具。

AWS 自己的培训网站是一个很好的起点。

我建议你每天流出 20-30 分钟来练习 Python,Liunx 还有 AWS。

注意:这将是必须要学习的附加内容。总而言之,我估计每天花费一个小时,每周五次就足以让你在 6 个月或者更短的时间内充分了解 DevOps 行业的情况。

这就是基础层!

在随后的文章中,我们将讨论下一级的复杂的东西:如何完全以自动化的方式配置,管理版本、管理包、部署、运行和监控软件!

如果发现译文存在错误或其他需要改进的地方,欢迎到 掘金翻译计划 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 本文永久链接 即为本文在 GitHub 上的 MarkDown 链接。


掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖 Android、iOS、前端、后端、区块链、产品、设计、人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划、官方微博、知乎专栏。

[译] 如何在六个月或更短的时间内成为 DevOps 工程师,第一部分 :基础相关推荐

  1. 如何在六个月或更短的时间内成为DevOps工程师(一)

    [编者的话]本系列文章适用于想向DevOps模型转型的开发人员,或者是受过传统培训,想要了解整个关于DevOps的内容的运维人员,如果不属于以上两者,只是想在职业上寻找变化却不知从何开始的话,也请继续 ...

  2. 如何在六个月或更短的时间内成为DevOps工程师(三):版本控制

    简而言之,这一系列文章讲述了这么一个故事,那就是指导我们尽快地学习如何将想法转化为收入,这就是现代DevOps运动的精髓. 具体来说,在第1部分中,我们讨论了DevOps的文化和目标. 在第2部分中, ...

  3. 如何在六个月或更短的时间内成为DevOps工程师(二):配置

    这是该系列的第二篇,点击此处阅读第一篇. 在第一篇中,我认为DevOps工程的工作是构建全自动的数字流水线,将代码从开发人员的手里上线到生产. 现在,要有效地完成这项工作需要对基本原理有充分的了解,如 ...

  4. 草图大师自带模型库在哪里_大师在20分钟或更短的时间内创建您的第一个神经网络模型...

    草图大师自带模型库在哪里 It's time for you to open or download your IDLE Python CodeRunner right now. You've bee ...

  5. 比特币现金支持者为网络的未来六个月做准备

    比特币现金支持者为网络的未来六个月做准备,比特币现金(BCH)网络成立已有六个月,分散化的货币基础设施不断增长.在过去的一周里,围绕生物安全信息交换所及其生态系统出现了许多新消息. 比特币现金网六个月 ...

  6. 六个月学php,修学六个月心得体会

    修学六个月心得体会(转发分享) 各位书友们大家好!首先祝贺各位书友即将进入三级修学.我叫***,是去年11月进班学习的,至今已有半年多了.当初我是偶然的机会听一位朋友说,他去参加一个读书会,在读书会上 ...

  7. python 比赛成绩预测_大数据新研究:用六个月的跑步记录准确预测马拉松完赛成绩...

    随着疫情得到控制,各个城市的马拉松比赛又开始相继恢复.从线上马拉松终于可以再次到各个城市不同的赛道上奔跑,无疑是跑者的福音.积压了大半年的情绪,也激发了跑者更高的训练热情,带来了更多跑量的累积. 而准 ...

  8. Oracle 加快 Java 迭代速度,功能性版本只维护六个月

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 本文经授权转自开源中国 2018 年,Java 将发生重要改变.正如之前所报道的,它正在转向 ...

  9. 【GPT-4】立即停止训练比 GPT-4 更强的模型,至少六个月!马斯克、图灵奖得主等数千 AI 专家紧急呼吁

    毋庸置疑,ChatGPT.GPT-4 引领了 AI 新时代的到来,但这种让很多环节都可以实现自动化流程的工具也让人颇为恐慌. 据路透社报道,包括图灵奖得主 Yoshua Bengio.伯克利计算机科学 ...

最新文章

  1. 批量插入以及数据存在重复就进行更新操作
  2. (python)查看糗事百科文字 点赞 作者 等级 评论
  3. 解决 pycharm can not save setting
  4. 同一机器部署多个JVM
  5. 如何配置Mybatis?(详解)
  6. mdstyle暂存备用
  7. C++程序设计(二:机器模拟)
  8. CSRF与XSS攻击的原理与防范
  9. 随机森林模型解释_随机森林解释
  10. Brownie Slicing
  11. IP抓包精准定位教程
  12. leaflet 设置地图上某个标注位于页面最上层
  13. 你还记得当年高考时的样子吗?
  14. unity 3d 原创制作射击游戏(一)
  15. windows server 2012r2 standar 安装 vc++2015失败
  16. 印度人才出口:一半美国科技企业CEO是印度裔 | 数据分析中印青年
  17. 延迟渲染(Deferred Rendering)
  18. lionkid2的qqshow中的XML 文档
  19. 浏览器调试工具网页性能分析中的使用
  20. C语言程序的运行与调试过程

热门文章

  1. javaScript基础面试题 -- 延迟加载JS有哪些方式?
  2. 史蒂夫•乔布斯在斯坦福大学的演讲
  3. 龙芯平台各操作系统的软件中心、软件源或仓库的下载地址
  4. 绕过云盾找真实IP-找真实IP-绕过CDN
  5. 安卓手机修改微信定位为中国大陆
  6. hp laserjet 1020驱动 for windows
  7. Chapter1:自动控制的一般概念
  8. 平流式沉淀池计算例题_(完整版)平流沉淀池设计计算.doc
  9. 网络经济与企业管理【七】之企业财务管理
  10. 【三维目标检测】CenterPoint(一)