什么是 DevOps 方法以及谁需要它

让我们弄清楚方法论的本质是什么以及它可以使谁受益。

我们还将讨论 DevOps 专家:他们的任务、薪水和技能。

什么是 DevOps 方法以及谁需要它
照片 马特·摩尔 /Flickr/CC BY-SA

什么是 DevOps

DevOps 是一种软件开发方法,其任务是在公司中的程序员和系统管理员之间建立交互。 如果来自不同部门的IT专家不了解彼此的任务,那么他们的新应用程序和更新的发布就会被延迟。

DevOps 创建了“无缝”的开发周期,从而有助于加快软件产品的发布。 通过引入自动化系统来实现加速。 另外,程序员开始参与设置服务器和查找错误,例如,他们可以编写自动化测试。

这改善了部门之间的互动。 员工开始更好地了解软件产品在到达用户手中之前要经历哪些阶段。

当开发人员了解管理员在设置服务器时面临的情况时,他会尝试消除代码中可能的“尖角”。 这减少了部署应用程序时的错误数量 - 根据统计, 降低 大约五次。

谁需要和不需要方法论

许多 IT专家认为DevOps 将使任何开发软件的组织受益。 即使该公司只是 IT 服务的简单消费者并且不开发自己的应用程序,情况也是如此。 在这种情况下,实施 DevOps 文化将帮助您专注于创新。

例外 说明 初创公司,但一切都取决于项目的规模。 如果您的目标是推出最小可行产品 (MVP) 来测试新想法,那么您可以不用 DevOps。 例如,Groupon 的创始人开始手动开发该服务 已发布 网站上的所有报价和收集的订单。 他没有使用任何自动化工具。

只有当应用程序开始流行时,实施自动化方法和工具才有意义。 这将有助于简化业务流程并加快更新的发布速度。

如何实施 DevOps

以下是转向新方法的一些建议。

识别业务流程中的问题。 在实施该方法之前,强调组织的目标和问题。 向 DevOps 过渡的策略将取决于他们。 为此,请列出问题清单,例如:

  • 更新软件时什么最耗时?
  • 是否可以自动化这个过程?
  • 组织结构是否会影响这一点?

详细了解如何识别组织中的问题 可以在书上读到 «“凤凰”计划“和”开发运营指南» 来自该方法论的作者。

改变公司文化。 说服所有员工改变他们通常的工作方式并扩大他们的能力范围非常重要。 例如,在 Facebook,所有程序员 答案 整个应用程序生命周期:从编码到实现。 此外,Facebook 没有单独的测试部门——测试是由开发人员自己编写的。

从小开始。 选择发布更新时花费最多时间和精力的流程并将其自动化。 这 也许 测试或应用程序部署过程。 专家 劝告 第一步是实现分布式版本控制工具。 它们使管理来源变得更加容易。 在这些解决方案中,最著名的是 Git、Mercurial、Subversion (SVN) 和 CVS。

还值得关注负责组装和测试最终产品的持续集成系统。 此类工具的示例:Jenkins、TeamCity 和 Bamboo。

评估改进。 为已实施的解决方案制定绩效指标并创建清单。 指标可以包括发布频率、开发软件功能所花费的时间以及代码中的错误数量。 不仅与经理讨论结果,还与参与项目的团队其他成员讨论结果。 询问缺少哪些工具。 进一步优化流程时请考虑这些请求。

对 DevOps 的批评

虽然方法论 它可以帮助 组织可以更快地做出有关应用程序开发的决策, 减少 该软件存在大量错误并鼓励员工学习新事物,但也有批评者。

有 程序员不应该了解系统管理员的工作细节。 据称,DevOps 导致公司不再拥有开发或管理专家,而是拥有了解一切但肤浅的人员。

人们还认为 DevOps 不工作 管理不善。 如果开发和管理团队没有共同的目标,那么管理者就应该为没有组织团队之间的沟通而负责。 要解决这个问题,需要的不是一种新的方法论,而是一种根据下属的反馈来评估管理者的系统。 你可以在这里阅读它, 员工调查表中应包含哪些问题.

什么是 DevOps 方法以及谁需要它
照片 艾德·伊万努什金 /Flickr/CC BY-SA

谁是 DevOps 工程师

DevOps 工程师实施 DevOps 方法。 它同步创建软件产品的所有阶段:从编写代码到测试和发布应用程序。 这样的专家控制开发和管理部门,并通过引入各种软件工具自动执行他们的任务。

DevOps 工程师的诀窍在于他结合了多种职业:管理员、开发人员、测试人员和经理。

Joe Sanchez,虚拟化软件公司 VMware 的 DevOps 布道者, 单挑出来 DevOps 工程师必须具备的许多技能。 除了对 DevOps 方法的明显了解之外,此人还应该具有管理 Windows 和 Linux 操作系统的经验以及使用自动化工具(例如 厨师木偶Ansible。 他还应该能够用几种语言编写脚本和代码并了解网络技术。

DevOps 工程师负责与配置和部署应用程序相关的任何任务的自动化。 软件监控也落在了他的肩上。 为了解决这些问题,他使用各种配置管理系统、虚拟化解决方案和云工具来平衡资源。

谁在招聘

DevOps 工程师可以使任何开发应用程序或管理大量服务器的组织受益。 开发运营工程师 正在招聘 亚马逊、Adobe 和 Facebook 等 IT 巨头。 他们还在 Netflix、沃尔玛和 Etsy 上工作。

不招聘 DevOps 工程师只是初创公司。 他们的工作是发布最小可行产品来测试新想法。 在大多数情况下,初创公司可以不需要 DevOps。

多少工资

开发运营工程师  比业内任何人都多。 全球此类专家的平均收入为每年 100 至 125 万美元。

在美国他们 得到 每年90万美元(每月500万卢布)。 在加拿大他们 得到报酬 每年 122 万美元(每月 670 万卢布),英国每年 67,5 万英镑(每月 490 万卢布)。

至于俄罗斯,莫斯科公司 准备好了 每月向 DevOps 专家支付 100 至 200 万卢布的工资。 在圣彼得堡,雇主更慷慨一些——他们每月提供160-360万卢布。 在这些地区,工资报价为每月 100-120 万卢布。

如何成为 DevOps 专家

DevOps 是 IT 领域一个相对较新的方向,因此没有针对 DevOps 工程师的既定要求列表。 在职位空缺中,该职位的要求包括 Debian 和 CentOS 管理技能以及使用磁盘驱动器的能力。 RAID阵列.

基于此,我们可以得出这样的结论:首先,DevOps工程师必须具备良好的技术面貌。 对于这样的人来说,不断学习新的工具和技术很重要。

成为 DevOps 工程师的最简单方法是成为系统管理员或开发人员。 他们已经拥有许多需要发展的技能。 主要任务是提高 DevOps 的最低限度知识,了解如何使用自动化工具并填补管理、编程和虚拟化技能方面的空白。

要了解知识还缺乏哪些地方,您可以使用 GitHub 上的迷你维基百科 или 心理地图。 黑客新闻的居民也 建议 看书 ”“凤凰”计划“和”开发运营指南“(我们上面提到过)和”DevOps 理念。 IT 管理的艺术» 盖有 O'Reilly Media 印章。

您还可以订阅 DevOps 每周通讯、阅读专题文章 门户 DZone 并开始与 DevOps 工程师沟通 闲聊。 还值得查看以下网站上的免费课程 Udacity или EDX.

来自我们博客的帖子:



来源: habr.com

添加评论