Azure HDInsight での Apache Kafka のビジュアル DataOps を Lenses で実現

2019年5月30日 に投稿済み

Program Manager, Azure Big Data

この記事は、Lenses の CTO を務める Andrew Stevenson 氏と共同執筆しました。

Apache Kafka は、今日特に人気の高いオープン ソース ストリーミング プラットフォームの 1 つです。しかし、そのデプロイと運用の面では、多くのケースで依然として課題があります。それを解消するため、Azure HDInsight では以下の点を重視しています。

  1. 使いやすさ: Kafka クラスターをクラウドにすばやくデプロイし、他の Azure サービスと簡単に統合できます。
  2. 規模の拡大と総運用コスト (TCO: Total Cost of Operations) の削減: コンピューティングとストレージが分離されたマネージド ディスクにより、1 つのクラスターで数百 TB のデータを処理できます。
  3. 高度なセキュリティ: Bring Your Own Key (BYOK) 暗号化、カスタム仮想ネットワーク、Apache Ranger によるトピック レベルのセキュリティを利用できます。

しかしこれだけではありません。Azure HDInsight アプリケーション エコシステムの一部として一般提供が開始されたオーバーレイ プラットフォーム「Lenses (英語)」を使用して、Azure Portal から直接、可視化から監視まで、ストリーミング データのあらゆる操作を適切に管理できるようになりました。

HDInsight 向け Lenses

Lenses を使用すると、以下のことが可能になります。

  1. Kafka トピックを簡単に把握
  2. SQL を使用してストリーミング データを調査、修正
  3. アプリケーションの全体像を可視化

Kafka トピックを把握

標準的な運用環境の Kafka クラスターには、トピックが何千個もあります。そのため、それらのトピックすべてを大まかに確認したい、レプリケーションやパーティション分割などさまざまなトピックの構成を把握したい、あるいは、特定のトピックを詳細に確認してメッセージのスループットやリーダー ブローカーをチェックしたいといったニーズがあります。

こうしたインサイトの多くは Kafka CLI から取得できますが、Lenses は、使いやすく直観的な視覚インターフェイスを介してトピックやブローカーについての主要なインサイトを統合することで、エクスペリエンスを大幅に簡素化します。Lenses を使用すれば、Kafka クラスターの閲覧は簡単です。

Lenses ダッシュボード

SQL を使用してストリーミング データを調査、修正

Lenses UI の SQL クエリや SQL プロセッサを使用すると、Kafka トピック内のデータを調べたり、特定の期間に送信されたメッセージを確認したり、そのストリームのサブセットを処理して別の Kafka トピックに書き戻したりできます。SQL クエリでは、ストリーミング データの検証やクライアント組織の速やかなブロック解除も可能です。

SQL プロセッサをデプロイして監視すると、結合や集計など SQL でお馴染みのすべての機能を利用しながら、リアルタイムのデータ変換や分析を実行できます。また、Azure Kubernetes Service (AKS) によって処理をスケール アウトするよう Lenses を構成することもできます。

Lenses で SQL を使用してストリーミング データを調査、修正

アプリケーションの全体像を可視化

最終的にビジネスに影響を与えるソリューションを作成しているとします。そのソリューションは、さまざまなマイクロサービス、データ プロデューサー、分析エンジンから構成されます。Lenses を使用すると、実行中のプロセスやデータ プラットフォームの系統をチェックしながら、アプリケーションの全体像を簡単に把握することができます。

トポロジ ビューには、実行中のアプリケーションが動的に追加され、起動時に反映されます。関連するトピックも表示されます。エンドツーエンド ソリューションを作成できるよう、Lenses では、Kafka Connect コネクタの大規模なコレクションを含むオープン ソースの Stream Reactor (英語) プロジェクトからコネクタを簡単にデプロイできます。

Azure HDInsight で Lenses の利用を始めるには、以下のリソースをご参照ください。