亚马逊AWS官方博客

FIS 如何使用 Amazon OpenSearch Service 摄取和搜索向量数据以快速解决工单问题

此博文由 FIS 高级数据科学经理 Sheel Saket 和 Amazon Web Services 高级架构师 Rupesh Tiwari 撰写。

您有没有发现自己疲于应付多种缺陷记录机制、分散的项目管理工具和分散的软件开发平台? 您是否经历过因缺乏统一视图而感到沮丧,这阻碍了您有效管理和识别企业内部常见趋势问题的能力? 在解决缺陷及其影响方面,您是否经常面临挑战,从而导致生产周期中断?如果这些问题能引起您的共鸣,那么不止您一人如此。作为领先的技术和服务提供商,FIS 也遇到了这些挑战。在寻求解决方案的过程中,他们与 AWS 合作,直面这些障碍。在此博文中,我们将带您了解他们的合作项目,探讨他们如何使用 Amazon OpenSearch Service 来实现运营转型、提高效率并获得宝贵的见解。此博文分享了 FIS 克服挑战的历程,并提供了在您的 AWS 账户中配置解决方案架构的分步说明。您将学习如何实施变革性解决方案,为您的组织提供近实时的数据索引和可视化功能。在以下部分,我们将深入探讨 FIS 的历程,并了解他们如何克服这些挑战,彻底改变其缺陷管理和软件开发方法。

近实时工单可视化和搜索面临的挑战

FIS 在实现近实时工单可视化和搜索能力方面面临着一些挑战,包括
以下方面:

  • 整合来自数十个不同第三方系统的工单数据
  • 克服各种系统的 API 调用阈值和限制
  • 实现高效的 KNN 向量搜索算法来解决问题和执行趋势分析
  • 建立强大的数据摄取和索引流程,实现每天 15,000 张工单的实时更新
  • 确保 20 个开发团队统一访问工单信息
  • 为多达 250 个团队提供安全且可扩展的工单数据访问权限

尽管面临这些挑战,但通过集成 OpenSearch Service,FIS 成功地提高了运营效率,实现了快速工单问题解决,并获得了宝贵的见解。

我们来深入完成架构图和机制的技术演练。以下部分提供了在 AWS 管理控制台上预置和实施解决方案的分步说明,以及有用的视频教程。

解决方案概览

FIS 的近实时数据索引和可视化解决方案的架构图包含实现特定功能的各种 AWS 服务。该解决方案使用 GitHub 作为数据源,使用 Amazon Simple Storage Service(Amazon S3)进行可扩展存储,使 Amazon API Gateway 管理 API,使用 AWS Lambda 执行无服务器计算,并通过 Amazon Kinesis Data StreamsAmazon Kinesis Data Firehose 促进数据流式传输和 ETL(提取、转换和加载)流程。OpenSearch Service 用于分析和应用程序监控。这种架构确保了强大且可扩展的解决方案,使得 FIS 能够近实时地高效索引和可视化数据。借助这些 AWS 服务,FIS 可以有效地管理其数据管道,并获得有关其业务流程的宝贵见解。

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

架构图

该工作流包括以下步骤:

  1. GitHub webhook 事件将数据流同时传输到 Amazon S3 和 OpenSearch
    Service,促进实时数据分析。
  2. Lambda 函数连接到 API Gateway REST API,对接收到的有效负载进行处理和结构化。
  3. Lambda 函数将结构化数据添加到 Kinesis 数据流中,从而实现即时数据流和快速工单见解。
  4. Kinesis Data Firehose 将 Kinesis 数据流中的记录流式传输到 S3 存储桶,同时在 OpenSearch Service 中创建索引。
  5. OpenSearch Service 使用索引数据提供近实时的可视化,并通过 K 最近邻(KNN)搜索实现高效的工单分析,从而提高生产力并优化数据操作。

以下部分提供了设置解决方案的分步说明。此外,我们还创建了一个视频指南,详细演示了每个步骤。如果您愿意,欢迎您观看视频并跟帖评论。

先决条件

您应具备以下先决条件:

实施解决方案

完成下列步骤实施解决方案:

  1. 创建 OpenSearch Service 域
  2. 创建 S3 存储桶并将其命名为 git-data。
  3. 创建 Kinesis 数据流并将其命名为 git-data-stream
  4. 创建 Firehose 传输流并将其命名为 git-data-delivery-stream
    git-data-stream 作为源,git-data 作为目标,缓冲间隔为 60 秒。
  5. 创建 Lambda 函数并将其命名为 git-webhook-handler,超时时间为 5 分钟。添加代码以向 Kinesis 数据流添加数据
  6. 授予 Lambda 函数的执行角色在 Kinesis 数据流上 put_record 的权限。
  7. 在 API Gateway 中创建 REST API 并将其命名为 git-webhook-handler-api。使用 POST 方法
    创建名为 git-data 的资源,将其与上一步创建的 Lambda 函数 git-webhook-handler 集成,并部署 REST API
  8. 创建一个以 Kinesis 数据流为源,以 OpenSearch Service 为目标的交付流。为 Kinesis Data FirehoseAWS Identity and Access Management(IAM)角色提供在 OpenSearch Service 中创建索引所需的权限。最后,在 OpenSearch Service 中将 IAM 角色添加为后端服务
  9. 导航到您的 GitHub 存储库并创建 Webhook 以实现与解决方案的无缝集成。复制 REST API 网址并输入此新创建的 Webhook。

测试解决方案

要测试解决方案,请完成下列步骤:

  1. 转到您的 GitHub 存储库并选择“星标”按钮,然后验证是否收到状态代码为 200 的响应。
  2. 此外,检查最近交付中的 ShardId 和 SequenceNumber,以确认是否成功将事件添加到 Kinesis 数据流中。

Kinesis 数据流

  1. 在 Kinesis 控制台上,使用数据查看器确认数据记录是否已到达。

kinesis 记录数据

  1. 导航到 OpenSearch 控制面板,然后选择开发工具。
  2. 搜索记录,观察结果窗格中是否显示了
    所有 Git 事件。

OpenSearch 开发工具

  1. 在 Amazon S3 控制台上,打开存储桶并查看数据记录

s3 存储桶记录

安全性

我们遵守 IAM 最佳实践来维护安全性:

  1. 创建 Lambda 执行角色,用于对 Kinesis 数据流执行读/写操作。
  2. 为 Kinesis Data Firehose 生成 IAM 角色,以管理 Amazon S3 和 OpenSearch
    Service 访问权限。
  3. 在 OpenSearch Service 安全中链接此 IAM 角色,以授予后端用户权限。

清理

为避免将来产生费用,请删除您创建的所有资源。

近实时工单可视化和搜索的好处

在演示中,我们展示了使用 GitHub 作为流数据源。但是,值得注意的是,我们提出的解决方案可以灵活地扩展和整合来自不同服务的多个数据源。这允许使用 OpenSearch Service 的功能近实时地整合和可视化各种数据。

通过实施此博文中描述的解决方案,FIS 有效地克服了他们面临的所有挑战。

在本部分,我们将详细介绍他们面临的挑战和获得的好处:

  • 整合来自多个第三方系统的工单数据 — 近实时的数据流可确保来自第三方提供商的最新信息流,以便及时获得见解
  • 克服不同系统施加的 API 调用阈值和限制 — 数据流不受限制,没有阈值或速率限制,可实现无缝集成和持续更新
  • 可满足多达 250 个团队的可扩展性需求 — 异步无服务器架构可轻松扩展到 250 倍以上,而无需修改基础设施
  • 高效解决工单问题和执行趋势分析 — OpenSearch Service 语义 KNN 搜索可识别重复项和缺陷,并优化操作以提高效率
  • 获得有关业务流程的宝贵见解 — 人工智能(AI)和机器
    学习(ML)分析使用存储在 S3 存储桶中的数据,有助于获得更深入的见解和做出明智决策
  • 确保工单数据的安全访问和监管合规性 — 安全的数据访问和对数据保护法规的遵守确保了数据隐私和法规合规性

结论

FIS 与 AWS 合作,成功解决了几项挑战,实现了近实时的工单可视化和搜索功能。借助 OpenSearch Service,FIS 通过高效解决工单问题和执行趋势分析提高了运营效率。通过数据摄取和索引流程,FIS 每天实时处理 15,000 个工单。该解决方案为 250 多个团队提供了安全、可扩展的工单数据访问,实现了统一协作。FIS 工单解决时间大幅缩短了 30%,使团队能够快速解决
问题。

正如 FIS 高级数据科学经理 Sheel Saket 所说:“我们的近实时解决方案改变了我们识别和解决工单的方式,提高了我们的整体生产力”

此外,组织还可通过采用 Amazon OpenSearch Ingestion 进行数据摄取来进一步改进解决方案,从而节省成本并提供开箱即用的数据处理功能。通过采用这种变革性解决方案,组织可以优化其工单管理,提高生产力,并为客户提供卓越的体验。

想了解更多? 您可以通过 FIS 官方联系页面联系 FIS,关注 FIS Twitter,访问 FIS LinkedIn 页面


Original URL: https://aws.amazon.com/id/blogs/big-data/how-fis-ingests-and-searches-vector-data-for-quick-ticket-resolution-with-amazon-opensearch-service/

关于作者

Rupesh Tiwari 是 AWS 的高级解决方案架构师,居住在纽约市,主要负责金融服务。他在金融、保险和教育领域拥有超过 18 年的 IT 经验,擅长构建大规模应用程序和云原生大数据工作负载。业余时间,Rupesh 喜欢唱卡拉 OK、看喜剧电视剧以及与家人共度欢乐时光。

Sheel Saket 是 FIS 的高级数据科学经理,居住在伊利诺伊州芝加哥。他在金融、保险和电子商务领域拥有超过 11 年的 IT 经验,擅长构建大规模人工智能解决方案和云 MLOps。业余时间,Sheel 喜欢听有声读物、播客,还喜欢和家人一起看电影。