【IT168 资讯】导读:本文解释了DevOps与机器学习之间的协同作用以及他们的应用程序,如跟踪应用程序交付、故障排除和分类分析、防止生产失败等。
使用静态工具进行打包、供应、部署和监控、APM和日志管理的世界将会结束。随着Docker的采用,以云和API驱动的方式和微服务大规模部署应用程序,确保高可靠性,需要一个优秀的应用。因此,有必要将创造性的管理工具设在云上。随着ML和AI的兴起,更多的DevOps工具供应商将智能与他们的产品结合在一起,以进一步简化工程师的任务。
机器学习(ML)和DevOps之间的协同作用是有效的,其相关功能包括:
·IT运营分析(ITOA)
·预测分析(PA)
·人工智能(AI)
·算法IT操作(AIOps)
机器学习是人工智能(AI)以一组程序或算法的形式的实际应用。学习的方面依赖于训练时间和数据。ML在概念上代表了Gene Kim’s的“持续学习文化”的加速和编纂。团队可以挖掘线性模式、大规模复杂数据集和反模式,并优化查询,发现新的见解,并以计算机的速度不断重复所有内容。
ML在软件产品和应用程序以及从会计到热狗识别应用程序的所有领域中都变得非常流行。当这些ML技术被添加到令人兴奋的项目时,会导致一些困难。
ML经常扩展存在的应用程序的用途,包括Web商店的建议,聊天机器语言的分类等。它将成为具有新的附加功能,修复错误或其他原因的大规模循环的一部分,以便在整体代码中进行频繁修改。
同样,ML在下一代自动化中可以以多种方式存在。具有自动化功能的DevOps可以实现快速的SDLC,但对于理解人类而言,它过于分散、动态、不透明和短暂。与自动化类似,ML独特地处理使用新交付生成的数据量、速度和各种数据,并使用下一代的原子化、可组合和扩展的应用程序。
将机器学习应用于DevOps的一些关键示例包括:
跟踪应用交付
来自’DevOps工具’的活动数据,如Git、SonarQube、Jira、Ansible和其他许多工具提供了交付流程的可视性。ML在这些工具上的应用揭示了这些数据中的异常,大量的代码量、长时间的构建时间,延迟的代码签入和缓慢的释放速率,以识别许多软件开发的浪费情况。
确保软件质量
ML,通过分析测试工具的输出可以智能地查看QA(质量保证)结果,有效地建立一个基于发现的测试模式库。对“已知良好版本”的这种理解有助于确保对每个版本进行全面测试,即使面对新颖的缺陷,也可以提高交付应用程序的质量。
确保应用程序交付
像指纹一样,用户行为模式可以是唯一的。将机器学习应用于Dev和Ops用户行为有助于识别代表危险活动的异常情况。例如,异常模式对回购、部署活动、自动化例程、测试执行、系统提供等的访问可以突出显示用户正在故意或意外地以快速的步调行使“熟悉的不良模式”。这些模式包括部署未经授权的代码、后门编码、窃取知识产权等。
管理生产
机器学习通过分析生产中的应用程序来实现,因为与开发或测试相比,具有更大的数据量、事务等等。 DevOps团队使用ML来分析一般模式,包括资源利用率、用户量等,最后检测异常模式,如内存泄漏、DDOS条件和竞争条件。
管理提醒风暴
ML的实用和最有价值的应用是管理在生产系统中发生的巨大的大量警报。
疑难解答和分类分析
Ml技术今天闪耀的另一个领域是分类分析。它可以自动检测并分类已知问题和一些未知问题。这些工具可以检测一般处理中的异常情况,并可以分析发布日志以与新部署相关联。甚至其他自动化工具也可以使用ML来提高票价,提醒操作并将其分配给确切的来源。
防止生产故障
在防止故障方面,ML可以超越直线容量规划。它可以映射利用模式来预测,所需性能水平的配置,客户的百分比可以使用全新功能,全新促销的基础设施必需品,如果中断可能会影响客户的参与。 ML在应用程序和系统中看到了不透明的早期指标,使得Ops可以快速响应时间的情况下更快地避免问题。
业务影响分析
在DevOps中,为了取得成功,了解代码发布对业务目标的影响至关重要。通过分析用户的指标,ML系统可以检测出好的和不好的模式,从而在应用程序出现问题时为业务团队和编码人员提供预警系统。