通过在云运营健康管理中使用人工智能提升生产力 机器学习博客

利用人工智能提升云操作健康管理的生产力

关键要点

现代组织越来越依赖强大的云基础设施,以确保业务连续性和操作效率。通过应用人工智能,企业可以更有效地管理云操作事件,减少不必要的人工干预,并提高整体运营效率。

组织在管理云操作事件时面临重大挑战,尤其是在复杂的组织结构中,日常发生的大量事件使得手动管理成为不切实际。借助本文介绍的方法,企业能够构建一个基于人工智能的事件驱动的操作助手,自动响应操作事件,从而提升生产力。

引言

现代企业高度依赖强大的云基础设施,以确保业务连续性和运营效率。操作健康事件包括操作问题、软件生命周期通知等,都是云操作管理的关键输入。处理这些事件的低效可能导致计划外的停机、不必要的成本以及收入损失。

然而,管理云操作事件面临诸多挑战,尤其是在复杂的组织结构下。随着服务和资源跨越数百个账户,组织每天可能会面临海量操作事件,使得手动管理 impractical。虽然传统的编程方法提供了自动化能力,但它们通常伴随着显著的开发和维护开销,以及日益复杂的映射规则和不灵活的优先级逻辑。

本文将展示如何创建一个基于人工智能的、事件驱动的操作助手,自动响应操作事件。该助手使用了 Amazon Bedrock、AWS Health、AWS Step Functions 等 AWS 服务。该助手可以根据组织政策过滤无关事件,推荐行动,在集成的 IT 服务管理工具中创建和管理问题票据,并查询知识库以获取与操作事件相关的见解。

通过协调一组人工智能端点,本解决方案的智能设计能够自动化复杂任务,简化云操作事件的修复流程。这一方法帮助组织克服管理大量操作事件的挑战,确保在复杂的云驱动环境中进行最小限度的人类监督,从而提高业务连续性和运营效率。

事件驱动的操作管理

操作事件是指在组织云环境中发生的可能影响工作负载性能、弹性、安全性或成本的事件。例如,部分 AWS 来源的操作事件包括:

AWS 健康事件 有关 AWS 服务可用性、操作问题或调度维护的通知,这些问题可能会影响您的 AWS 资源。AWS 安全中心发现 有关 AWS 环境中潜在安全漏洞或错误配置的警报。AWS 成本异常检测警报 有关异常支出模式或成本激增的通知。AWS 优先顾问发现 优化您 AWS 资源、改善安全性和降低成本的机会。

然而,操作事件不仅限于 AWS 来源的事件。它们也可以来自您自己的工作负载或本地环境。原则上,任何能够与您的操作管理集成并对工作负载健康至关重要的事件都可以被视为操作事件。

操作事件管理是一个全面的过程,提供从头到尾的高效处理。这一过程包括通知、优先级划分、进度跟踪、行动和大规模的归档报告。以下是每个步骤中典型任务的细分:

事件通知:以标准化、用户友好的方式格式化通知。通过即时消息工具或电子邮件发送通知。事件优先级划分:根据预定义的公司政策过滤无关或噪音事件。通过检查元数据和文本描述分析事件的影响。将事件转化为可执行任务,并根据角色和责任分配责任人。在所选 ITSM 工具中记录票务或通知适当人员。事件与行动状态跟踪:将相关事件归类为线程以方便管理。根据事件线程的进展和行动负责人的更新来更新票务状态。洞察与报告:查询和整合各类事件源和票务的知识。创建商业智能 (BI) 仪表板,以可视化和分析事件数据。

一个简化的流程应包含确保事件被及时检测、优先处理、采取行动并记录以备未来参考和合规的步骤,从而实现大规模的高效操作事件管理。然而,传统的编程自动化在处理多任务时存在局限性。例如,基于事件属性的噪声过滤规则在面对组织变化、服务扩展或新数据源格式时缺乏灵活性,导致复杂性增加。

通过关键词匹配自由文本描述来自动化影响分析是不切实际的。将事件转化为票务需要手动生成行动提示,并且缺乏与源事件的关联。从复杂的事件更新线程中提取事件情节也面临挑战。

让我们探索一个基于人工智能的解决方案,看看它如何帮助解决这些挑战并提高生产力。

解决方案概述

该解决方案使用 AWS Health 与 AWS Security Hub 的发现作为操作事件来源,以演示工作流程。可以通过遵循事件驱动架构 (EDA) 方法扩展以包含其他类型的操作事件无论是来自 AWS 还是非 AWS 来源。

该解决方案设计为完全无服务器的在 AWS 上部署,并可以使用 AWS Cloud Development Kit (AWS CDK) 作为基础设施代码 (IaC)。

Slack 用作主要用户界面,但您也可以使用其他消息工具,例如 Microsoft Teams。

运行和托管该解决方案的费用取决于实际查询的消费量和向量存储的大小以及 Amazon Kendra 文档库的大小。有关定价详细信息,请参见 Amazon Bedrock 定价、Amazon OpenSearch 定价 和 Amazon Kendra 定价。

完整代码库 可在附带的 GitHub 存储库中找到。

以下图示展示了解决方案架构。

白鲸加速器

解决方案详细过程

该解决方案由三层微服务组成,以下是各层的详细讨论。

事件处理层

事件处理层负责管理通知、确认和行动的优先级划分。其主要逻辑由使用 Step Functions 实现的两个关键工作流程控制。

事件编排工作流 此工作流订阅并接收送达主 Amazon EventBridge 中心的操作事件。它将 HealthEventAdded 或 SecHubEventAdded 事件返回到主事件中心,按照下面的工作流程图进行。

事件通知工作流 此工作流格式化在 Slack 聊天与后端微服务之间交换的通知。它监听控制事件,例如 HealthEventAdded 和 SecHubEventAdded。

人工智能层

人工智能层处理 Amazon Bedrock 代理、Amazon Bedrock 知识库 和用户界面 (Slack 聊天) 之间的交互。它包含几个关键组件。

通过在云运营健康管理中使用人工智能提升生产力 机器学习博客

OpsAgent 是一款由 Anthropic Claude 3 Haiku 驱动的操作助手,能够根据事件类型和文本描述对操作事件做出反应。OpsAgent 由在 Amazon Bedrock 上的其他两个 AI 模型端点提供支持,这些模型专注于不同的知识领域。一个 行动组 被定义并附加到 OpsAgent,使其能够通过协调 AI 端点的工作来解决更复杂的问题,以及无人工干预地采取例如创建票据等行动。

OpsAgent 在事件过滤、优先级划分和 ITSM 操作时,预先嵌入了公司要求的政策和指导方针。请参见 GitHub 存储库中的示例升级政策 在 escalationrunbook 标签之间。

OpsAgent 使用两个支持 AI 模型的端点:

事件专家 端点利用 Amazon Bedrock 基础模型 (FM) 的 Amazon Titan 和 Amazon OpenSearch Serverless 来回答有关操作事件的问题,采用了检索增强生成 (RAG) 方法。askaws 端点使用 Amazon Titan 模型和 Amazon Kendra 作为 RAG 来源。其包含最新的 AWS 文档,您需要同步 Amazon Kendra 数据源,以确保基础 AI 模型使用最新文档。您可以通过 AWS 管理控制台在解决方案部署后执行此操作。

这些专用端点与专业的 RAG 数据源的结合,能帮助分解复杂任务,提高准确性,并确保使用正确的模型。

人工智能层还包括两个 AI 编排 Step Functions 工作流。这些工作流管理 AI 代理、AI 模型端点以及与用户的交互 (通过 Slack 聊天):

AI 集成工作流 定义了运营助手如何根据事件类型和事件的文本描述对操作事件做出反应。以下图展示该工作流。

AI 聊天机器人工作流 管理用户与 OpsAgent 助手通过聊天界面之间的交互。聊天机器人处理聊天会话及上下文。

存档和报告层

存档和报告层处理流式传输、存储、提取、转换和加载 (ETL) 操作事件数据。它还为 BI 仪表板和报告分析准备数据湖,但此解决方案不包括实际的仪表板实现;其准备了一个操作事件数据湖以供后续开发。

用例示例

您可以利用该解决方案进行自动事件通知、自主事件确认和操作优先级划分,通过设置虚拟监督员或操作员来遵循组织的政策。该虚拟操作员配备了多个 AI 能力每个能力专注于特定的知识领域例如生成推荐行动或向 ITSM 工具发出票据的行动,如下图所示:

虚拟事件监督员根据您的政策过滤掉噪声,如下图所示:

AI 可以使用与特定 AWS 健康事件相关的票据,提供这些票据的最新状态更新,如下图所示:

以下图展示了助手如何评估复杂的操作事件线程以提供有价值的见解。

最后,以下图展示了一个更复杂的用例。

先决条件

要部署此解决方案,您必须满足以下先决条件:

至少拥有一个 AWS 账户,权限足以创建和管理该应用所需的资源和组件。如果您没有 AWS 账户,请参见 如何创建和激活新的 Amazon Web Services 账户。该项目使用典型的两个账户设置,其中一个是组织的健康管理员账户,另一个是托管后端微服务的工作账户。如果您选择使用单账户设置,该工作账户可以与管理员账户相同。请确保您可以在工作账户中访问 Amazon Bedrock FMs。本文中使用的 FMs 包括 Anthropic Claude 3 Haiku 和 Amazon Titan Text G1 Premier。如果您要管理整个组织的 AWS Health 事件,请 启用 AWS Health 组织视图 并 委派管理员账户,启用 AWS Health 组织视图是可选的,如果您只想从单个账户中获取操作事件,则不需要。为 AWS Health 委派一个单独的管理账户也是可选的,如果您希望从 AWS 管理账户管理所有操作事件。在您的 AWS 管理账户中 启用 AWS 安全中心。如果您希望监控整个组织的安全发现,而不仅仅是单个账户,请选择性地 启用与组织集成的安全中心。拥有 Slack 工作区,并具有 配置 Slack 应用 和设置频道的权限。在本地环境中 安装 AWS CDK,并在您的 AWS 账户中进行 引导,它将用于将解决方案部署到管理账户和工作账户。在您的开发环境中安装 AWS 无服务器应用模型 (AWS SAM) 和 Docker,用于构建 AWS Lambda 包。

创建 Slack 应用并设置频道

设置 Slack:

从清单模板创建一个 Slack 应用,使用 GitHub 存储库 中的 slackappmanifestjson 文件内容。将您的应用安装到您的工作区,并记下 Bot 用户 OAuth 令牌 值以供后续步骤使用。记下您应用的 验证令牌 值,此值在您的应用的 基本信息 下,后续步骤需要用到。在您的 Slack 桌面应用中,转到工作区并添加新创建的应用。创建一个 Slack 频道,并将新创建的应用作为集成应用添加到该频道。找到并记下 频道 ID,右键点击频道名称,选择 其他选项 以访问 更多 菜单,然后选择 打开详情 来查看频道详情。

准备您的部署环境

使用以下命令为工作账户准备您的部署环境。确保您不是在任何现有 AWS CDK 项目的根目录下运行该命令。此步骤仅在您选择的工作账户与管理

构建包含人类参与的生成式 AI 提示链工作流程 机器学习博客
构建包含人类参与的生成式 AI 提示链工作流程 机器学习博客

构建生成性 AI 提示链工作流与人工审核关键要点1 生成性 AI 可以创建新内容,适用于各种任务,尤其是文本、图像和视频生成。2 提示链技术通过将复杂任务细分为多个小任务来提高模型的准确性和效率。3 在涉及复杂高风险决策时,整合人工审核有助于确保输出的可靠性。4 事件驱动架构使系统的扩展和维护变得更...