OCIジェネレーティブAIとOracle E-Business Suiteを使用して、IoTアクションに基づいてデバイスをリアルタイムで監視

今日の世界では、アプリケーションごとに、データ処理のために中央サーバーに接続された多くのデバイスとデータ・ポイントがあります。これらのデータ・ポイントはメトリックを継続的に発行し、監視および計算された場合は、データから非常に有用なインサイトを得ることができます。これらのインサイトを使用して、一部のデバイスがクラッシュした場合などの予測を行い、最終的にOracle E-Business Suiteなどのシステムと統合して、障害のあるデバイスを外出先で交換するように注文できます。

私たちが提案するアーキテクチャ- ヘルスケアのために、デバイスが発信する着信イベントからの入力を取ります。これらのイベントには、デバイスの健全性に関するデータが含まれます。たとえば、病院で稼働している酸素モニターによって生成されるデータには、その古さ、オペレーティング・システム、適用されたセキュリティ・パッチ、そのメモリーとストレージの使用状況および処理中の負荷に関する履歴および現在の情報に関するデータが含まれます。

このデータをクリーンアップして、Oracle Cloud Infrastructure Data Scienceサービスで実行されているMLモデルに渡し、このデバイスがいつ機能しなくなる可能性を伝える確率を計算します。このデータをすべて集約し、さらにレポートを作成するために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 Application Firewallの略です。このサービスは、フロントエンド・セキュリティがデフォルトでアプリケーションに適用可能であることを確認します。同じストリーミング・エンドポイントがサービス・コネクタ・ハブから接続されています。これにより、ストリームの監視が維持され、デバイスによって生成された新しいデータがすぐにデータが消費され、データをさらに処理するためにOCI Functionsがトリガーされます。

OCI Functionsは、消費されたデータを取得し、データ処理を開始します。入力トラフィックに応じて複数のレコードが単一消費コールで消費され、関数がすべてのレコードを個別に処理できるシナリオがあります。レコードごとに、次のタスクを実行します。

  1. レコード・データを消去し、そこから必要なパラメータを収集します。
  2. エンドポイントでホストされるMLモデルのAPIリクエスト・コールを作成します。このリクエストの入力は、デバイス障害予測を行うモデルの必須パラメータになります。このリクエストの応答は、デバイス障害予測になります(0.00から10.00の範囲で、0.00はデバイス障害の可能性が最も低く、10.00はデバイス障害の可能性が最も高いことを意味します)。
  3. 予測を取得した後、関数はこれを入力レコードに追加し、将来のレポートのためにAutonomous Data Warehouseにプッシュし、MLモデルで継続的な再学習を行います。
  4. 予測値に基づいて、OCI関数によって次のタスクがトリガーされます。予測が異常終了の場合、この関数は他に何もしないため、そのレコードの実行を終了します。予測が失敗した場合、関数は次のサブタスクを実行します。
    1. Autonomous Data Warehouse参照表にアクセスして、オーダー発行者および承認者詳細、デバイスに関連するデータおよびその他のすべての利害関係者などの新規オーダーのすべての詳細を確認します。
    2. OCI生成AIを使用して、オーダー詳細サマリーを生成します。
    3. オーダー詳細をOracle E-Business Suiteまたはその他のERP、CRMソフトウェアに送信します。
    4. OCI Generative AIを使用して、利害関係者サマリーの電子メールを作成します。
    5. 対応する利害関係者に通知を送信して、オーダーの配置について通知します。
  5. このフローが完了すると、関数はレコードを処理済としてマークし、次のレコードに移動します。

このソリューションは、自己学習型のMLモデルで構成され、Autonomous Data Warehouseの新しいデータで自身を更新し続けます。アプリケーションの3層すべてが異なるサブネットでホストされ、アプリケーションが必要とする適切なセキュリティ・ポートが開いていることを確認します。データベースに格納されているデータは、適切なセキュリティを確保するために別のサブネットからプルされます。

アーキテクチャ図は、管理ユーザーの別のユーザー・アクセス・フローも示しています。これらは、OCIでのデバイス監視アプリケーションの操作を担当するユーザーです。これらは、サイト間VPNまたはFastConnectを介したSSHを使用してアプリケーション・リソースにアクセスします。これにより、顧客データ・センターのCPEデバイスをOCI上のDRGに接続するセキュア・トンネルが作成されます。このパスを使用して、管理者はデータ・センター・コンピュータからOCI上のアプリケーション・リソースにアクセスします。このアクセスは、パッチ適用、アプリケーションのアップグレード、オペレーティング・システムのセキュリティ・アップグレードなどのすべての操作ジョブが安全かつ時間どおりに実行されることを確認するために必要です。

このアーキテクチャでは、OCIに実装された高可用性とディザスタ・リカバリの概念を追加することもできます。高可用性とは、アプリケーションが同じリージョン内の複数の可用性ドメインにデプロイされることを意味します。これにより、火災や電気などの問題により可用性ドメインの1つが停止した場合でも、アプリケーションが常に使用可能になります。ディザスタ・リカバリとは、アプリケーションが複数のOCIリージョンにもデプロイされることを意味します。これにより、津波、サイクロン、地震などの問題のためにいずれかの地域がダウンした場合でも、アプリケーションが常に利用可能になります。さらに、複数のフォルト・ドメインにリソースを配置して、アーキテクチャがOracleデータ・センター内のラック・レベルの障害からも安全であることを確認する必要があります。これらのアプリケーションは、ダウンタイムを発生させずに長時間継続的に実行する必要があるため、考慮すべき非常に重要なトピックです。

同じアーキテクチャで、OCI DevOpsサービスを使用してデプロイメントを作成し、すべてのコンポーネントがアジャイルな方法でデプロイされていることを確認することもできます。すべてのコンポーネントは、Terraformを使用してデプロイされ、Ansibleを介してメンテナンスされます。ここでは、OCIで自動化を活用し、Infrastructure-as-a-Code(IaaC)アプローチに従って、メインフレーム・アプリケーションの俊敏性とメンテナンス性を向上させる方法を紹介します。

このアーキテクチャには次のコンポーネントがあります。

  • Tenancy

    テナンシは、Oracle Cloud Infrastructureのサインアップ時にOracleがOracle Cloud内で設定するセキュアで分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は単一のテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションには1つのテナンシのみが含まれます。

  • リージョン

    Oracle Cloud Infrastructureリージョンとは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカル化された地理的領域です。リージョンは他のリージョンから独立しており、長距離の場合は(複数の国または大陸にわたって)それらを分離できます。

  • コンパートメント

    コンパートメントは、Oracle Cloud Infrastructureテナンシ内のクロスリージョン論理パーティションです。コンパートメントを使用して、Oracle Cloudでリソースを編成、リソースへのアクセスを制御および使用割当てを設定します。特定のコンパートメント内のリソースへのアクセスを制御するには、誰がリソースにアクセスできるか、どのアクションを実行できるかを指定するポリシーを定義します。

  • 可用性ドメイン

    可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、1つの可用性ドメインでの障害がリージョン内の他の可用性ドメインに影響を及ぼすことはありません。

  • フォルト・ドメイン

    フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインに3つのフォルト・ドメインがあり、電源とハードウェアが独立しています。複数のフォルト・ドメインにリソースを分散すると、アプリケーションは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害を許容できます。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、ソフトウェアで定義されたカスタマイズ可能なネットワークです。従来のデータ・センター・ネットワークと同様に、VCNによってネットワーク環境を制御できます。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

  • FastConnect

    Oracle Cloud Infrastructure FastConnectでは、データ・センターとOracle Cloud Infrastructureとの間に、専用のプライベート接続を簡単に作成できます。FastConnectは、インターネット・ベースの接続と比較して、高帯域幅のオプションと、より信頼性の高いネットワーキング・エクスペリエンスを提供します。

  • IPSec VPN

    VPN接続は、オンプレミス・ネットワークとOracle Cloud InfrastructureのVCNとのサイト間IPSec VPN接続を提供します。IPSecプロトコル・スイートは、パケットがソースから宛先に転送される前にIPトラフィックを暗号化し、到着時にトラフィックを復号化します。

  • セキュリティ・リスト

    サブネットごとに、サブネットの内外で許可される必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。

  • サービス・ゲートウェイ

    サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and does not traverse the internet.

  • 自律型データベース・システム

    Oracle Autonomous Databaseは、複雑さ、規模、重要性に関係なく、すべての組織がアプリケーション・ワークロードを簡単に開発およびデプロイできるようにする、完全に自動化されたサービスです。このサービスのコンバージド・エンジンは、多様なデータ型をサポートし、モデリングやコーディングからETL、データベースの最適化、データ分析まで、アプリケーションの開発とデプロイメントを簡素化します。機械学習による自動チューニング、スケーリング、パッチ適用により、Autonomous Databaseは、OLTP、分析、バッチ、Internet of Things(IoT)ワークロードに最高のパフォーマンス、可用性、セキュリティを提供します。Oracle DatabaseおよびOracle Exadata上に構築されたAutonomous Databaseは、Oracle Cloud Infrastructure (OCI)上でサーバーレスまたは専用デプロイメント、およびOracle Exadata Cloud@CustomerおよびOCI Dedicated Regionを使用したオンプレミスで使用できます。

  • ストリーミング

    Oracle Cloud Infrastructure Streamingは、リアルタイムで消費と処理が可能な連続した大容量データ・ストリームを収集するための、スケーラブルで耐久性の高い完全管理型のストレージ・ソリューションを提供します。ストリーミングは、アプリケーション・ログ、オペレーショナル・テレメトリ、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)モデルを作成、トレーニングおよび管理するために使用できる、完全に管理されたサーバーレス・プラットフォームです。Oracle Autonomous Data WarehouseOracle Cloud Infrastructure Object Storageなどの他のOCIサービスと簡単に統合できます。企業の信頼できるデータを迅速に機能させることで、ビジネスの柔軟性を高める高品質の機械学習モデルを構築および評価できます。また、MLモデルの導入が容易なデータ主導のビジネス目標をサポートできます。

  • 関数

    Oracle Cloud Infrastructure Functionsは、完全に管理された、マルチテナントの、スケーラビリティが高いオンデマンドのFunctions-as-a-Service (FaaS)プラットフォームです。これは、Fn Projectのオープン・ソース・エンジンによって機能します。ファンクションを使用すると、コードをデプロイし、直接コールするか、イベントに応答してトリガーできます。Oracle Functionsは、Oracle Cloud Infrastructure RegistryでホストされているDockerコンテナを使用します。

  • ロギング
    ロギングは、クラウド内のリソースから次のタイプのログへのアクセスを提供する、高度に拡張可能な完全管理型のサービスです。
    • 監査ログ: 監査サービスによって発行されたイベントに関連するログ。
    • サービス・ログ: APIゲートウェイ、イベント、ファンクション、ロード・バランシング、オブジェクト・ストレージ、VCNフロー・ログなどの個々のサービスによって発行されたログ。
    • カスタム・ログ: カスタム・アプリケーション、他のクラウド・プロバイダまたはオンプレミス環境からの診断情報を含むログ。

レコメンデーション

OCI FunctionsおよびOCI Eventsを使用してこのリファレンス・アーキテクチャを実装するには、次の推奨事項を開始点として使用します。お客様の要件は、ここで説明するアーキテクチャとは異なる場合があります。
  • VCN

    VCNを作成するときには、必要なCIDRブロックの数を決定し、VCN内のサブネットにアタッチすることを計画しているリソースの数に基づいて各ブロックのサイズを決定します。標準のプライベートIPアドレス空間内にあるCIDRブロックを使用します。

    プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。

    VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。

    サブネットを設計するときには、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能する同じサブネットにアタッチします。

  • アプリケーションの設計

    このリファレンス・アーキテクチャでは、すべての処理にOCI関数を使用します。最大実行時間300秒などのOCI Functionsの使用にはいくつかの制限があり、このアーキテクチャを大量の入力フロー・データに使用する場合は、OCI Computeインスタンスでのアプリケーションの実行を検討できます。複数のランナーと各ランナーを実行して、入力イベントを個別に並行して消費および処理できます。

  • ディザスタ・リカバリ

    エンタープライズ・アプリケーションには、別のOCIリージョンのスタンバイ・ディザスタ・リカバリ・インスタンスをお薦めします。SLAとデータ耐久性の要件を満たすために、DR戦略は3層間で一貫している必要があります。ディザスタ・リカバリOracle Exadata Database Service on Dedicated Infrastructureは、Oracle Data Guardを使用して本番と同期されます。スタンバイOracle Exadata Database Service on Dedicated Infrastructureは、トランザクション上のプライマリ・データベースのコピーです。Oracle Data Guardは、プライマリ・データベースからスタンバイにREDOデータを転送および適用することで、データベース間の同期を自動的に維持します。プライマリ・リージョンで障害が発生した場合、Oracle Data Guardはセカンダリ・リージョンのスタンバイ・データベースに自動的にフェイルオーバーします。フロントエンド・ロード・バランサは、ネットワーク・ロード・バランサのスタンバイ・モードでデプロイされるか、Load Balancer as a Serviceを使用して高可用性とともにデプロイされます。

考慮事項

このリファレンス・アーキテクチャを実装する場合は、次の側面を考慮することが重要です。

  • パフォーマンス

    OCI FunctionsAutonomous Data Warehouseおよびその他の重要なサービスは、非常にスケーラブルです。メインフレーム・アプリケーションのサイズと要件に基づいて、コンピュートおよびストレージ・リソースの数を調整することを検討してください。

  • セキュリティ

    ポリシーを使用して、OCIリソースにアクセスできるユーザーを制限します。OCI Object Storageの場合、暗号化はデフォルトで有効であり、オフにできません。OCI Functionsにデプロイされたファンクションへのすべてのアクセスは、Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)を介して制御されます。これにより、ファンクション管理およびファンクション起動権限の両方を特定のユーザーおよびユーザー・グループに割り当てることができます。OCI Vaultにシークレットおよび機密データを格納することをお薦めします。OCIサービスでの認可に使用されるAPIキーおよび認証トークンを格納するためにOCI Vaultを使用することを検討してください。

  • 可用性

    Oracleは、クラウドネイティブでフルマネージドであるOCI FunctionsAutonomous Data Warehouseおよびその他のサービスの高可用性を確保します。単一の可用性ドメイン内にデプロイされたワークロードの場合、このアーキテクチャに示すようにリソースをフォルト・ドメイン全体に分散することで、自己回復性を確保できます。ワークロードを複数の可用性ドメインがあるリージョンにデプロイする場合は、リソースを複数の可用性ドメインに分散できます。

  • 拡張性

    コンピュート・インスタンスのシェイプに切り替えて変更することで、アプリケーション・サーバーを垂直方向にスケーリングできます。コア数が多いシェイプは、より多くのメモリーおよびネットワーク帯域幅を提供します。より多くのストレージが必要な場合は、アプリケーション・サーバーにアタッチされているブロック・ボリュームのサイズを増やします。Autonomous Data Warehouse DBシステムでより多くのコアを有効にすることで、データベースを垂直方向にスケーリングできます。クォータ・ラックの場合、OCPUは2の倍数で追加できます。データベースは、スケーリング操作中も引き続き使用できます。ワークロードが使用可能なCPUおよびストレージを上回る場合は、より大きなラックに移行できます。

承認

  • 作成者: Lovelesh Saxena