如何在六个月甚至更快的时间内成为一名 DevOps 工程师。 第 1 部分:简介

目标受众

您是一名开发人员,希望将自己的职业生涯转向更先进的 DevOps 模型吗? 您是一名典型的 Ops 工程师并想了解 DevOps 的含义吗? 或者您两者都不是,并且在 IT 行业工作了一段时间后想要转行但不知道从哪里开始?
如果是,请继续阅读,了解如何在六个月内成为中级 DevOps 工程师! 最后,如果您已经参与 DevOps 多年,您仍然可以从本系列文章中获益匪浅,了解集成和自动化行业目前的状况以及未来的发展方向。

如何在六个月甚至更快的时间内成为一名 DevOps 工程师。 第 1 部分:简介

这是什么一回事?

首先,什么是DevOps? 你可以谷歌定义并费力地浏览所有的措辞,但要知道大多数定义只是以流线型形式包装的一堆混乱的单词。 因此,我将为您总结所有这些定义:DevOps 是一种交付软件的方法,其中所有参与者共同分担头痛和责任。 就这样。

好吧,但是这个缩写是什么意思呢? 这意味着传统上,开发人员(创建软件的人)的工作动机与运营人员(管理软件的人)明显不同。 例如,作为一名开发人员,我想尽快创建尽可能多的新功能。 毕竟,这是我的工作,这是客户的要求! 然而,如果我是一名运维人员,那么我需要尽可能少的新功能,因为每一个新功能都是一个变化,而任何变化都充满了问题。 由于这种激励错位,DevOps 诞生了。

DevOps 尝试将开发和运营(集成和自动化)合并为一组。 这个想法是,一个团队现在将分担构建、部署面向客户的软件并从中创收的痛苦和责任(以及可能的回报)。

纯粹主义者会告诉你,不存在“DevOps 工程师”这样的东西。他们会告诉你,“DevOps 是一种文化,而不是一个角色。”当然,从技术角度来看,他们是对的,但是,事实上通常情况下,这个术语已经失控除了它的原始含义之外,DevOps 工程师有点像“系统工程师 2.0”。换句话说,他是了解软件开发生命周期并创建软件开发工具和流程的人解决经典的操作问题。

如何在六个月甚至更快的时间内成为一名 DevOps 工程师。 第 1 部分:简介

DevOps 最终意味着创建数字管道,从开发人员的笔记本电脑中获取代码并将其转化为使用最终产品的收入,这就是它的全部内容。 请注意,选择 DevOps 职业可以获得相当高的经济回报,几乎每家公司要么“从事 DevOps”,要么声称自己是其中之一。 无论这些公司位于何处,DevOps 的总体就业机会都相当高,并且在未来许多年提供“有趣”且有意义的就业机会。

然而,要警惕雇佣“DevOps 团队”或“DevOps 部门”的公司。严格来说,这样的事情不应该存在,因为最终 DevOps 仍然是一种文化和一种交付软件的方式,而不是配备一个新团队或创建一个部门一个奇特的名字。

拒绝承担责任

现在让我们把一杯酷爱饮料放在一边,思考以下问题。 您是否听说过“没有初级 DevOps 工程师”这句古老的格言? 如果没有,那就知道这是 Reddit 和 StackOverflow 上的流行比喻。 但是这是什么意思?

简而言之,这句话的意思是需要多年的经验加上对工具的深入理解,才能最终成为一名真正有效的高级 DevOps 实践者。 不幸的是,实现这一目标没有捷径。 因此,这并不是试图玩弄系统 - 我认为实际上不可能冒充一名拥有几个月行业经验的高级 DevOps 工程师。 要对快速变化的工具和方法有深入的了解,需要多年的经验,这是无法回避的。 然而,大多数公司都使用几乎一致的(时尚的,如果你愿意的话)工具和概念菜单,这就是我们将要讨论的内容。

同样,工具与技能不同,因此在学习工具时,请确保不要忽视您的技能(调查、网络、书面沟通、故障排除等)。 最重要的是,不要忽视我们想要找到的东西——一种创建完全自动化的数字管道的方法,该管道可以吸收想法并将其转化为创收的代码片段。 这是整篇文章中最重要的结论!

废话够多了,我什么时候可以开始?

以下是 DevOps 基础知识路线图。 掌握了其中描述的所有内容后,您可以安全而诚实地称自己为 DevOps 工程师! 如果您不喜欢“DevOps”这个名字,或者是云工程师。

如何在六个月甚至更快的时间内成为一名 DevOps 工程师。 第 1 部分:简介

这张地图代表了我(也可能是这个领域的大多数工作人员)对于一名称职的 DevOps 工程师应该了解的知识的想法。 不过,这只是一种意见,当然也会有不同意的人。 这可以! 我们在这里并不追求完美,我们正在努力为我们的实际建设奠定坚实的基础。

这条路你必须一步一步走下去。 让我们从基础知识开始(并继续!),首先了解蓝色的元素 — Linux、Python 和 AWS。 然后,如果时间或就业市场需求允许,就去做紫色的事情——Golang 和 Google Cloud。

老实说,基础的顶层是你必须永远学习的东西。 Linux 操作系统非常复杂,需要数年时间才能掌握。 Python 需要不断练习才能跟上潮流。 AWS 发展得如此之快,以至于您今天所掌握的知识在一年后将只是您整体知识组合的一部分。 一旦学习了基础知识,就可以继续学习实际的技能。 请注意,共有 6 个蓝色栏(配置、版本、打包、部署、启动、监控),每月学习一栏。

如何在六个月甚至更快的时间内成为一名 DevOps 工程师。 第 1 部分:简介

当然,您注意到我们六个月的流程中缺少一个重要阶段 - 测试。 我故意没有将其包含在路线图中,因为编写模块、集成和验收测试并不容易,并且传统上落在开发人员的肩上。 跳过“测试”阶段的原因是,该路线图的目标是尽快掌握基本技能和工具。 作者认为,缺乏测试经验只是正确使用 DevOps 的一个小障碍。

另外,请记住,我们在这里学习的不是一大堆不相关的技术废话,而是对组合在一起创建清晰故事的工具的理解。 这个故事是关于端到端流程自动化的——一条像装配线一样移动部件的数字装配线。 您不想学习一堆工具却又停下来! DevOps 工具变化很快,但概念变化的频率要低得多。 因此,您应该努力使用工具作为更高层次概念的教学代理。

好吧,让我们再深入一点!

基础知识

在最上面的“Foundation”步骤下面,您可以看到每个 DevOps 工程师都应该掌握的技能。 这些技能有信心处理行业的三大支柱,它们是:操作系统、编程语言和公共云。 这些东西不是你可以快速学习并继续前进的东西。 这些技能需要不断提高和掌握,才能处于行业前沿并与您周围的专业环境相关。 让我们一一分析一下。

Linux 是一切运转的地方。 您能否成为一名出色的 DevOps 实践者,同时完全留在 Microsoft 生态系统中? 你当然可以! 没有法律规定只能使用 Linux。 然而,请记住,尽管所有 Linux 的事情都可以在 Windows 中完成,但在 Windows 中发生的事情要痛苦得多,而且功能也更少。 至此,可以肯定的是,如果不了解 Linux,就不可能成为真正的 DevOps 专业人员,因此 Linux 是你应该研究和学习的东西。

老实说,最好的方法就是在家里安装 Linux(Fedora 或 Ubuntu)并尽可能多地使用它。 当然,你会破坏很多东西,你会陷入工作流程,你必须修复一切,但你会学习Linux!

如何在六个月甚至更快的时间内成为一名 DevOps 工程师。 第 1 部分:简介

顺便说一句,RedHat 变体在北美更为常见,因此从 Fedora 或 CentOS 开始是有意义的。 如果您想知道应该购买 KDE 还是 Gnome 版本,请选择 KDE。 这就是 Linus Torvalds 自己使用的。

Python 是当今占主导地位的后端语言。 它很容易上手并且被广泛使用。 Python在人工智能和机器学习领域非常常见,所以如果你想进入另一个热门领域,你将做好充分的准备。

如何在六个月甚至更快的时间内成为一名 DevOps 工程师。 第 1 部分:简介

Amazon Web Services:同样,如果不充分了解公共云的工作原理,就不可能成为经验丰富的 DevOps 专业人士。 如果您想了解更多信息,请查看 Amazon Web Services。 它是该服务领域的领先者,并提供最丰富的工作工具集。

是否可以从 Google Cloud 或 Azure 开始? 当然可以! 但回想上次金融危机,应该指出的是,AWS 是最安全的选择,至少在 2018 年是这样,因为它允许您免费注册帐户并开始探索云服务的可能性。 此外,AWS控制台还为用户提供了一个简单明了的菜单供用户选择。 好消息是,您不需要了解亚马逊的所有技术即可做到这一点。

如何在六个月甚至更快的时间内成为一名 DevOps 工程师。 第 1 部分:简介

从以下内容开始:VPC、EC2、IAM、S3、CloudWatch、ELB(EC2 旗下的弹性负载均衡)和安全组。 这些东西足以让您入门,每个基于云的现代企业都非常积极地使用这些工具。 AWS 自己的培训网站是一个很好的起点。

我建议你每天花 20-30 分钟学习和练习 Python 语言、Linux 操作系统和 AWS 云服务以及其他你必须学习的东西。 总的来说,我相信每天花一个小时,每周五次就足以在 6 个月或更短的时间内了解 DevOps 行业。 总共有6个主要部分,每个部分对应一个月的训练。 这就是您获得基本知识所需的全部内容。
在后续文章中,我们将探讨下一个复杂程度:如何完全自动化软件的配置、版本控制、打包、部署、运行和监控。

很快就会继续...

一些广告🙂

感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的内容? 通过下订单或推荐给朋友来支持我们, 面向开发人员的云 VPS,4.99 美元起, 我们为您发明的入门级服务器的独特模拟: VPS (KVM) E5-2697 v3(6 核)10​​4GB DDR480 1GB SSD 19Gbps XNUMX 美元或如何共享服务器的全部真相? (适用于 RAID1 和 RAID10,最多 24 个内核和最多 40GB DDR4)。

Dell R730xd 在阿姆斯特丹的 Equinix Tier IV 数据中心便宜 2 倍? 只有这里 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 电视低至 199 美元 在荷兰! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - 99 美元起! 阅读 如何建设基础设施公司同级使用价值730欧元的Dell R5xd E2650-4 v9000服务器一分钱?

来源: habr.com

添加评论