DevOps与SysAdmin:竞争对手还是协作者?
之前,我们在谈论SysAdmins,特别是在«Sysadmin:成为系统和服务器管理员的技巧». 我们说过,他们是“……经验丰富的多才多艺的IT专业人员,通常情况下,他们的日常活动都充满着各种有计划的或没有计划的活动……”负责确保您工作的每个技术平台和IT的正常运行,…»。
在本文中,我们将讨论DevOps,这是一种新的软件开发人员“世代”(一代人),已经被人们了解了大约八到十年。 新一代的程序员出生于技术中心和举世闻名的现代IT公司的领导下,其名称源于英文单词“ Development”和“ Operation”。
简介
简而言之,我们可以说DevOps是一名程序员,能够执行“软件开发”生命周期中涉及的所有功能,甚至更多。,例如:编程,操作,测试,开发,支持,服务器,数据库,Web以及任何其他必需的。
据说,这种新的“软件开发人员一代”出现在那些小型,现代且成功的“技术初创企业”中 由“ IT专家”的小组组成,主要是软件开发人员。
正如我们已经知道的那样,通常那些“初创公司”所做的就是开发快速的软件解决方案(6到12个月) 从而解决现实世界中特定而复杂的问题和需求。 这意味着它们往往具有极高的死亡率。
这些创业公司所生活的现实起源于此 一个新的“软件开发文化”,该哲学基于被称为“早期发行,经常发布”(早期发行,经常发行)的哲学,其中修改了软件并启动了“运行中”(运行中),也就是说,即时由同一用户立即使用。
用户通过“反馈”为开发人员提供服务 与那些对代码进行动态改进和更新的人员一起获得的。
这种新的“软件开发文化”已经改变了“软件开发的传统文化” “ IT部门”(计算/技术)的每个成员都具有明确定义的特定功能的职位,例如:初级开发人员,高级开发人员,数据库管理员,系统和/或服务器管理员,分析师和/或应用程序测试人员,技术支持等。
这种情况正是使DevOps看起来很像SysAdmin的原因,也就是说,大型活动的小型企业试图减少IT专家的人员规模,从而降低同一组织和整个组织的运营成本。 出现了共同处理技术的多个领域和跨学科功能的“软件开发人员”和“系统和服务器管理员”。
因此,DevOps不仅是一个人或一个职位,还是当今的一种趋势,一种运动,一种非常普遍的组织文化。 您可以通过阅读以下其他2篇文章来了解更多信息:«DevOps的“和”什么是DevOps?«。
内容
正是上述原因,当前DevOps和Sysadmin实际上被视为“万事通”或“无主”,也就是“万物的仆人”或“无物的主人”,因为他们有能力“做任何事情或做很多事情而不必成为任何专家”。
因为长期专业化是专业人员和组织的最佳投资,这往往会使这些专业人员在劳动力市场上的价值贬值。 这是因为信息技术由多个广泛的知识领域组成,几乎不可能完全掌握(学习,保留,更新)单个专业人员。
对于DevOps或Sysadmin,要具备解决几乎所有出现的技术问题的知识能力,这意味着很高的认知成本, 他们倾向于表现出一定程度的“工作压力”(倦怠),从而导致生产率或工作效率下降的原因。
系统管理员
Sysadmin倾向于包含以下功能和活动:
- 实施新的或删除过时的
- 进行备份
- 监控效果
- 管理配置更改
- 操作应用程序和操作系统
- 管理用户帐号
- 监控计算机安全
- 应对失败和失败
- 满足用户要求
- 向本组织直接负责的级别报告
- 记录系统和平台的计算活动
并且您必须具有以下知识:
- 程序设计
- 数据库
- 计算机安全
- 网络
- 操作系统
DevOps的
除具备技术能力和管理技能外,DevOps还倾向于流利的多种编程语言。 DevOps通常也是Software Developer和Sysadmin的组合 其功能通常被视为消除了两个配置文件之间的障碍。 因此,可以期望DevOps知道其工作所在组织的软件和硬件(基础架构/平台)。
因此,DevOps通常能够:
- 编写代码并执行程序员的功能。
- 管理多平台服务器并执行SysAdmin的功能。
- 管理网络并执行NetAdmin的功能。
- 管理数据库(BD)并执行DBA的功能。
得出的结论是,良好的DevOps:
它能够执行IT部门中每个区域专家的最少活动和职能。 对于SysAdmin和其他IT专家来说,情况通常并非如此作为SysAdmin,NetAdmin,DBA或技术支持专家通常不会始终如一地高效地编写高级或商业流行语言的代码。
这给我们留下了一个DevOps的知识,通常他具有使他能够替换所有其他开发者的知识,而不会相反。 这使DevOps在劳动力市场上受到更多的赞赏,也就是说,它们是时尚的,每个中小型组织(主要是组织)都想要一个,从而导致IT部门中其他传统职位的贬值。
尽管这两个职位分担许多共同的任务,但它们具有不同的性质。 诸如DevOps之类的差异:
- 他们与组织进行高层合作,并确保公司各个部门的协同作用,而SysAdmin则更侧重于管理(配置,维护和更新服务器及计算机系统)。
- 他们倾向于在具有端到端产品的项目上更频繁地工作,而SysAdmins倾向于更多地局限于较小的(现场)范围和对相同项目/产品的责任。
- 他们通常可以执行SysAdmin的所有操作,但是SysAdmin通常不能执行DevOps的所有操作。
结论
“ DevOps”一词作为一种组织趋势或文化所追求的目标是,基于参与软件系统开发的不同领域的个人之间的协作和交流,促进团队文化。 因此,组织中的“ DevOps”有利于软件开发人员,系统操作员或系统与服务器管理员之间的集成,以使其更加完善,透明和友好。
尽管组织内部的某些人倾向于看到相反的效果,即了解DevOps文化如何代表IT部门中大多数角色的破坏。 例如,程序员如何倾向于使用DevOps,然后替换SysAdmin,NetAdmin,DBA,支持专家等,包括仅编写代码的软件开发人员。
如果您对此主题还有其他疑问,建议您阅读与此主题相关的工作文件。 链接.