このドキュメントでは、Intelligent Products Essentials を使用して Google Cloud 上でデバイスを接続し、IoT アプリのビルドを求める技術的な意思決定者向けのリファレンス アーキテクチャについて説明します。
メーカーは、お客様が喜び、新しい機能を収益化するインテリジェントな機能を追加して、製品の絶え間ない改善を求めています。このドキュメントは、スケーラブルで信頼性が高く、安全で費用対効果の高い Google Cloud のインテリジェント プロダクト システムを設計するタスクを任されたアーキテクトをサポートします。
Google Cloud には、パーソナライズされたプロダクト オーナー アプリやデジタルツイン シミュレーションなど、AI や ML の機能をビルドするために、プロダクトからデータを接続、取り込み、保存、分析、取得する機能があります。このドキュメントでは、アーキテクチャの概要、アーキテクチャの大まかなコンポーネント、統合のトピック、一般的な設計上の考慮事項について説明します。このアーキテクチャには、次のものが含まれます。
- ユーザーアプリのホスティングのための Firebase
- 分析とビジネス インテリジェンス(BI)のための BigQuery と Looker
- マイクロサービス インフラストラクチャのための Cloud Run と Firestore
アーキテクチャ
次の図は、以下のコンポーネントを含む全体的なアーキテクチャを示しています。
- デバイス テレメトリーのストリーミング
- マイクロサービス
- 分析とビジネス インテリジェンス
- ユーザーアプリ
- 異常検出
この図では、以下の用語を使用しています。
- エッジ: Linux Foundation の連続体で定義されている制約付きデバイスエッジまたはスマート デバイス エッジ。
- テレメトリー: センサーを介して収集されることが多い、環境に関する読み取り専用データです。多くの場合、このデータは情報源データと呼ばれます(顔認識、画像認識、ジェスチャー認識、音声認識、自然言語処理、感情認識から得られるデータ)。
- CRM: 顧客管理。
- ERP: エンタープライズ リソース計画。
このアーキテクチャ図の番号付きのコンポーネントについては、次のセクションで詳しく説明します。このアーキテクチャは、デバイスデータ(およびデバイス群)の分析、プロダクトの異常検出、予測メンテナンス、プロダクト オーナーのエクスペリエンス強化のための基盤を提供します。
このドキュメントでは統合に関する推奨事項について説明しますが、デバイスの電源とハードウェア、ローカル オペレーティング システム、コンピューティングとストレージ、LAN / WAN 通信などの詳細については説明しません。
コンポーネント 1: デバイス テレメトリーのストリーミング
デバイス テレメトリー ストリーミング コンポーネントはデバイス テレメトリー データのストリーミングを処理します。
オプションの、グローバルで高頻度かつ低レイテンシの MQTT / HTTP ブリッジは、グローバル非同期メッセージング サービスである Pub/Sub にデータを引き渡します。その後、Cloud Run がメッセージを BigQuery にストリーミングして、保存、アーカイブ、分析を行います。
次の図は、デバイス テレメトリーのストリーミング コンポーネントのサブコンポーネントを示しています。
コンポーネント 2: マイクロサービス
次の図に示すように、マイクロサービス コンポーネントには、デバイス、カスタマー、ユーザーアプリの各マイクロサービスが含まれます。
デバイス API マイクロサービス
デバイス API マイクロサービスでは、メーカーによるデバイスのプロビジョニング、デバイス構成の更新、デバイスのステータス表示などのデバイスの操作が可能になります。Device Registry API は Cloud Run で実行され、デバイスデータを Firestore データベース インスタンスに保存します。
カスタマー API マイクロサービス
カスタマー API マイクロサービスは、参照用の一意の顧客 ID や顧客名など、プロダクト オーナーのエクスペリエンスに関連する顧客情報の API を提供します。カスタマー API は Cloud Run 上で実行されます。データは Firestore データベース インスタンスに保存されます。
ユーザーアプリ API マイクロサービス
ユーザーアプリ API マイクロサービスは、ユーザーアプリで使用する API を提供します。Cloud Run 上で実行され、Firestore に保存されている所有権データと、カスタマー API マイクロサービスおよびデバイス API マイクロサービスの顧客データとデバイスデータを、それぞれ結合します。
取り込み
取り込みコンポーネントは、Firestore に保存されているマイクロサービスのデータをデータ ウェアハウスの BigQuery に読み込む機能です。Cloud Scheduler によってトリガーされる Cloud Run で定期的に実行されます。
コンポーネント 3: 分析とビジネス インテリジェンス
次の図は、分析とビジネス インテリジェンス(BI)コンポーネントを示しています。
データは、デバイス レジストリやデバイス テレメトリー コンポーネントなどのさまざまなソースから抽出されます。また、必要に応じて CRM、ERP、サービス管理などのエンタープライズ データソースからも抽出されます。このアーキテクチャでは、データ ウェアハウスとして BigQuery を使用し、可視化用に Looker を使用しています。
コンポーネント 4: ユーザーアプリ
次の図は、ユーザーアプリ コンポーネントのサブコンポーネントを示しています。これは、プロダクトユーザー向けのウェブとモバイルのアプリです。
Firebase は、ホスティング、メッセージング、認証、アプリケーション分析、A/B テストなどのアプリ開発機能を提供します。アプリは、上記のユーザーアプリ API マイクロサービスと通信します。
コンポーネント 5: 異常検出
異常検出サービスは Cloud Run で動作し、Timeseries Insights API などのバックエンドを使用してテレメトリー データを分析します。異常が検出されると、サービスにより、データ ウェアハウスにレコードが生成されます。また、さまざまなサブスクライバーが使用できる Pub/Sub のアラートが生成されます。
他のシステムとの統合
このセクションでは、IoT クライアントや OTA ソリューションなどのユーザーエッジ機能について、Google Cloud パートナーやその他関係者からのオプションを推奨しています。
インテリジェントなプロダクトを使用した MLOps
BigQuery と Cloud Storage のデバイス テレメトリーとその他のデータを用いて、エンドツーエンドの ML ライフサイクルに Vertex AI を使用して MLOps と Intelligent Products Essentials を実装します。このライフサイクルでは、ML モデルの準備、構築、検証、デプロイ、運用を行います。
既存およびサードパーティの IoT プロバイダ
このアーキテクチャは、既存およびサードパーティの IoT デプロイメントと統合されています。たとえば、IoT ハードウェア、エッジ ソフトウェア、IoT バックエンドを備えた IoT 実装が、オンプレミスまたはクラウドにすでにあるとします。
次の図は、既存の IoT サービスをアーキテクチャと統合する方法を示しています。
テレメトリー データは、サービス プロバイダのエッジから Pub/Sub メッセージに送信され、Dataflow などのサービスで前処理されます。デバイス レジストリ情報は、分析用にバッチ(ETL/ELT)オペレーションでデータ ウェアハウス(BigQuery)に定期的に取り込まれます。
エッジ IoT クライアント
MQTT メッセージングと HTTP メッセージングは、デバイスからサードパーティの IoT クラウド サービスにテレメトリーを送信する一般的なプロトコルです。クライアントは、標準 MQTT クライアントを使用して、MQTT でテレメトリー イベントを公開できます。
OTA アップデート
OTA アップデートを実装するために、このアーキテクチャはオープンソースの Mender や Hawkbit などのさまざまな OTA ソリューションと統合されています。
次のステップ
- MLOps と Intelligent Products Essentials
- さらに情報が必要な場合:お問い合わせ
- Google Cloud に関するリファレンス アーキテクチャ、図、ベスト プラクティスを確認する。Cloud Architecture Center をご覧ください。