ストリームベースのインテリジェントなアプリケーションを構築して配信するには、大量のデータの高速取り込みや変換をサポートする、強力なストリーミング・プラットフォームが必要です。

Red Hat OpenShift Streams for Apache Kafka は、デジタルサービスの課題を解決する企業や組織を支援できます。連載として、リアルタイムでのストリーム処理、バッチデータのリアルタイム・ストリーム処理への置き換え、アプリケーション・モダナイゼーションの効率化、イベント駆動型アーキテクチャーの管理など、一般的なユースケースに技術的な解決策を提供しており、この記事はその連載の一部となっています。

インテリジェントなアプリケーションを使用すると、ユーザー、顧客、またはパートナーが組織や製品と接する方法が急激に変わります。このような先進的なデジタルの世界では、これまで以上に、サービスをインタラクティブに提供していくことが必要となっています。現在、インテリジェントなアプリケーションや AI 駆動 (人工知能) アプリケーションの設計や開発には、ユーザーのニーズを認識して学習し、さらには予測する必要があります。ユーザーは、価値のある情報を提供し、タスクをこれまでよりも早くシームレスに達成できる、アクション指向型で、適応性および応答性を備えたアプリケーションを求めています。さらに、インテリジェントなアプリケーションをトレーニングするには、履歴データを使用して学習させる必要があり、ストリーム処理技術を使用すると、大量のデータを収集して集約、変換、分析することができます。

また、AI 駆動型アプリケーションを提供するには ストリーミングデータ の予測と検出をサポートする、機械学習 (ML) アルゴリズムを設計して構築する必要があります。通常、ML アルゴリズムは、過去のデータをもとに設計され、リアルタイムデータで使用されるようにデプロイされます。モデルの学習には大量のデータを取り込む必要があり、このプロセスは複雑で時間がかかる可能性があります。

このような取り組みに使用する技術を企画して選ぶには、AI/ML モデルの学習と、インテリジェントなアプリケーションを構築するためのアーキテクチャ・パターンを見出すことから始めると効果的です。ストリーミング分析のアーキテクチャ・パターンは、AI/ML モデルや「Data-in-Motion」分析向けにデータストリームを収集するプロセスを単純化できます。ストリーミング分析ソリューションで実用的な情報 (インサイト) を生み出すためのビルディングブロックについてさらに言及できるので、次のセクションでは、この点についてさらに詳しく説明していきます。

ストリーミング分析ソリューションのビルディングブロック

モデル学習またはデータ分析に使用するデータの準備手順は、デジタルエクスペリエンス用に設計された技術を使用すると単純化できます。その大きな理由の 1 つとして、データを先に保存して後で処理する方法から、データをそのまま処理して保存する方法に切り替わったことが挙げられます。これにより、データの取り込みから分析までの時間を短縮するだけでなく、意思決定を行うときにビジネスに適したデータだけを使用するので、ストレージ要件も軽減されます。

ストリーミング分析ソリューションのアーキテクチャでは、以下に記載のデータ使用向けに 3 つのビルディングブロックを提案します。

Apache Kafka streaming

  • ストリームの取り込み: さまざまなソースからデータストリームすべてを取り込むことを意味します。これは、Apache Kafka などのメッセージングソリューションを使用して実現できます。

  • ストリームの処理: 分析用に送信する前にデータストリームを準備、集計、変換することを指します。Apache Kafka コンポーネントなどのストリーム処理プラットフォームは、データの集約および変換をサポートできます。

  • ストリーム分析: リアルタイムに意思決定を行うことを目的に、データを変換分析するプロセスを指します。この手順は、評価、予測、および検出をサポートできる、さまざまな分析フレームワークによって実現できます。

ストリームの取り込みと処理向けの Apache Kafka

デジタルエクスペリエンスが登場し、データの保存と分析に対する見方が変わりました。データの量が増えたので、すべてを保存するというオプションはもうありません。すべてのデータの可視化は、従来の分析ソリューションでは解決できない複雑な問題となりました。リアルタイムにデータを分析することが要件となり、アクションや意思決定をほぼ即座に行うことが求められるようになりました。そのため、データの流れを取り込んで処理し、変換するためのフレームワークとして、データストリームと呼ばれるストリーム処理が好まれるようになりました。

Apache Kafka は、分散ストリーム処理プラットフォームで、マイクロサービス、クラウドネイティブまたは従来のアプリケーションと他のシステムの間でデータを移動するためにパブリッシュ/サブスクライブする手法を使用します。このソリューションは、データストリームの移動時にスループットが高く、レイテンシーが低くなるため、市場の他の製品と差別化されています。このようにスループットを高めることで、リアルタイムのメッセージ配信処理が可能になり、また、多くのデータを高速に移動させることで遅延を低く抑えることができます。Apache Kafka は、ハイブリッドクラウド環境全体にわたって同様のメリットを提供するため、エッジにも最適なソリューションと言えます。

この技術は、複数のソースからデータストリームを取り込み、収集すると同時に、データの保存、集約および処理ができるように設計されています。Kafka エコシステムは、複数のプロトコルやデータ形式を使用したデータの変換や転送をサポートするフレームワークやツールによって、コア機能を補完しています。

また、この技術は、AI/ML アプリケーションのサポートなど、複数のユースケースにも適合します。いずれにしても、モデル学習やモデル推論を行う場合に、Apache Kafka とそのコンポーネントエコシステムは、ストリーミング分析のための全フローを構築するツールとして適しています。

検出および予測のための AI/ML ツールおよびフレームワーク

以前は、組織はビジネスにとって重要なデータだけを保存し、それ以外の細かい部分は無視していました。これは、データの流れやデジタルでのインタラクションの数が増えるにつれて変化していきました。「ビッグデータ」という用語は一般的になり、すべての企業にはそれに対するソリューションを提示する必要がありました。ビッグデータの公約として、異常の検出、異常なパターンの予測、創造的な是正措置などがありました。

ビッグデータ または大量のデータの分析には、データの取り込み、保存、変換、および分析の点で多くの課題がありました。また、このようなデータをすべて取り込み、解釈する支援を行うインテリジェントなワークフローを開発して、デプロイする必要に迫られました。データの取り込み、集約、変換は、Apache Kafka やそのコンポーネントのようなツールで解決できます。

次のステップでは、組織が AI/ML モデリングをどのように行うかを判断し、インテリジェントなアプリケーションを使用してこれらのモデルを実生活に実装します。AI/ML モデリングの課題の 1 つとして、モデル学習のために過去のデータを収集し、実用的なインサイトを得るためにリアルタイムのデータを取り込むという、サイクルアプローチが必要でした。AI/ML モデリングには、高い計算能力、大量のストレージだけでなく、データ・サイエンティストがモデルの使用および学習を行い、開発者がインテリジェントなアプリケーションを設計できる開発環境が必要です。

機密データの問題の多くに対応するために、事前定義済みのフレームワーク、ワークフロー、およびアーキテクチャが多数あります。AI/ML プラットフォームは、アプリケーション開発プラットフォームと高度に統合され、開発者、データ・サイエンティスト、IT の専門家が一緒になってコラボレーションできる環境を提供できるものを選ぶことが一つのポイントになります。

アプリケーション開発プラットフォームは、データ・サイエンティストがデータソースにアクセスしたり、生産用のモデルを準備したりするサポートを行います。AI/ML モデルを実稼働させるには、アプリケーションを開発するためのソフトウェア開発者の知識と、適切なハードウェアで稼動させるための IT 知識が必要です。インテリジェントなアプリケーションのデプロイメントと保守を行っていくには、IT の専門家に強く依存することになります。さらに、アプリケーションの開発プロセスでは、入力データの衛生管理と ML モデルの展開を成功させるために、ソフトウェア開発者と協力する必要があります。

Red Hat によるサポート

Red Hat Cloud Services は、クラウドネイティブなアプリケーションの作成、デプロイ、保守で、開発者をサポートするために設計されたさまざまなツールを提供します。このようなアプリケーションユースケースの 1 つが、大量のデータシナリオをサポートできるストリームベースおよびインテリジェントなアプリケーションです。Red Hat Cloud Services を利用する開発者は、データストリームの取り込み、集約、変換、分析に必要なサービスを備えた開発環境を活用できます。

Red Hat OpenShift Streams for Apache Kafka は、アプリケーションにストリーミングデータを組み込んでリアルタイムな体験を提供する開発者をサポートするために設計されています。このサービスは Red Hat によって完全にホストおよび管理され、開発者はインフラストラクチャの維持や設定ではなく、データのストリーミングに集中することができます。OpenShift Streams for Apache Kafka と Kafka Streams および OpenShift Connectors は、開発者がデータを解析用に取り込み、集約、変換できるようにサポートします。

開発者がアーキテクチャ内でデータをストリーミングできるようになったら、次のステップとして、学習およびテスト目的で AI/ML モデルをフィードする必要があります。Red Hat OpenShift Data Science は、以下のようなシナリオで役立ちます。

Red Hat OpenShift Data Science は、データの収集や準備、ML モデルの学習など、データ・サイエンティストや機械学習のエンジニアが日々の作業を行うことのできる、セルフサービス環境をサポート付きで提供します。OpenShift Data Science では、Red Hat のパートナーや独立系ソフトウェアベンダー (ISV) が提供するさまざまな AI/ML 技術を利用でき、企業は最新のデータサイエンス・ツールの一部など、柔軟なサンドボックス環境を独自に構築できます。

Red Hat Cloud Services はすべて OpenShift とネイティブに統合され、開発者はオープンなハイブリッドクラウド環境で効率的に作業できます。エンタープライズ Kubernetes プラットフォーム、クラウドネイティブ・アプリケーションのデリバリーおよび管理対象オペレーションを組み合わせることで、チームがそれぞれの専門知識にフォーカスして、価値実現までの時間の短縮、運用コストの削減を実現できます。

詳細については Red Hat OpenShift Streams for Apache Kafka を参照してください。Kafka アプリケーションのビルドと分析モデルのデプロイを開始するには、Red Hat 製品トライアルセンター にアクセスしてください。


About the author

Jennifer Vargas is a marketer — with previous experience in consulting and sales — who enjoys solving business and technical challenges that seem disconnected at first. In the last five years, she has been working in Red Hat as a product marketing manager supporting the launch of a new set of cloud services. Her areas of expertise are AI/ML, IoT, Integration and Mobile Solutions.

Read full bio