0

0

利用 AI 增强 IaC 性能,提高下一代基础设施效率

betcha

betcha

发布时间:2024-09-05 11:25:31

|

853人浏览过

|

来源于DZone

原创

在当今的技术领域,很难忽视人工智能对几乎每个领域的影响。作为基础设施即代码 (iac) 爱好者,我们一直在探索 ai 如何推动 iac 生态系统的下一次演进。

喵记多
喵记多

喵记多 - 自带助理的 AI 笔记

下载

thumbnail (1).jpg在当今的技术格局中,很难忽视 AI 的影响几乎遍及每个领域。作为基础设施即代码 (IaC) 爱好者,我们一直在探索人工智能如何推动 IaC 生态系统的下一次发展。 

正如我们已经看到的,人工智能在增强 DevOps 和平台功能方面发挥着重要作用,而且很明显,人工智能将成为未来 IaC 实践的核心。下面,我们将探讨人工智能正在重塑 IaC 运营的一些重要领域,并讨论未来可能会发生什么。

编写和维护 IaC

IaC 的兴起极大地提高了基础设施效率和自我- 为开发者提供服务能力。然而,编写基础设施代码的复杂性不断增加(无论是 YAML、JSON 还是 HCL)都带来了挑战。 

尽管 Pulumi 和 AWS CDK 等工具取得了进步,允许开发人员使用通用编程语言编写 IaC,但编写数千行 IaC 代码可能会让人不知所措。这种摩擦促使许多工程组织组建了专门的 DevOps 和平台团队来掌握该流程。 

但是,随着时间的推移,这些团队已成为部署方面的瓶颈,减慢了基础设施配置和软件交付速度。 GitHub Copilot 等 AI 工具正在彻底改变开发人员编写和维护应用程序代码的方式。这些工具使用在大量数据集上训练的机器学习模型来提供智能代码建议和自动完成。 

例如,在编写函数或方法时,Copilot 可以预测下一行,建议整个代码块,并即时纠正语法错误。这不仅可以加快开发速度,还可以通过实施最佳实践来帮助保持代码质量。

同样的原则也适用于 IaC,其中 AI 可以协助为 Terraform、OpenTofu、CloudFormation 和 Pulumi 等框架编写配置。例如,当使用 OpenTofu 定义 AWS S3 存储桶时,AI 工具可以根据行业最佳实践建议存储桶策略、版本控制和生命周期规则的最佳配置。 

同样,当将 Pulumi 与 TypeScript 结合使用时,AI 可以推荐适当的资源配置,管理资源之间的依赖关系,并确保遵守组织标准。

经过大量 IaC 代码训练的 AI 模型,可以确定需要改进的领域,例如将重复代码重构为可重用模块以提高效率和一致性。例如,如果跨项目定期设置具有相似配置的 EC2 实例,人工智能可以建议创建一个模块来封装设置,从而减少重复和潜在的错误。 

人工智能还有助于保持大规模的一致性和治理。通过根据行业最佳实践定义和执行策略,人工智能可以帮助组织确保合规性和安全性,特别是对于大型复杂的基础设施。这减少了“重新发明轮子”的需要并简化了基础设施管理。

IaC 的自动化测试

就像编写 IaC 一样,开发人员通常不喜欢为其代码编写测试。良好的 IaC 卫生要求以类似于软件代码的方式对待基础设施代码,而测试是确保质量的关键要素。

最近的发展,例如在 OpenTofu 和 Terraform(版本 1.6)中引入测试功能,为AI 在 IaC 测试中的作用方式。 CodiumAI、Tabnine 和 Parasoft 等人工智能驱动的测试工具已经在软件开发中展示了巨大的价值,这种趋势现在正在扩展到 IaC。

人工智能助手可以通过自动生成新的测试来帮助开发人员。和现有的 IaC 代码。这减少了手动创建测试所需的时间和精力,从而能够在 IaC 工具中更快地实施测试框架。 AI 驱动的测试最终将简化流程,从而随着时间的推移提高 IaC 质量。

此外,AI 与集成开发环境 (IDE) 的集成使自动测试生成变得更容易。 Copilot 和 Tabnine 等工具可在开发人员的首选环境中无缝工作,直接在工作流程中提供建议和改进。 

先进的 IaC 管理工具可以支持开发人员优化的功能,能够将资源直接导入 IDE,从而简化开发和基础设施管理,无需额外工具。

通过 AI 实现 IaC 的可观察性

随着现代系统规模和复杂性的增长,基础设施的可观察性(尤其是在云环境中)变得越来越重要。一个值得注意的例子是 GitLab 因过时的生产配置而导致的两小时停机,这凸显了对强大的 IaC 实践和实时监控的需求,以防止配置漂移。

在多云运营中,管理云资产和资源规模化是独特的挑战。人工智能可以提供云管理的可见性,并分析通过 IaC、API 或手动 ClickOps(应尽可能迁移到 IaC)管理基础设施的程度,从而提供帮助。人工智能还可以对操作进行分类、优化资源管理,并执行人工智能定义的与标记、合规性、安全性、访问控制和成本优化相关的策略。

人工智能在可观察性方面的作用超出了基础设施管理的范围。通过分析来自 Datadog、Logz.io 和 Sumo Logic 等平台上的大量日志数据的信号,人工智能可以识别模式和异常情况,从而帮助优化系统性能、解决问题并防止停机。此功能对于 IaC 特别有用,因为人工智能可以检测异常行为并做出响应,以确保基础设施保持安全和高效。

例如,在我们的平台中,人工智能已经用于 CloudTrail 有效负载的细致分析,这使得用于揭示大型数据集中难以检测的模式。反过来,这可以快速识别异常情况和 IaC 覆盖范围差距,报告潜在风险和节省成本的机会,例如淘汰闲置资源。Using CloudTrail for IaC Coverage and Risk Analysis

使用 CloudTrail 进行 IaC 覆盖范围和风险分析

IaC 的 AI:超越炒作

AI 不仅仅是一个流行词 — 它是一个强大的工具,已经在增强包括 IaC 在内的许多工程领域,而我们目前看到的进展只是

展望未来,人工智能将在代码生成、自动化测试、异常检测、策略执行和云可观测性等领域发挥越来越重要的作用。通过将 AI 集成到 IaC 工作流程中,组织可以实现更高的效率、安全性和成本效益,为更先进和可扩展的云基础设施奠定基础。

IaC 的未来不仅仅是编写更好的代码:它是关于利用人工智能来推动创新并推动下一波基础设施和云管理。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

411

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

人工智能在生活中的应用
人工智能在生活中的应用

人工智能在生活中的应用有语音助手、无人驾驶、金融服务、医疗诊断、智能家居、智能推荐、自然语言处理和游戏设计等。本专题为大家提供人工智能相关的文章、下载、课程内容,供大家免费下载体验。

408

2023.08.17

人工智能的基本概念是什么
人工智能的基本概念是什么

人工智能的英文缩写为AI,是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

300

2024.01.09

人工智能不能取代人类的原因是什么
人工智能不能取代人类的原因是什么

人工智能不能取代人类的原因包括情感与意识、创造力与想象力、伦理与道德、社会交往与沟通能力、灵活性与适应性、持续学习和自我提升等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

628

2024.09.10

Python 人工智能
Python 人工智能

本专题聚焦 Python 在人工智能与机器学习领域的核心应用,系统讲解数据预处理、特征工程、监督与无监督学习、模型训练与评估、超参数调优等关键知识。通过实战案例(如房价预测、图像分类、文本情感分析),帮助学习者全面掌握 Python 机器学习模型的构建与实战能力。

33

2025.10.21

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.7万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.5万人学习

Git中文开发手册
Git中文开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号