从 2000 年代后期开始流行之后,DevOps 就作为开发与运维团队之间的一种更优的协调方式存在,改变了许多 IT 团队的工作模式与组织架构。而聚焦于 IT 团队中的个体,运维工程师的 “存在感” 毫无疑问是在持续、快速下滑的,取而代之的是能够同时兼顾开发运维工作流程的 DevOps 工程师。同时,由于 DevOps 工程师的薪酬普遍更高,工作也更具发展前景,所以越来越多的工程师尤其是运维工程师在寻求转型成为更全能的 DevOps 工程师。
2021 年《全球 DevSecOps 现状报告》显示,去年实行 DevOps 的企业数量持续飙升,已经从 2020 年的 27%,迅速增长到 35.9%。与此同时,信通院在去年发布的《中国 DevOps 现状调查报告》也显示,70% 的受访者表示自己所在的团队使用了 DevOps 平台。这也代表着,企业需要更多懂 DevOps 的工程师。
那么,IT 运维人员该如何转型 成为 DevOps 人才?本文尝试给出几个解决方案。
首先,我们要先明确 IT 运维和 DevOps 的异同。二者的联系往往非常密切,同时在工作职能上也有所重合,包括:维护 IT 基础设施,部署软件,监控和观察投入生产的软件,向其他开发人员提供反馈意见和更新帮助等等。
二者的区别在于,DevOps 工程师在这些相同的运维工作之外,还承担了更多 —— 大量软件开发相关的流程与工作。虽然 DevOps 工程师实际需要写的代码数量因工作而异,各不相同,但至少应该对编码和软件工程有透彻的了解。此外,DevOps 工程师还必须了解源代码管理、持续集成和软件测试自动化的具体流程,而这些也是现代软件开发链上的核心组成部分。
DevOps 工程师之所以需要具备软件开发流程以及运维方面的专业知识,是因为 DevOps 的核心目的是统一开发与运维。
而对于运维人员来说,转型成为 DevOps 工程师主要有两个原因。一是薪酬,根据一项国际上的调查,DevOps 工程师的平均工资在 105000 美元左右,运维工程师的薪资则平均不到 7000 美元,二者之间有一定的差距。
二是 DevOps 领域具有更多的机会,越来越多的企业开始引入 DevOps 工具、人才、概念流程等等,以期望能引导企业进行 IT 变革与创新,这便造就了 DevOps 更广阔的发展前景。与此相对,单一的运维人员虽然不会很快消失,但可以想见,运维人员的工作将会变得更加普通且可以预测。
IT 人员如何学习 DevOps
学习编程
运维人员往往对编程有一定的了解,尤其是使用一些脚本语言管理自动化的 IT 任务时,但是想要做好 DevOps,还需要掌握更加专业的软件开发技能。比如需要掌握 Java 或 C 语言,对于大型代码库管理工具如 Git 也要有所了解等等。
一件趁手的工具
飞算云智总裁陈定玮认为,互联网技术是非常庞杂的,并且发展日新月异,开发与运维之间的技术鸿沟真实存在并且日益加深。对国内大部分 IT 企业来说,依靠 DevOps 的理念并不能弥补这种鸿沟。因为 DevOps 的实施对人才的依赖性强,且对人员的基本素质要求非常高。这也是很多 IT 公司在实践 DevOps 时不得不以失败告终的原因。如果没有一个更加有效的平台让它落地,那么 DevOps 这一出色的工程理念和工程技术便无法在中国得到进一步推广。
当下企业在引进 DevOps 工作流程时,必然也会选择相应的平台工具,因此,想要适应市场发展,成为 DevOps 人才,也必须要了解相关工具。
SoFlu 软件机器人是一款能够有效助力企业落地 DevOps 的全自动软件开发工具,通过可视化编程的方式满足开发需求,也就是说,通过人机协同,软件机器人可自动完成软件开发、测试和运维,由此提高工作效率,使用户可以更多关注自身业务。在平台使用过程中,可以达到一个机器人相当于一个 10 人科技团队的效果。
此外,应用 SoFlu 软件机器人,开发者还可以通过管理平台来管理需求、研发、测试、部署、上线、运维等整个软件生命周期,沉淀经验、积累知识,将管理制度真正落地。
以测试平台为例,SoFlu 软件机器人通过自动化的生命周期管理、测试用例自动生成、测试数据管理等功能,解决了人工测试耗时长、测试跟踪管理难、测试成本高等难题。软件质量可以通过工具、流程和管理予以保障,而不再依靠有丰富经验的软件工程师。如今,SoFlu 软件机器人已经应用于包括医疗、金融、制造、零售等在内的八大行业,助力其落地 DevOps。
学习 CI/CD
许多运维工程师实际上已经在 CI/CD 的流程中工作了,但是往往不会有机会以开发工程师的身份参与其中,而仅仅只是 CI/CD 流程链末端的工作,即将代码部署到生产环境中去。但是想要实际进行 DevOps 的工作,工程师需要掌握一整套的 CI/CD 流程。
其中一种方式便是通过 CI/CD 平台来练习:练习使用 CI/CD 套件去构建、测试、并部署和更新代码。练习过一整套 CI/CD 流程必然会对 DevOps 有更深的了解。
开放心态,拥抱 “一切即代码”
一切即代码 (EaC) 是指通过定义和编码用于创建、维护、迭代或扩展应用程序开发的基础设施、模式和管道来管理软件开发、交付和管理的各个方面的想法。这是一种隐喻扩展 —— 将应用程序开发方法应用于 IT 的其他流程,包括 DevOps,以确保以最少的投入来遵循最佳实践。
IT 工程师有时也会使用一些基于代码的配置工具,比如基础架构即代码平台 IaC,而这类工具在 DevOps 中是必要的。因此,工程师可以尝试更多地去了解各种新兴工具,拥抱 “一切即代码”。往往工程师使用代码管理系统和流程的能力越强,在 DevOps 方面表现就会越为出色。
最后,对于 IT 运维工程师来说,学习 DevOps 是提升职业生涯的一种非常不错的方式,同时还有助于拓宽知识面,接触更多工作,掌握更多技能。只要从战略上思考将自己的技能扩展为 DevOps 技能,那么离实现这种转变与提升也就不远了。
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。
责任编辑:kj005
文章投诉热线:156 0057 2229 投诉邮箱:29132 36@qq.com