从 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 技能,那么离实现这种转变与提升也就不远了。
(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )