使用 OCI Generative AI 和 Oracle E-Business Suite 基于 IoT 操作实时监视设备
在当今世界,对于每个应用程序,我们都有许多设备和数据点连接到中央服务器进行数据处理。这些数据点不断发出指标,如果监控和计算,我们可以从数据中获得一些非常有用的见解。然后,可以使用这些洞察来预测某些设备何时崩溃,最终可以与 Oracle E-Business Suite 等系统集成,以便随时下订单更换故障设备。
我们提出的架构 - 对于医疗保健,将从设备发出的传入事件中获取输入。这些事件将包含有关设备运行状况的数据,例如,在医院运行的氧气监视器发出的数据将包含有关其年龄、操作系统、应用的安全修补程序、有关其内存和存储使用情况以及所服务的负载的历史和当前信息的数据。
我们将清理这些数据,然后将这些数据传递给在 Oracle Cloud Infrastructure Data Science 服务中运行的机器学习模型,然后计算概率,以了解此设备停止工作以及何时停止工作的可能性。我们将汇总所有这些数据,并根据需求推送至 Oracle Autonomous Data Warehouse 进行进一步报告。我们还可以将数据进一步集成到 Oracle E-Business Suite 中,以便在与指定设备故障标准匹配时自动下订单。
体系结构
此参考架构演示了如何利用 Oracle Cloud Infrastructure (OCI) 中的云功能创建托管在 OCI 上的设备监视解决方案。
在此架构中,我们展示了如何在 OCI 上托管此设备监视解决方案,以及管理员用户将如何访问解决方案以实现业务和管理或运营目的。
下图说明了此参考体系结构数据流。
oci-genai-iot-ebs-arch-oracle.zip
在设备上生成数据后,在设备上运行的客户端应用将在通过 API 网关公开的端点上访问 OCI 流处理。这些端点将由高端 Web 安全服务 (WAF) 保护,即 Web 应用防火墙。此服务将确保前端安全性默认适用于应用程序。相同的流端点从服务连接器中心连接,该中心将持续监视流,设备生成新数据后,它将使用数据并触发 OCI Functions 以进一步处理数据。
OCI Functions 将获取使用的数据并开始数据处理。在某些情况下,将根据输入流量在单次使用调用中使用多个记录,并且该函数将能够单独处理所有记录。对于每条记录,该函数将执行以下任务:
- 清除记录数据并从中收集所需的参数。
- 为端点上托管的 ML 模型创建 API 请求调用。此请求的输入将是模型进行设备故障预测所需的参数。此请求的响应将是设备故障预测(范围从 0.00 到 10.00,其中 0.00 表示设备故障的最小机会,10.00 表示设备故障的大多数机会)。
- 在我们获得预测后,该函数会将此数据添加到输入记录中,并将其推送到 Autonomous Data Warehouse 以供将来报告,并且机器学习模型会持续重新学习。
- 根据预测值, OCI 函数将触发下一个任务。如果预测是非失败的,则函数将退出该记录的运行,因为没有其他操作。如果预测为失败,该函数将执行以下子任务:
- 访问 Autonomous Data Warehouse 参考表,以获取新订单的所有详细信息,例如订单提交者和审批者详细信息、与设备相关的数据以及所有其他相关方。
- 使用 OCI 生成式 AI 生成订单详细信息汇总。
- 将订单详细信息提交至 Oracle E-Business Suite 或任何其他 ERP、CRM 软件。
- 使用 OCI 生成式 AI 为利益相关者摘要草拟电子邮件。
- 将通知发送给相应的利益相关人,以告知订单安排。
- 完成此流后,该函数将记录标记为已处理,并将移至下一个记录。
该解决方案由自我重新学习机器学习模型组成,该模型将持续更新 Autonomous Data Warehouse 中的新数据。应用程序的所有三层都托管在不同的子网中,以确保我们已按应用程序的要求打开了正确的安全端口。数据库中存储的数据将从另一个子网中提取,以确保适当的安全性。
体系结构图还说明了管理员用户的另一个用户访问流。这些用户负责在 OCI 上运行设备监视应用。他们将使用 SSH over Site-to-Site VPN 或 FastConnect 访问应用资源。这将创建一个安全隧道,将客户数据中心中的 CPE 设备与 OCI 上的 DRG 相连接。通过此路径,管理员可以从数据中心计算机访问 OCI 上的应用资源。需要此访问权限才能确保所有操作作业(如打补丁、应用程序升级、操作系统安全升级和其他任务)都按时安全地完成。
在此架构中,我们还可以添加在 OCI 上实施的高可用性和灾难恢复概念。高可用性意味着应用部署在同一区域的多个可用性域中。这样可以确保即使某个可用性域因火灾或电力等问题而关闭,应用始终可用。灾难恢复意味着应用也部署在多个 OCI 区域中。这将确保应用程序始终可用,即使其中一个区域由于海啸、气旋或地震等问题而发生故障。此外,您还应在多个容错域中放置资源,以确保体系结构在 Oracle 数据中心内的机架级别也安全无虞。这些是需要考虑的重要主题,因为这些应用程序应该在零停机的情况下长时间持续运行。
在同一体系结构上,我们还可以看到使用 OCI DevOps 服务创建了部署,这将确保以敏捷的方式部署所有组件。所有组件都使用 Terraform 部署,并通过 Ansible 进行维护。此视频展示了如何利用 OCI 上的自动化功能,并遵循基础设施即代码 (IaaC) 方法,使大型机应用更敏捷、更易于维护。
该体系结构具有以下组成部分:
- Tenancy
租户是 Oracle 在您注册 Oracle Cloud Infrastructure 时在 Oracle Cloud 中设置的安全隔离分区。您可以在您的租户内的 Oracle Cloud 中创建、组织和管理您的资源。租户是公司或组织的同义词。通常,公司将具有单个租户,并在该租户内反映其组织结构。单个租户通常与单个订阅关联,而单个订阅通常只有一个租户。
- 区域
Oracle Cloud Infrastructure 区域是一个本地化的地理区域,其中包含一个或多个称为可用性域的数据中心。区域独立于其他区域,远距离可以区分它们(跨国家甚至大陆)。
- 区间
区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源、控制对资源的访问以及设置使用限额。要控制对给定区间中资源的访问,您可以定义策略来指定哪些人可以访问资源以及他们可以执行哪些操作。
- 可用性域
可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错功能。可用性域不共享基础设施,例如电源或冷却设备,也不共享内部可用性域网络。因此,一个可用性域出现故障不应影响区域中的其他可用性域。
- 容错域
故障域是可用性域内的一组硬件和基础设施。每个可用性域具有三个具有独立电源和硬件的故障域。在多个容错域之间分配资源时,应用可以承受容错域内的物理服务器故障、系统维护和电源故障。
- 虚拟云网络 (VCN) 和子网
VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 可以让您控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定在某个区域或可用性域中。每个子网包含一系列不与 VCN 中的其他子网重叠的地址。您可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- FastConnect
Oracle Cloud Infrastructure FastConnect 提供了一种在您的数据中心与 Oracle Cloud Infrastructure 之间创建专用私有连接的简便方式。与基于 Internet 的连接相比,FastConnect 提供了更高的带宽选项和更可靠的网络体验。
- IPSec VPN
VPN Connect 在本地网络与 Oracle Cloud Infrastructure 中的 VCN 之间提供站点到站点 IPSec VPN 连接。IPSec 协议套件会在数据包从源传输到目标之前对 IP 通信进行加密,并在数据包到达时对通信进行解密。
- 安全列表
对于每个子网,您可以创建安全规则来指定必须允许进出子网的通信的源、目的地和类型。
- 服务网关
通过服务网关,您可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,不会通过互联网传输。
- 自治数据库系统
Oracle Autonomous Database 是一项全自动化服务,可帮助所有组织轻松开发和部署应用工作负载,无论其复杂性、规模或重要性如何。该服务的融合引擎支持多种数据类型,简化了从建模和编码到 ETL、数据库优化和数据分析的应用开发和部署。借助机器学习驱动的自动调优、扩展和打补丁功能,Autonomous Database 可为 OLTP、分析、批处理和 Internet of Things (IoT) 负载提供卓越的性能、可用性和安全性。Autonomous Database 基于 Oracle Database 和 Oracle Exadata 构建,在 Oracle Cloud Infrastructure (OCI) 上提供,可用于无服务器部署或专用部署,以及本地部署 Oracle Exadata Cloud@Customer 和 OCI Dedicated Region。
- 流
Oracle Cloud Infrastructure 流处理提供了一个完全托管、可扩展且持久的存储解决方案,可以摄取连续的大量数据流,以供您实时使用和处理。您可以使用流处理来摄取大量数据,例如应用日志、运行状况遥测、Web 点击流数据;或用于发布 - 订阅消息传递模式中连续生成和处理数据的其他使用场景。
- 服务连接器
Oracle Cloud Infrastructure Service Connector Hub 是一个云消息总线平台,可协调 OCI 中的服务之间的数据移动。可以使用服务连接器将数据从源服务移动到目标服务。服务连接器还允许您根据需要指定在将数据交付到目标服务之前对数据执行的任务(例如函数)。
您可以使用 Oracle Cloud Infrastructure Service Connector Hub 快速构建用于安全信息和事件管理 (SIEM) 系统的日志记录聚合框架。
- 数据科学
Oracle Cloud Infrastructure Data Science 是一个完全托管的无服务器平台,数据科学团队可以使用该平台在 Oracle Cloud Infrastructure (OCI) 上构建、训练和管理机器学习 (ML) 模型。它可以轻松地与其他 OCI 服务集成,例如 Oracle Autonomous Data Warehouse 、Oracle Cloud Infrastructure Object Storage 等。您可以构建和评估高质量的机器学习模型,通过快速投入企业可信的数据来提高业务灵活性,并通过更轻松地部署机器学习模型来支持数据驱动的业务目标。
- 函数
Oracle Cloud Infrastructure Functions 是一个完全托管、多租户、高度可扩展的按需函数即服务 (FaaS) 平台。它由 Fn Project 开源引擎提供支持。使用函数可以部署代码,并直接调用代码或触发代码以响应事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中托管的 Docker 容器。
- 日志记录日志记录是一项高度可扩展且完全托管的服务,它支持从云中的资源访问以下类型的日志:
- 审计日志:与审计服务发出的事件相关的日志。
- 服务日志:各个服务发出的日志,如 API 网关、事件、函数、负载平衡、对象存储和 VCN 流日志。
- 定制日志:包含来自定制应用程序、其他云提供商或内部部署环境的诊断信息的日志。
推荐
- VCN
创建 VCN 时,根据您计划附加到 VCN 中的子网的资源数确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。
选择与您打算设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure 、内部部署数据中心或其他云提供商中)不重叠的 CIDR 块。
创建 VCN 后,您可以更改、添加和删除其 CIDR 块。
设计子网时,请考虑流量和安全要求。将特定层或角色内的所有资源连接到同一子网,该子网可以充当安全边界。
- 应用程序设计
此参考体系结构使用 OCI 函数进行所有处理。使用 OCI 函数的限制很少,例如最长执行时间为 300 秒,如果您打算将此体系结构用于大量输入流数据,则可以考虑在 OCI 计算实例上运行应用程序。您可以执行多个赛跑选手以及每个赛跑选手,以便分别并排使用和处理输入事件。
- 灾难恢复
建议为企业应用使用其他 OCI 区域中的备用灾难恢复实例。DR 策略必须在三层之间保持一致,以满足 SLA 和数据持久性要求。灾难恢复 Oracle Exadata Database Service on Dedicated Infrastructure 使用 Oracle Data Guard 与生产环境同步。备用 Oracle Exadata Database Service on Dedicated Infrastructure 是事务处理一致的主数据库副本。Oracle Data Guard 通过将重做数据从主数据库传输和应用到备用数据库来自动维护数据库之间的同步。如果主区域发生灾难,Oracle Data Guard 会自动故障转移到辅助区域中的备用数据库。前端负载平衡器是以备用模式为网络负载平衡器部署的,或者使用负载平衡器作为服务以实现高可用性。
注意事项
在实施此引用体系结构时,必须考虑以下方面。
- 性能
OCI Functions 、Autonomous Data Warehouse 和其他重要服务具有高度的可扩展性。可以根据大型机应用的大小和要求来调整计算和存储资源数量。
- 安全
使用策略来限制谁可以访问 OCI 资源。对于 OCI 对象存储,默认情况下启用加密,无法关闭加密。通过 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 控制对 OCI Functions 中部署的函数的所有访问,允许将函数管理和函数调用权限分配给特定用户和用户组。建议将密钥和敏感数据存储在 OCI Vault 中。考虑使用 OCI Vault 来存储用于 OCI 服务授权的 API 密钥和验证令牌。
- 可用性
Oracle 可确保 OCI Functions 、Autonomous Data Warehouse 和其他云原生、完全托管的服务具有高可用性。对于在单个可用性域中部署的工作负载,您可以通过在容错域中分配资源来确保弹性,如此体系结构中所示。如果您计划在具有多个可用性域的区域中部署负载,则可以在多个可用性域中分配资源。
- 可扩展性
您可以通过切换到计算实例并更改其配置来垂直扩展应用服务器。具有较高核心数的配置可提供更多内存和网络带宽。如果需要更多存储,请增加连接到应用服务器的块存储卷的大小。您可以通过为 Autonomous Data Warehouse 数据库系统启用更多核心来垂直扩展数据库。您可以为四分之一机架按两个的倍数添加 OCPU。数据库在缩放操作期间保持可用。如果您的工作负载超出可用 CPU 和存储,您可以迁移到更大的机架。