数字景观正在从整体转向微服务、基于云的服务。企业和公司需要适应不断变化的技术格局并跟上变化。系统变得越来越复杂并且不容易管理。我将尝试解释一些较新的架构方法、趋势,并提供对 AIOps 的见解以及它如何帮助解决这个问题。
微服务
微服务架构正在成为最受欢迎的架构和开发策略。使用这种架构构建和运行软件的优点超过了缺点。好处包括:
建立高效自主的"小"团队来更快地交付新服务或功能,这意味着您不必等待漫长的发布周期,只要功能准备好就可以发布。提高生产力和交付速度。
孤立的开发方法导致高度独立的可部署服务和可测试服务。由于范围仅限于服务能力,因此管理和维护微服务测试更加容易,可以轻松实现单元测试、回归测试以及性能测试的自动化测试。
不同的团队可以使用不同的技术构建微服务。可以利用最合适的技术来构建特定的微服务。团队可以分布在不同的地理位置。
微服务更容易构建和部署;特别是在容器平台上,资源利用率得到了优化。
微服务是围绕特定的业务功能构建的
微服务的可扩展性更好,因为它们占用的空间非常小
无服务器
云平台提供了许多可供使用的功能和工具。云平台上的完全托管系统是无服务器的。基于云的无服务器技术对于规模较小或较大的公司来说是一个巨大的推动力,可以移动其小型功能/代码,例如纳米服务、异步作业、计划作业、云服务与本地的集成。使用无服务器:
底层基础设施完全由云平台管理,维护成本极低
部署的无服务器服务高可用
高并发,更容易在全球范围内扩展
事件驱动架构,这意味着仅当相关事件被触发时才使用它
大多数无服务器都是按使用付费,这导致运行服务的成本较低
数字化现代化
将基于微服务的架构和无服务器结合起来就是所谓的数字现代化。Kubernetes、Openshift等容器平台是最适合托管微服务的平台,Serverless可用于但不限于异步处理、计划作业、ETL作业等。
随着微服务和无服务器的出现,出现了不同的挑战,例如:
监控大量微服务
确定失败的根本原因
快速解决故障
测试各种功能
监控最终用户转化
适应系统的不断升级和变化
简单的 DevOps 策略不足以管理如此复杂的系统。将人工智能 (AI) 与机器学习功能结合到 DevOps 中将有助于解决开发、部署以及生产应用程序性能监控 (APM) 方面的新复杂性。AIOps 有助于实现自主 DevOps,提供规范的解决方案和自我修复。
人工智能操作
AIOps 带来了创建高效流程和系统所需的四个关键功能:
- AIOps:借助机器学习、异常检测和警报以及可靠的根本原因分析来分析流量、日志、使用情况
2.智能DevOps:通过人工智能驱动的性能和回归测试,软件质量显着提高
3.修复和自我修复:自动检测问题和警报并触发修复和自我修复,提供规范的自动化
4.用户体验:AIOps 可以更好地洞察系统的使用情况并轻松衡量转化
借助 AIOps,立即测试代码的性能和回归,自动分析测试流量并尽早发现问题。DevOps 管道与基于 AI 的完整 APM 解决方案集成在一起是一个强大的 AIOps 工具。基于人工智能的 APM 解决方案对流量、日志和资源利用率进行分析并检测异常。如果观察到任何异常,就会触发警报,基于警报,团队可以针对已知问题构建自动化脚本,这些脚本可以在问题发生时执行。例如
如果资源磁盘空间不足,则增加磁盘空间或分配新的持久卷
当流量突然激增导致数据库表大小增加时运行归档流程
根据内存或 CPU 使用率超过规定阈值进行扩展或缩减(通常在没有自动扩展设置的情况下)
自动修复失败的部署,并在新构建失败时恢复到旧版本
自动修复的典型工作流程如下所示:
图片标题
如果您能够自动化大部分补救措施和自我修复,那该多酷啊!
人工智能运维工具
市场上有很多AIOps工具,包括云平台提供的工具。他们随着对系统和行为的更好理解而不断发展。正在添加新的特性和功能。
图片标题
其中一些工具是:
- Dynatrace:领跑者并被 Gartner 认定为领导者之一,是管理多个本地和云环境的最强大的 APM 解决方案之一。该产品提供了非常强大的AIOps能力。其根本原因分析工具是市场上最好的工具之一。几分钟内即可找到根本原因。Dynatrace 还通过其名为 keepn.sh 的框架提供了自治云管理的参考实现。它的服务自动发现功能是同类产品中的一种,而且非常强大。