こんにちは、エクスチュアの黒岩です。
今回の記事では、Google CloudのiPaaSサービスであるApplication Integrationについて、実際にセットアップからIntegrationの実行まで試してみましたのでまとめていきます。
話は逸れますが、11月16日(木)に東京ビッグサイトで開催された「Google Cloud Next Tokyo ’23」でも、Application Integrationに関するセッションがあったため参加してきました。セッション終了後に講師の方へ直接質問ができたり、各出展企業のブースでGCP活用事例を聞くことができるなど、非常に有意義で充実したイベントでした!
また、弊社もスポンサー企業としてブースを出展し、「BigQueryにおけるデータクリーンルーム」をテーマに登壇してきました。過去のブログ記事でも取り上げていますので、是非こちらも読んでいただけると幸いです🙌
では早速やっていきましょう!
Application Integrationとは?
概要とサービスアーキテクチャ
- Integration Platform as a Service(iPaaS)ソリューション
- 2023年7月21日にリリースされたばかりの比較的新しいサービス
- 数多くのアプリケーション(Google Cloud サービスややサードパーティ製 SaaS)とデータ連携が可能
- Google のスケーラブルなインフラストラクチャ上でサーバーレスで稼働し、インテグレーションの作成、保守、スケーリングを迅速かつ安全に行うことが可能
強み
- ローコード且つUIで視覚的にワークフロー設定が定義可能
- Duet AIを活用し、自然言語でのワークフロー作成が可能
- 豊富なIntegration Connector
- 公開されているだけでも61のコネクタ(2023/11/20時点)が利用可能
料金
他多くのサービスと同様に、従量課金制となっています。
大きく3つの指標が課金対象となるようです。
1. 測定対象実行数
1 か月あたりの合計測定数に対して課金。
測定は、実行ごとの統合ステップの数が100個につき「1実行数」としてカウントされ、1実行数あたり$0.0005が課金される。
※成功に限らず失敗した統合も課金対象となるため要注意
2. 処理されたデータ量
1 か月あたりの合計データ量に対して課金。
コネクタからのリクエスト ペイロードとレスポンス ペイロードのサイズも対象で、1GBあたり$10が課金される。
3. 接続ノード
1 か月間にプロビジョニングされた接続ノードの合計数に対して、統合コネクタから課金。
接続ノードは、データ トランザクションを処理する接続の単位(またはレプリカ)であり、統合で Connector タスクを使用して接続が作成されるたびにプロビジョニングされる。
統合コネクタの料金は以下の通り。
無料枠と従量課金制の例
月々の無料枠が以下のように設定されています。
また例として、単一リージョンで Application Integration をプロビジョニングし、BigQuery 接続と ServiceNow 接続の 2 つのアクティブな接続がある場合の1ヶ月あたりの請求例を以下に示します。
結論、ローコードでデータの連携~加工・SaaS製品やDBへのインサートまで、1つのサービスで完結できるサービスをこの値段で利用できるとなると安い気がしますね。ただ多少工数がかかれど、パイプラインはcloud workflows、データの取得~加工はcloud functionsで実装するようなアーキテクチャと比較すると(使い分けは後述の番外編で取り上げます)、後者の料金の方が安くなるため以下のような場合に利用が推奨されるサービスなのかなあと個人的には感じました。
データエンジニアリングを専門とするエンジニアが不在
社内で50以上のSaaS製品やデータベースを扱っている
複数のデータソースに格納されたデータを統合して、小規模な分析を素早く実施したい
実際に試してみる
それでは実際に試していきましょう。
今回は例として、BigQueryからある特定のデータを抽出し、指定のメールアドレスへ送信するまでの一連の流れをスケジュール実行するIntegrationを作成しようと思います。
GCPコンソールから「Application Integration」で検索し、各種設定画面を見ていきます。
1. セットアップの開始
まず始めに、Application Integration の使用を開始するために必要な設定をセットアップしていく必要があります。この必要な設定とは、APIの有効化とリージョンの暗号化方式を示しています。
以下のような画面が出ると思いますので、リージョンを選択して「QUICK SETUP」をクリックしましょう。もしリージョンの暗号化方式をデフォルト構成以外のものにしたい場合は、画面下の「Advanced setup」をクリックして設定画面に移ってください。
クリック後、左メニューから「統合」をクリックすると以下のサンプルが表示されていることが確認できると思います。これでセットアップ自体は完了です。
2. Integrationの作成
「+CREATE INTEGRATION」ボタンから、Integrationを新規作成します。
すると以下のようなcanvasが表示されたかと思います。
3. ジョブ定義
あとは実装したいことを様々な機能を活用して定義していくだけです。
1. データソースの定義
①Connector設定
「TASKS」のプルダウンの中から、「Connectors」を選択して設定項目を見ていきましょう。
まずGeneralという項目では、このコンポーネントの名前や説明を記載できることがわかります。
続いてConfigure and manage connectionという項目は、名前の通り接続設定を行うための設定ですね。
「CONFIGURE CONNECTOR」をクリックすると、以下のように接続を作成するための画面に遷移ができそうです。「接続を作成」をクリックしてみましょう。
すると右側に詳細設定画面が表示されてきます。接続情報や認証情報を入力し、接続を確立しましょう。
接続確立後、設定したテーブルに対してどんなアクションをしたいのか選択する画面に遷移しますので、TypeとSet entitiesを設定してください。
左側にはテーブルのカラムがローカル変数として定義されていることもわかります。
②Error handlingの設定
作成中のIntegrationに遷移し再度Connectorコンポーネントの設定に戻ると、エラーハンドリングも設定可能であることがわかります。(try except文と同じことがUIで実装可能)
2. メール送信の定義
canvas上で、「TASKS」のプルダウンの中から「Send Email」を選択し、先ほど設定したConnectorコンポーネントへフローを繋げた後、Send Emailコンポーネントの設定項目を埋めていきましょう。
Body in Plain Textには、Connectorコンポーネントで生成されたconnectorOutputPayload(Connectors)を指定します。
3. 実行方法の定義
最後に、このフローをどのように実行するか定義します。
canvas上で、「TRIGGERS」のプルダウンの中から「Cloud Scheduler」を選択し、Connectorコンポーネントにフローを繋げた後、Cloud Schedulerコンポーネントの設定項目を埋めていきましょう。
以下のようにUIで実行時間を設定したり、ADVANCEDではcron式に記述することも可能です。
4. フローの実行
フローができましたので、作成したフローをテスト実行してみましょう。デザイナ上段メニューの「TEST」をクリックします。
デフォルトのまま、「TEST INTEGRATION」をクリックします。
Integration execution succeeded. というメッセージが表示されれば成功を意味します。実際にメールボックスを確認したところ、JSON配列のテキスト文として正常に届いていることが確認できました!
番外編
私はこのセッションを聞いていた時、Cloud Workflowsを使わない理由がなくなったのでは。。?と感じました。データパイプラインの構築だけでなく、データの抽出~加工、リバースETLのようなことまでできてしまうのであれば、Application Integrationで一元管理するべきなのではないか?どんな場合に使い分けるべきなんだ? と。。
しかし私と同じように考えた読者の皆様。こちらの記事をご覧ください。
https://cloud.google.com/application-integration/docs/choose-application-integration-or-workflows?hl=ja
このように、どんな場合にApplication IntegrationとCloud Workflowsを使うべきか、既に例を示した記事が公式に用意されていました。なんならworkflowsからintegrationを呼び出すという連携例まで示されていました。(1人で暴走して考え続ける必要はなかった)
上記公式の記事を読んでいただきつつ、以前私が書いたCloud Workflowsの記事も貼っておきますので是非読んでいただき、各サービス間の特徴を比較して参考にしていただければ幸いです!(2部構成になっています)
終わりに
本記事では、主にApplication Integrationのサービス概要の説明やIntegrationの作成および実行、cloud workflowsとの比較について焦点を当てて書きました。
Duet AIを活用したフロー作成機能に関しては、執筆時点(2023年11月20日)ではまだプレビューにもなっていないようで使用できなかったため、また別の機会に試してみようと思います。
社内で膨大なシステムを導入している企業の皆様、Application Integrationを使用したデータ活用を試してみることを推奨します!
ここまで読んでくださった方、実際にApplication Integrationを触ってみたという方、どうもありがとうございました&お疲れ様でした!
エクスチュアはGoogle Cloud Platformのサービスパートナーです。
Cloud WorkflowsやGA4を含むGoogle Cloud Platform、Adobe Experience Cloud、Tableau、Lookerなどに精通したスタッフによるデータ活用サポート、各マーケティングツールの導入実装・活用支援のコンサルティングサービスや、GCP/AWSなどのパブリッククラウドを使ったデータ分析基盤構築コンサルティングサービスを提供しております。