データ分析

Marketplace から Flink for Kubernetes オペレータを取得して Anthos にデプロイ

Cloud Dataproc.jpg

※この投稿は米国時間 2020 年 3 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。

Google Cloud の Dataproc チームは、オープンソース処理エンジンと Kubernetes の統合の改善に取り組んできました。Dataproc は Google のマネージド サービスで、Apache Spark や Apache Hadoop などの多くのオープンソース処理エンジンを実行します。Google の目標は、データ処理エンジンの基盤となるインフラストラクチャの信頼性と安全性を高め、データの保存場所に関係なく、企業がオープンソースを信頼してビジネスを運営できるようにすることです。

このことを念頭に、Google Cloud Marketplaceオープンソース Apache Flink for Kubernetes オペレータが利用可能になったことをお知らせいたします。このサービスにより、Apache Flink の実行に関わる Google の経験やベスト プラクティスを Kubernetes オペレータでキャプチャして自動化し、独自のクラスタにわずか数分で簡単にデプロイできるようになります。また、Anthos をご利用のお客様は、前提条件に従って、オンプレミス環境にこの新しいオペレータをデプロイすることもできます。

gcp flink k8.jpg

これにより、Kubernetes でオープンソース データ処理をより簡単に実行できるように設計された各リリースが実行に移されます。つまり、スタック依存を削減し、マルチクラウド環境やハイブリッド環境でジョブを実行できるようになります。オープンソース Apache Spark 向け Kubernetes オペレータのリリースから始まり、その後 Spark オペレータと Dataproc Jobs API の統合が行われました。これにより、Dataproc が提供するサポートと SLA で、さまざまなタイプのデプロイにわたって、コンテナ化された Spark のワークロードを単一の場所で安全に管理できるようになります。

Google Cloud でオープンソースをより簡単に

オープンソースは、Google Cloud のデータおよび分析戦略の常に中心的存在です。2004 年に発表された MapReduce 論文から始まり、最近では ML 用の TensorFlow、データ処理用の Apache Beam、さらには Kubernetes 自体のオープンソース リリースまで、Google ではオープンソース テクノロジーを中心として、企業の境界を越えてコミュニティを構築してきました。これらの人気の高いオープンソース テクノロジーに付随して、Google Cloud は特に人気の高いオープンソース ソフトウェア アプリケーションのマネージド バージョンを提供しています。その一つが Dataproc です。Anthos は、ハイブリッド クラウドやマルチクラウド環境のオープン アプリケーション プラットフォームで、既存アプリケーションのモダナイズ、新規アプリケーションの構築、どこでも安全に動作するアプリケーション開発を可能にします。Anthos は、Google が開発に深く関与したオープンソース テクノロジー(Kubernetes、Istio、Knative など)を基盤としています。  

Apache Flink を Kubernetes 上で実行する理由

最近、Dataproc チームでは、Apache Flink のようなオープンソース データ処理テクノロジーをユーザーがどのように使用しているか調査してきました。その中で、システムを中断させるライブラリやバージョン依存に関連するさまざまな問題点や、環境を分離する必要性とリソースをアイドル状態にする必要性のバランスの問題などを耳にしてきました。こういった課題の解決に最適なのが Kubernetes と Anthos です。

Kubernetes によりインフラストラクチャの信頼性が改善します。これは Apache Flink では非常に重要なことです。というのは、Apache Flink ジョブの多くはストリーミング アプリケーションで、24 時間年中無休で障害なしに実行される必要があるためです。Kubernetes と Apache Flink の機能を組み合わせることで、オペレータはアーキテクチャをより細かく制御でき、ストリーミング ジョブを続行しながら、システムの更新、パッチ適用、アップグレードを行うことができます。コンテナ化を使用することで、バージョンが競合する、依存関係の異なるさまざまな Flink ジョブすべてで、同じ Kubernetes クラスタを共有することもできます。

また、Apache Beam 用 Apache Flink ランナーを使用すれば、Beam パイプラインをほぼすべてのパブリックまたはプライベート クラウド環境に移植できます。ストリーミング パイプライン用の Google Cloud の Dataflow をとても気に入っているという声を開発者やデータエンジニアからいただいています。これは、リソースのプロビジョニングと管理を完全に自動化して、Apache Beam データ処理パイプラインをクラウドで実行できるようにするものです。ただし、多くの企業では、クラウドに取り込むことができるデータには、技術的またはコンプライアンス上の制約があります。Apache Flink 向け Kubernetes オペレータを使用することで、Flink ジョブ(Beam SDK で作成された、Flink ランナーを対象とするものなど)を簡単にデプロイできるようになります。これにより、Flink ユーザーは GKE などのサービスを使用してクラウドで Beam パイプラインを実行でき、Anthos では引き続きオンプレミスでジョブを簡単に実行できます。

Apache Beam は、成熟した Python API を好む Flink ユーザーが重要なギャップを埋められるようにするものです。たとえば、オンプレミスで TFX を使用してエンドツーエンドの機械学習ライフサイクルを実現する機械学習エンジニアの場合、Beam と TFX のライブラリを使用してパイプラインを作成し、それを Flink ランナーで実行できます。

今すぐ Flink オペレータを Google Cloud Marketplace からデプロイして、Kubernetes で開始しましょう。プロジェクトへの協力にご関心をお持ちの方は、GitHub で検索してください。詳細については、Kubernetes 上の Flink オペレータに関するこちらの動画で、その操作方法をご覧ください。

- By Google Cloud プロダクト マネージャー Christopher Crosbie、ソフトウェア エンジニア Dagang Wei