申请工作时,通常可以找到两种类型的类似工作:Sysadmin工程师和DevOps工程师。

他们两个都处理服务器配置并确保计算机系统的可靠运行。很难区分两者之间的区别。它们之间的主要区别是什么?

评论

相关:SRE和DevOps有什么区别?

SRE和DevOps之间的区别是什么?

SRE和sysadmin术语不同。

我建议您为sysadmin定义一个定义,并允许答案将其与DevOps的角色进行比较。我个人认为DevOps甚至都不起作用...所以我对此有话要说。

@Evgeny告诉招聘机构。

#1 楼

主要是DevOps不是角色(当这样使用时,它不是一个真正的角色,而是一个时髦的词)。主要目标是与开发人员和系统管理员(通常与测试人员一起)建立团队,共同负责产品(应用程序)的定义,体系结构决策以及产品运行维护。
团队中的每个成员将产品整个生命周期决策的一部分,开发人员将在生产中执行一些sysadmin任务,并且sysadmin将参与产品的设计阶段,例如,从基础结构角度避免警告。

理想情况下,系统管理员也应该是该产品开发团队的一部分,在现实世界中,系统管理员代码应更多地围绕产品和监视解决方案进行配置,但能够向团队中的其他成员表达疑虑对部署有很多误解处理过程。

评论


这么多... DevOps不是角色。您以不同的方式“执行”系统管理,这是DevOps文化的“一部分”。

–肯·莫格(Ken Mugrage)
17年4月4日在16:14



我工作过的一些组织(可能比设计更多的是偶然的机会)将其发挥到了极致:我们没有专门的系统管理员,而所有的系统管理员工作都是由“常规”开发人员完成的。 (在这个特定的组织中,许多开发人员都是非常有经验的系统管理员,因此我们从来不需要雇用任何专门从事此工作的人员。)

– cjs
17年4月16日在19:22

到目前为止,“ DevOps大致是一种组织模式”,这是我阅读的更具启发性的摘要。

– Webwoman
19年3月1日在9:17

可能是您可以澄清DevOps!= NoOps

– sgargel
19年7月31日在7:06

#2 楼

简短版本
DevOps结合了组织文化,敏捷/精益工作方式和软件自动化的组合,当应用于系统管理和运营时,这些功能可以与敏捷或精益开发团队以相同的敏捷度运行。
长版
DevOps背后的思想来自系统管理,运营和敏捷社区,特别是Patrick Debois在Agile2008上的题为“敏捷基础架构”的演讲中强调了这三种功能之间的差异。组织运作:


敏捷开发团队-编写代码的敏捷团队。

系统管理团队-构建运行软件的基础结构。

/>操作团队-在Production / Live中支持应用程序和基础结构。

Debois的建议是统一三种协作方式,特别是将系统管理团队和运营团队从瀑布模型到敏捷模型。为此,Debois无意间在比利时根特设置了DevOpsDays 2009。后来又写了《凤凰计划》和《 DevOps手册》。这两本书都探讨了敏捷和精益如何对系统管理和运营团队产生积极影响。

评论


优秀的总结!关于这种哲学和工程风格背后的历史,我至今尚未见过。

–杰西·阿德尔曼(Jesse Adelman)
17年8月8日在19:06

而且,这应该是IMO的已接受答案。 :)

–杰西·阿德尔曼(Jesse Adelman)
20 Jul 27'3:23

Sarcasm版本:代替雇用1个系统管理员(100k /年)+ 1个高级开发人员(150k /年)+ 1个初级开发人员(60k /年),让我们雇用2个devops工程师可以按老板每年2 x 80k的价格做任何事情

–卢克
20 Sep 25'9:47

#3 楼

作为一名具有运营背景的DevOps工程师,您将已经从手动构建和部署服务器及软件转变为使用BASH,PowerShell,Python等脚本化将软件安装到服务器上的脚本。一段时间之后,您将意识到很酷的脚本编制正在并开始探索更复杂的方法来自动执行部署。

最终,您会选择使用Chef,Puppet,Ansible或其他配置管理工具来帮助管理系统舰队的状态。随着您对应用程序部署和系统管理自动化的技能以及您的工具的成熟,您最近进入了“基础架构即代码”领域,并不仅用于自动化软件部署,而且还用于所需的基础架构和环境在企业转移到Cloud期间驱动软件。

现在您正在用天然气做饭。随着时间的流逝,您已经了解到使用以开发人员为中心的工具的好处,例如源代码管理来管理构成部署和管理工具库的模块,配方和模板。

DevOps团队向您介绍了软件开发生命周期和持续集成的概念。伙计,那些开发人员正在迅速发布更改,并且为了跟上您的发展,您发现自己与开发人员更加紧密地合作!您经历了开发团队在所有时间进行更改的紧迫性,这违背了旧的操作范式“如果不破,就不要修复”。不再吹牛系统正常运行时间,您可以使用一次性基础结构。

您注意到,迁移到DevOps不仅仅是与开发人员合作,或者使用新工具和技术,但团队中存在着明显的文化转变,这种转变贯穿于整个组织。您当时是一个紧密协作的团队,共同承担责任,共享工具和共享目标。

您掌握了自动部署的技能,并将其应用到了由“连续集成服务器”(例如Jenkins,Bamboo或Code Pipeline)协调的“ CICD”管道中。现在,当开发人员推送新代码时,您的脚本,工具和模板会按需建立新的环境,触发测试框架以执行其任务,并在发行版上的绿色指示灯亮起后关闭试生产环境,从而遵循“连续交付”的想法。

随着新代码逐步进入CICD阶段,您,开发人员和企业都会获得信心,认为更新发布到生产环境不会中断。在团队进行“连续部署”之前,还有一段路要走,您仍然需要确定自动化蓝/绿部署功能的最佳点,而决定主要取决于业务。就目前而言,您感到满意的是,凌晨3点的呼叫数量减少了,而sev-1和sev-2的减少了。 -不再需要夜班,而管理人员则不高兴-您可以轻松地通过CICD管道发布以前的版本,并在短时间内使系统重新联机。业务部门注意到,尽管变化的速度很快,但IT系统的稳定性却得到了改善。过去的样子以及您在数据中心的轨道上留下的血量...

#4 楼

Sysadmin vs. DevOps(个人观点)

一些公司谈论Dev,Ops和Test。如果需要测试某些东西,他们会说:“测试应该这样做”。如果需要开发某些东西,开发人员会这样做,并且如果需要部署软件,运营商也会这样做。把它丢在墙上”的心态导致人与团队之间的摩擦。就我个人而言,有时我会觉得人们是独立工作的,这就是我所做的,与团队合作无关,我无事可做。忙于开发,测试和运营。一个团队中没有我,没有独立的部门。每个人都应该释放。当然有专业,但是我认为每个人都应该能够在每个领域中完成至少25%的工作。例如。如果某人曾经是开发人员,那么应该可以更改一些配置管理代码,例如厨师和部署软件。

参考文献

Sysadmin

据维基百科:


系统管理员或sysadmin是负责计算机系统的维护,配置和可靠运行的人员。尤其是多用户计算机,例如服务器。

系统管理员寻求确保他或她管理的计算机的正常运行时间,性能,
资源和安全性满足
用户的需求,而又不会超出预算。

为了满足这些需求,系统管理员可以获取,安装或
升级计算机组件和软件;提供例行自动化;
维护安全策略;故障排除培训或监督员工;或
为项目提供技术支持。


DevOps

据维基百科:


DevOps(“开发”和“运营”的复合部分)是一个
软件开发和交付过程,着重于
产品管理,软件
开发和运营专业人员之间的沟通和协作。它通过建立和构建用于构建,测试和发布软件的文化和环境,来自动化和监视软件集成,测试,部署和基础结构更改的过程,从而为该软件提供支持。
可以快速,频繁且可靠地发生。


DevOps



DevOps工具链



评论


只有一个小小的评论:恕我直言,只要团队整体上对开发/运营/测试领域的各个方面都有很好的覆盖,并具有良好的沟通,团队中的每个人也都必须涵盖每个领域。当然,如果发生这种情况是一件好事,但在某些情况下要求它可能会不必要地变得昂贵。

–丹·科尼莱斯库(Dan Cornilescu)
17年7月26日在3:11



#5 楼

系统管理员负责维护和配置服务器,他们的职责是确保用户拥有所需的性能,正常运行时间和安全性。定义DevOps工程师的角色要困难一些,因为没有正式的职业道路,并且DevOps本身可以有多种形式。

例如,DevOps工程师可以是对网络和部署操作感兴趣的开发人员,或是对编码和脚本编写充满热情的系统管理员。从系统管理员过渡到DevOps工程师并不是很困难,实际上,本文在描述该过程方面做得很好。

许多人甚至认为从系统管理员到DevOps工程师的这种转变至关重要,因为将来系统管理员的职位将变得过时。即使有许多需要维护的旧式服务器,并且系统管理员拥有很多“部落知识”,但将来sysadmin的职位将越来越稀缺。

#6 楼

将会有您听不到的在数据中心中运行的服务器。一切都将成为软件。存储,网络,系统,安全性,数据中心; SDN,防火墙,NFV,存储,服务器等。没有软件开发背景,SDLC经验(我什至不意味着编写Perl,Powershell等脚本)的Sysadmins可能会消失。分布式,可扩展和虚拟化的环境(主要是云)是横向而非纵向增长的。您可以看到微服务如何从整体演变的相同模式。我宁愿从软件团队中选择DevOps工程师,而不是从运营/系统团队中选择。

因为运营/系统团队只是运行软件团队的构建。构建/编译应用程序。
系统管理员不经历软件开发生命周期(SDLC)。
系统管理员不属于生产管道(CI / CD流程)的一部分。

CI /连续交付/部署结束后,Sysadmin开始工作。

如果您中断并分配部署/交付,则可能是一条中断的管道
软件团队是创建者系统/运营团队



听起来好像没有服务器/系统可以管理,也不需要系统管理员。

无服务器计算是一种云计算云提供者充当服务器的执行模型,动态管理机器资源的分配。定价基于应用程序消耗的实际资源量,而不是基于预先购买的容量单位。
无服务器计算

软件团队的某些人已经知道如何构建,维护甚至如何编码(SRE与DevOps / OpsDev)。


我想知道为什么它被称为DevOps而不是OpsDev?这与两者之间的方向有关吗?

*无处可走,我没有开始写有关软件定义的存储的信息,这是对现在已删除的有关它的注释的反应*

关于软件定义的存储



软件定义存储(SDS)是计算机数据存储软件的营销术语,用于基于策略的供应和管理数据存储,而与底层硬件无关。定义的存储
EMC宣布了其第一个开源产品:Project CoprHD。 CoprHD是软件定义的存储自动化和管理控制器,EMC最近决定将其开源,这是我们进入增长和巨变领域时为全球业务提供更大价值的战略的关键。作为存储和信息管理的全球领导者,它希望EMC引领软件定义存储(SDS)。
CoprHD是一个开源的软件定义存储控制器和API平台。它为块,对象和文件存储提供程序实现了基于策略的存储资源管理和云自动化。
CoprHD

评论


不要在回答中重新添加名字,要与问题保持一致,同样,我建议您阅读“如何回答”以获取指导。

–滕西拜
18年11月6日在22:19