谁是 DevOps 工程师,他做什么,赚多少钱以及如何成为一名 DevOps 工程师

DevOps 工程师是多学科专家,他们知道如何实现流程自动化,并了解开发人员、QA 和经理的工作方式。 他们知道如何编程,快速掌握复杂的工具,并且在面对不熟悉的任务时不会不知所措。 DevOps工程师很少——他们愿意付给他们200-300万卢布,但仍然有很多职位空缺。

Dmitry Kuzmin 解释了 DevOps 到底做什么以及申请这样的职位需要学习什么。 奖励 - 书籍、视频、频道和专业社区的重要链接。

DevOps 工程师做什么的?

在 DevOps 情况下,重要的是不要混淆这些术语。 事实上,DevOps 并不是一个特定的活动领域,而是一种专业哲学。 它是一种通过自动化和无缝性帮助开发人员、测试人员和系统管理员更快、更高效地工作的方法。

因此,DevOps 工程师是在工作流程中实施此方法的专家:

  • 在规划阶段,DevOps 工程师帮助决定应用程序将使用什么架构、如何扩展以及选择编排系统。
  • 然后他架设服务器,自动检查和上传代码,检查环境。
  • 然后它会自动进行测试并解决部署问题。
  • 发布后,收集用户反馈并实施改进非常重要。 DevOps 确保用户不会注意到这些改进,并且更新过程是连续的。
  • 同时,它解决了数十个问题,有助于完善开发人员、QA、系统管理员和经理的工作体系。

上面写的一切都发生在接近理想的项目中。 在现实世界中,您必须启动一个项目,其中规划被忽略,架构错误,并且当所有项目停止时您开始考虑自动化。 理解所有这些问题、解决它们并使一切正常运转是 DevOps 专家的关键技能。

人才市场存在混乱。 有时,企业正在寻找 DevOps 工程师担任系统工程师、构建工程师或其他职位。 职责也会根据公司的规模和方向而变化——在某个地方,他们正在寻找咨询人员,在某个地方,他们被要求将一切自动化,在某个地方,他们需要执行懂得如何编程的系统管理员的高级功能。

开始这个职业需要什么

进入这个行业需要前期准备。 在不了解任何 IT 知识的情况下,您将无法简单地从头开始学习课程并学习到初级水平。 所需技术背景:

  • 如果您作为系统管理员、运营或测试专家工作了六个月或更长时间,则非常适合。 或者至少了解应用程序如何启动、可以在什么环境中开发以及看到错误时该怎么做。 如果您没有工作经验,请学习任何有关 Linux 管理的课程,重复在您的家用计算机上发生的所有事情。
  • 了解网络技术的工作原理 - 学习安装、配置和管理局域网和广域网。
  • 了解编程的工作方式和内容 - 用 Python 或 Go 编写一些脚本,尝试了解 OOP(面向对象编程)的原理,了解一般产品开发周期。
  • 技术英语知识将很有用 - 不必就自由主题进行交流,能够阅读文档和界面就足够了。

没有必要了解详细列出的所有内容;要开始学习 DevOps,最低水平的培训就足够了。 如果您有这样的技术背景,请尝试报名参加课程。

DevOps 应该了解什么

一名优秀的 DevOps 工程师是一位具有广阔视野的多学科专家。 为了成功工作,您必须同时了解多个 IT 领域。

进入菜单

DevOps 将编写一个脚本来帮助开发人员在服务器上安装代码。 将创建一个程序来“动态”测试数据库的响应能力。 将编写版本控制应用程序。 最后,只需注意服务器上可能出现的潜在开发问题。

强大的 DevOps 专家了解多种适合自动化的语言。 他理解得不是很透彻,但是他可以很快地写出一个小程序或者阅读别人的代码。 如果您以前从未接触过开发,请从 Python 开始 - 它语法简单,易于使用云技术,并且有大量文档和库。

操作系统

了解每个系统每个版本的所有功能是不可能的——您可能花费数千小时进行此类培训,但毫无用处。 相反,优秀的 DevOps 理解在任何操作系统上工作的一般原则。 不过,从空缺职位中提到的情况来看,大多数人现在都在 Linux 上工作。

优秀的工程师了解哪个系统最适合部署项目、使用什么工具以及在实施或操作过程中可能出现哪些潜在错误。

云技术市场 在成长 每年平均增长 20-25% - 这样的基础设施允许您自动执行测试代码、从组件组装应用程序以及向用户提供更新的操作。 优秀的 DevOps 了解完全云解决方案和混合解决方案。

对工程师的标准要求通常包括GCP、AWS和Azure。

这包括熟练掌握 CI/CD 工具。 通常,Jenkins 用于持续集成,但类似产品值得尝试。 其中有很多,例如 Buddy、TeamCity 和 Gitlab CI。 研究 Terraform 将会很有用 - 它是一个声明性工具,可以帮助您远程设置和配置云中的基础设施。 和 Packer,自动创建操作系统镜像所需要的.

编排系统和微服务

微服务架构有很多优点——稳定性、快速扩展能力、简化和重用。 DevOps 了解微服务的工作原理并可以预测潜在的问题。

彻底了解 Docker 和 Kubernetes。 了解容器如何工作,如何构建系统,以便您可以禁用其中一些容器而不会对整个系统产生影响。 例如,他可以使用Ansible构建Kubernetes集群

未来的 DevOps 还应该尝试什么?

对 DevOps 工程师有用的工具列表是无穷无尽的。 一些人负责项目编排,另一些人则将大部分时间花在自动化部署和测试上,还有一些人则提高配置管理的效率。 在这个过程中,我们会清楚在哪里挖掘以及哪些项目有用。

这是另一个在开始时会有所帮助的小最小值:

  • 如果您还没有了解 Git 和 Github 的工作原理,请先了解一下。 在您的服务器上安装 GitLab。
  • 熟悉 JSON 和 YAML 标记语言。
  • 安装并尝试使用数据库 - 不仅是 MySQL,还包括 NoSQL。 尝试一下 MongoDB。
  • 了解如何同时管理多个服务器的配置。 例如,使用 Ansible。
  • 立即设置负载监控和日志。 尝试 Prometheus、Grafana、Alertmanager 组合。
  • 寻找针对不同语言的最佳部署解决方案 - 您只需要在培训或工作项目中熟悉、实施和理解它们。

为什么你现在应该开始学习 DevOps

市场上存在 DevOps 工程师人才短缺的问题。 这是由职位空缺的数量和质量有条件地证实的:

  • 在俄罗斯,仅在 HeadHunter 上,就不断有超过 2 个针对该关键字的职位空缺。
  • 只有 1 人发布了简历。

考虑到发布简历并不意味着积极寻找工作,事实证明,对于一个专家来说,有两个甚至三个空缺 - 即使在流行的网络开发市场中,这种情况也不存在。 在这里添加来自 Habr 和 Telegram 频道的更多职位空缺 - 专家的短缺非常严重。

谁是 DevOps 工程师,他做什么,赚多少钱以及如何成为一名 DevOps 工程师
关注应聘者的薪资要求

DevOps 在世界范围内的需求同样不减 - 如果您要搬迁到美国或欧洲,那么只能在门户网站上 Glassdoor 超过 34 家公司正在寻找此类专家。 常见的要求包括 1-3 年的经验、使用云的能力以及不惧怕咨询功能。

自由职业的机会要少很多倍——DevOps 工程师主要寻找员工和全职职位。

谁是 DevOps 工程师,他做什么,赚多少钱以及如何成为一名 DevOps 工程师
找到合适的自由项目很困难,但这是可能的

DevOps 工程师的传统职业道路可以想象成这样:

  • 他已经在一家小型 IT 公司担任系统管理员六个月到一年。 同时,他研究了一门适合自动化的语言。
  • 他集中学习了大约六个月的课程。
  • 转到另一份工作 - 一家向大型项目开发人员销售云解决方案的公司,这是一家大公司的分支机构。 简而言之,就是需要持续自动化和实施的地方。 初始位置约为 100 万卢布。
  • 几年来,他积极工作、学习,收入数倍增加。
  • 成为专业界的专家并进入咨询领域。 或者成长为系统架构师或IT总监。

DevOps 很难。 你需要同时结合多个职业的技能。 成为一个愿意提供改进的人,而其他 IT 专家甚至不会考虑其他任何事情。 他们为此付出了很多,但也需要大量的知识。

DevOps 能赚多少钱?

根据2019年第二季度的数据,DevOps的平均工资中位数在90至160万卢布之间。 还有更便宜的报价——大多是60-70万。

不断有高达200万的报价,并且有工资高达330万卢布的空缺。

谁是 DevOps 工程师,他做什么,赚多少钱以及如何成为一名 DevOps 工程师
在运营专业人员中,DevOps 的薪酬高于其他人员。 来源: 哈伯职业生涯

现在,大型银行、企业、云服务、交易系统和其他关心维护 IT 解决方案的组织都需要 DevOps 工程师(包括初学者)。

薪水为 60-90 的初级职位的最佳候选人是具有大约一年经验和专业文凭的初级系统管理员。
 
谁是 DevOps 工程师,他做什么,赚多少钱以及如何成为一名 DevOps 工程师
没有这样的统计,但是好像有Linux经验的人薪水更高

观看和阅读哪些内容可以促进您的职业发展

要深入了解 DevOps 的世界,请尝试多种信息来源:

  • 云原生计算基金会 [YouTube,ENG] - 来自会议和教育网络研讨会的许多视频。
  • 开发运营频道 [YouTube,俄罗斯] - 俄罗斯专业 DevOps 会议的视频报道。
  • DevOps手册 [书籍,RUS] 是有关 DevOps 哲学的最受欢迎的书籍之一。 这本书包含了该方法的一般原则;它告诉我们在进行任何项目时首先要注意什么。
  • Thomas Limoncelli《系统和网络管理实践》 [书籍,RUS] - 关于如何构建系统管理的大量理论和原则。
  • 开发运营周刊 [书籍,英文] - 每周回顾有关世界各地 DevOps 动态的新闻。
  • Devops_deflope [Telegram,RUS] - 行业新闻、会议公告、新的有趣文章和书籍的链接。
  • Devops_cn [Telegram,RUS] - 俄语聊天,您可以在其中寻求建议并寻求配置帮助。
  • Devops.com 是一个大型国际网站,提供来自业内最大公司的文章、网络研讨会、播客和专栏。
  • Hangops_Ru — 由 DevOps 工程师和同情者组成的俄语社区。
  • 针对您将用于开发的语言的最佳书籍。

在哪里学习 DevOps

您可以在课程中获得结构化知识“开发运维工程师”在网络学中。 您将学习整个方法论周期:

  • 了解如何分析代码并快速使用版本控制工具。
  • 了解持续集成、测试和构建的最佳实践。
  • 学习管理和自动化应用程序更改。
  • 亲身体验配置和管理工具。
  • 习惯于立即选择和配置必要的监控服务。

获得 Python 编程课程作为额外奖励 - 您将更快、更轻松地解决问题。 一切都很实用 - 我们使用 AWS、GCP 或 Azure。
这足以将新手工程师或系统管理员转变为抢手的 DevOps 人员,并愉快地提高您在劳动力市场上的价格标签。

谁是 DevOps 工程师,他做什么,赚多少钱以及如何成为一名 DevOps 工程师

来源: habr.com

添加评论