阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

人工智能正在接管 DevOps 吗?

  • 2021-10-13
  • 本文字数:3094 字

    阅读完需:约 10 分钟

人工智能正在接管DevOps吗?

对于许多开发人员来说,预测 DevOps 的下一步已经成为他们最喜欢的一种消遣。在过去的十年里,我们看到我们的行业迅速变化,在同一时期,程序员的角色也发生了根本性的变化。


事实上,尤其是那些(我们应该说)特定年龄的开发者中,“传统”开发者的角色似乎已经不复存在。与传统的软件开发生命周期(即软件的规划、构建和发布)不同,我们中的许多人现在都在多职责团队中工作,在这些团队中,开发和运维并存,并且越来越难以区分。


这种模式被称为DevOps,但只是在最近开始流行。而且 DevOps 本身只花了几年(或者几个月?)就开始改变和适应。现在,我们正漂泊在首字母缩略词的海洋中(包括最近的DevSecOps),这些首字母缩略词表示一种稍微不同的工作方式,每个首字母缩略词对未来的看法也略有不同。


其中最新的是AIOps。在这个愿景中,AI 工具正在慢慢取代开发者的角色——就像 DevOps 以前做的那样——并最终将完全取代 DevOps。


评估这一预测是否正确是一件棘手的事情,但在本文中,我们仍将尝试。我们将看看 AI 承诺为开发过程做些什么,评估它是否真的能够从人类开发者手中接管,然后看看 DevOps 在几十年后可能会是什么样子。

自动化的前景

首先,为了理解为什么 AI 工具被 DevOps 团队如此迅速地采用,了解它们承诺能够实现什么是非常有用的。这一承诺基本上可以分为两部分:


  • 一方面,AI 工具的使用“仅仅”是过度紧张的开发人员掌握他们所使用的日益复杂的系统的一种方式。

  • 另一发面,AI 工具提供了一系列自动化代码开发和部署技术,从根本上改变了软件的制作方式。


关于前者——让我们的生活更轻松的 AI 工具——我们只需看看过去十年中云基础设施模型的激增,就知道为什么人工智能是必要的。如今,大多数公司都使用某种形式的混合或云基础设施,如果没有某种形式的人工智能帮助,管理这些基础设施几乎是不可能的。事实上,混合和多种云基础设施、容器和超大规模应用程序等微服务架构,创造了一个比以往任何时候都更复杂的企业 IT 环境。


其次是人工智能工具采用的第二个方面——事实上,一些人工智能工具,如 GitHub 的人工智能编码助手或微软的 DeepDev,不仅让我们的生活更轻松,还为代码开发和分发开辟了新的可能性。例如,人工智能系统评估单个用户需求的速度,使得使用 AI 来调整和指定每个用户的默认Web浏览行为成为可能,从而降低了它们在使用我们的软件时对特定类型恶意软件的脆弱性。

DevOps、AIOps 和 NoOps

由于 AI 工具的实用性,除了最顽固的 DevOps 团队,它们已经被所有团队广泛迅速采用。事实上,对于现在运行多个不同云的团队(差不多是所有团队,非常多),人工智能接口几乎已经成为他们发展和扩展他们的DevOps程序的必要条件。


这种转变最明显、最具体的结果是开发人员花时间查看的数据和系统。例如,过去运维团队的一个主要角色是构建和维护一个仪表盘,所有工作人员都可以查看这个仪表盘,该仪表盘包含一个软件上的所有适当数据。


如今,这一中心任务已经基本过时。随着软件变得越来越复杂,用一个仪表盘包含某一特定软件的所有相关信息的想法开始听起来很荒谬。相反,大多数 DevOps 团队在使用人工智能工具“自动”监控他们正在使用的软件,并且只有在明确出现问题时才显示数据。


这是我们作为开发人员和运维人员工作方式的重大转变,因此它被赋予了自己的首字母缩略词——AIOps,也就不足为奇了。事实上,有些人甚至更进一步,声称这种对人工智能工具的依赖现在意味着我们正在进入NoOps时代。然而,关于哪个角色被取消存在分歧——无论 NoOps 是指“没有开发人员”还是“没有运维”。

AI 革命

所有这些关于软件开发哲学背景的思考听起来可能有点抽象。直到你看到数字,从中可以明显看出,人工智能已经对软件的发布速度(和质量)产生了巨大的影响。


GitLab 最近对 4000 多名开发人员进行了调查,得出了一些确切的数据。调查发现,一些公司发布新代码的速度比以前快了十倍。很明显,75%的用户使用人工智能和机器学习来测试和审查预发布的代码。这比一年前的 40%略高。



图片来源


这对于开发人员来说是个好消息,或者至少对于那些希望快速生成大量代码的人来说是个好消息。不幸的是,这并不总是与生成优秀代码相同。例如,从勒索软件攻击趋势可以明显看出,测试不良的代码正迅速成为许多组织的一个显著漏洞源,人工智能驱动的测试系统的出现对减少这一漏洞几乎没有什么作用。


尽管如此,前进的方向是显而易见的。再过几年,DevOps 团队中的绝大多数似乎都将依赖人工智能工具,软件的发布速度将是以前的数倍。这让我们回到了我们开始的问题——考虑到人工智能工具现在做了这么多 DevOps 工作,我们还需要 DevOps 人员吗?


好吧,既是,也不是。原因如下。

挑战

在最肤浅的层面上,可以通过一个非常简单的测试来回答这个问题。随着人工智能工具在整个开发部门的应用,开发人员的工作量是否减少了?问一个普通开发者的问题,你会得到一个笑声。答案是否定的。


这是因为,随着 DevOps 团队在其软件的日常管理上花费的时间越来越少,他们过去在这方面花费的时间现在被更具价值的任务占用了——战略规划、元分析,以及确保他们的开发目标与管理目标一致。事实上,许多人认为会使DevOps过时的人工智能“革命”似乎使团队比以往任何时候都更庞大、更繁忙。这是因为它的副作用是使开发周期大大加快。


这一点得到了业务管理者的充分理解。在最近对ZDNet的采访中,iTech AG 的执行副总裁 Matthew Tiani 指出,DevOps 现在“通过增强的技术工具集(包括源码管理、CI/CD、编排)得到了增强。”


他还补充说,DevOps 的成功实施利用了“一种兼容的开发方法,例如敏捷和 scrum,以及一种促进和鼓励开发人员和运维人员之间协作的组织承诺。”

学会共存

实际上,这些因素和趋势意味着 DevOps 团队越来越关注业务目标,而不是技术挑战。这当然是一个变化,但这对于我们生产的软件的质量应该不是一个消极的变化。可以说,事实上,人工智能工具使团队能够将人力资源集中在他们最擅长的地方——创造性、整体性和战略性任务中。


你不需要找太远的证据。举个例子,Vue JS 现在是世界上增长最快的开发框架,现在已经有240000多个在线网站是用这个框架构建的。在人工智能工具出现之前,一个新的复杂的开发框架可以如此迅速地在全世界推广的想法是可笑的。现在,在人工智能工具的支持下,DevOps 团队有了更多的自由来勇敢地做出决策,相信他们的工具足够先进来应对技术挑战。


这意味着人工智能工具不太可能取代 DevOps,或者至少在短期内不会取代 DevOps。正如我们在采用DevOps的之前趋势中看到的那样,开发团队仍然需要战略领导,无论他们的技术工具如何先进。而且,尽管人工智能现在在许多领域都有很强的能力,但它们仍然缺少以真正创造性的方式响应用户需求的能力。

最后

总而言之,我们可能还需要人力开发人员一段时间。尽管他们的角色可能与十年前完全不同,但这就是在如此发展变化的行业工作的代价(和乐趣)。


作者介绍


Sam Bocetta 曾是一名安全分析师,他职业生涯的大部分时间在海军担任网络工程师。他现在已经半退休,向公众传授安全和隐私技术。Sam 的大部分工作涉及弹道系统的渗透测试。他分析了我们的网络,寻找切入点,然后根据我的发现创建了安全漏洞评估。此外,他还帮助规划、管理和执行复杂的黑客攻击演练,以识别漏洞并降低海军(路上和海上)使用的企业系统的风险态势。他的大部分工作集中在识别和防止应用程序威胁和网络威胁,降低攻击向量区域,消除漏洞和常规报告。他能够发现弱点并制定新的战略,支持我们的网络抵御一系列网络威胁。Sam 与架构师和开发人员密切合作,为应用程序中发现的漏洞确定缓解控制措施,并执行安全评估,以模拟各种威胁的策略、技术和程序。


原文链接:


Is Artificial Intelligence Taking over DevOps?

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2021-10-13 15:481712

评论

发布
暂无评论
发现更多内容

【SpringMVC笔记】Ajax 入门,linux编程基础李养群课后答案

Java 程序员 后端

详细架构设计文档模板(笔记)

张祥

【Spring Boot实战与进阶】Controller的使用及获取请求参数的示例

Java 程序员 后端

【SpringBoot系列】配置多环境配置文件,hadoop环境搭建教程

Java 程序员 后端

前端Node.js面试题

CRMEB

腾讯AI专家整理最全Python学习体系(视频+源码+案例+路线)

小Q

Python AI 面试 爬虫

纳尼?华为首席架构师只用434页笔记,就将网络协议给拿下了

编程 程序员 面试 网络协议

网络篇夺命连环12问

冇先生

Kafka 3.0 重磅发布,来看下值得关注的新功能

大数据技术指南

kafka 11月日更

以闭包方式实现一个Controller层打印日志的切面

LSJ

aop 闭包 切面

专题|防宕机,Pulsar 跨机房复制了解一下?

Apache Pulsar

云原生 中间件 Apache Pulsar 消息系统 防宕机 跨地域复制

【Spring Cloud 8】熔断与限流Sentinel,java现在的主流技术

Java 程序员 后端

【SpringMVC笔记】拦截器 ,java设计模式及实践百度云

Java 程序员 后端

【SpringMVC 笔记】Json 交互处理,顺丰java社招面试

Java 程序员 后端

IM开发基础知识补课(十):大型IM系统有多难?万字长文,搞懂异地多活!

JackJiang

架构设计 即时通讯 灾备 IM 异地多活

【云计算】云的七大分类定义说明

行云管家

云计算 公有云 私有云 云资源

【Spring 基础注解】对象创建相关注解,java开发实战经典答案百度云

Java 程序员 后端

恒源云(GPUSHARE)_云GPU服务器如何使用Conda?

恒源云

深度学习

[架构实战营] 模块三作业

张祥

架构实战营

智能的统一哲学

木铎

人工智能 机器学习 智能

【Spring 工厂】反转控制与依赖注入,spring集成mybatis原理面试题

Java 程序员 后端

【SpringMVC 笔记】Json 交互处理(1),面试官都被搞懵了

Java 程序员 后端

深入理解 TCP 拥塞控制

拍乐云Pano

TCP 音视频 RTC TCP通信

彻底说透简单工厂那些你没有关注过的细节

Tom弹架构

Java 架构 设计模式

还在刷面试题?NO!这份阿里内网Java面试通关手册才是你急需的

Java spring 面试 JVM mybatis

堪称神级的阿里巴巴“高并发”教程《基础+实战+源码+面试+架构》

Java 编程 程序员 高并发

【Spring Cloud 2】注册中心Eureka,java架构面试题spring原理

Java 程序员 后端

重磅|Apache ShardingSphere 5.0.0 即将正式发布

SphereEx

数据库 ShardingSphere Meetup Apache ShardingSphere DateBase

Python代码阅读(第56篇):获取列表的前n个最大/最小值

Felix

Python 编程 列表 阅读代码 Python初学者

就这?彻底搞懂单例模式

蝉沐风

Java 面试 设计模式 单例模式

【Spring 持久层】Spring 与 Mybatis 整合,spring教程极客学院

Java 程序员 后端

人工智能正在接管DevOps吗?_AI&大模型_Sam Bocetta_InfoQ精选文章