iPaaSを使ってシステム運用保守を軽減

# はじめに
この記事は、[All About Group（株式会社オールアバウト） Advent Calendar 2023](https://qiita.com/advent-calendar/2023/allabout) 13日目の投稿です。
オールアバウトナビエンジニアの @k_shiota です。

# iPaaSとは

iPaaSとは、Integration Platform as a Serviceの略で、複数のクラウドサービスやオンプレミスシステムなどを連携させるためのプラットフォームです。
iPaaSを利用することで、データの一元化や業務の自動化、情報のリアルタイム共有などが可能になります。

iPaaSのメリットとしては、以下のような点が挙げられます。

- クラウドベースなので柔軟性があり、ビジネスニーズに応じてリソースをスケールアップ・ダウンできる
- ビジネスプロセスを効率化し、生産性を向上させる
- ノーコードもしくはローコードでワークフローを構築できる

一方、iPaaSのデメリットとしては、以下のような点が考えられます。

- システムの統合が公開されたAPIに依存しているため、APIが公開されていないシステムとの連携が難しい
- セキュリティやコンプライアンスの面で、クラウドサービスの信頼性や規制に注意する必要がある
- iPaaSの導入や運用には、専門的な知識やスキルが必要な場合がある

# どんなときに役立つか
- コミュニケーションの効率化
    - Salesforceで商談の記録が作成されたら、Slackにも自動で通知されるといった具合に、異なるコミュニケーションツールを連携させることで、情報の伝達や確認をスムーズにする
- 受注情報の一元管理化
    - SFAに顧客情報を取り込んだときに、連絡先などの関連したデータにそのまま転記されるといった具合に、異なるシステム間でデータの自動転記を行うことで、データの一元化や正確性を向上させる
- 定型業務の自動化
    - 電子メールのクラウドサービスであるGmailで請求書のファイルを受け取ると、ファイル共有のクラウドサービスであるGoogle Driveの「経理用フォルダ」に請求書ファイルを入れるといった具合に、定型的な業務フローを自動化することで、作業時間やミスを削減する
- データ分析の高度化
    - 複数のシステムを連携させることで、たとえば財務や営業のデータを統合し、AIや機械学習、高度なアナリティクスを用いてより深い洞察や予測を得る

などなど、上げるときりがない気がしてきました。。。

# iPaaSを提供しているベンダー
iPaaSを利用できるサービスは以下のようなものがあります。

- Workato（ワーカート）
    - https://workato.jp/
> エンタープライズのビジネス成長を加速させる、業務自動化のためのオールインワン プラットフォーム。
- IFTTT
    - https://ifttt.com/
> ビジネスと家庭向けのオートメーション
- Make(Integromat)
    - https://www.make.com/en
> タスクやワークフローからアプリやシステムに至るまで、あらゆるものを 1 つの強力なビジュアル プラットフォームで構築および自動化します。
- Zapier（ザピアー）
    - https://zapier.com/
> あなたの役割とビジネスに合わせてカスタマイズされた自動ワークフローを構築します。
- Azure Logic Apps
    - https://azure.microsoft.com/ja-jp/products/logic-apps
> Azure Logic Apps は、コンテナー化されたランタイム上に構築された、主要なサービスとしての統合プラットフォーム (iPaaS) です。
- AWS AppFabric
    - https://aws.amazon.com/jp/appfabric/?trk=e1bb982a-1520-4876-afd4-a8b10362f88f&sc_channel=el
> SaaS アプリケーションを接続して連携を強化する
- Google Cloud Application Integration
    - https://cloud.google.com/application-integration?hl=ja
> Integration Platform as a Service（iPaaS）により、任意のアプリケーションをマウス操作だけの構成で接続することで、ビジネス プロセスを自動化できます。

数多くありますが、下記の点を考慮して選定すると良い気がしています。
- 連携できるサービスを確認
    - 自社で利用しているサービスとの互換性や拡張性を確認
- 国内での事例を探す
    - iPaaSは海外発のサービスが多く、日本での導入実績やサポート体制が不十分な場合がある
- 目的に応じた処理ができるか
    - iPaaSには、レシピ型、ETL/ELT型、EAI型、ハイブリッド型など、さまざまなタイプがある

# 具体的な使用例
今回は、make（integromat）とApplication Integrationを利用しましたので、その設定を見たいと思います。

## make（integromat）
SNSへの予約投稿機能に利用しました。
カレンダーに登録されているスケジュールで開始時間になったら、カレンダー情報に記載されている内容を投稿する仕組みです。
イメージとしては下記になります。
![スクリーンショット 2023-12-13 15.50.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98891/1a8a3f32-4851-29b2-e530-5739b043189f.png)

実際のmakeのシナリオ画面です。
ファイルアップロードの機能もあるため、HTTPの処理でファイルをアップロードして、そのファイルを使い投稿しています。
![スクリーンショット 2023-12-13 15.53.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98891/a4adea4e-495e-0345-1f72-ffc0e352fd77.png)

## Application Integration(GCP)
Googleスプレッドシートの情報を読み取る処理を作成しました。
https://cloud.google.com/apigee/docs/api-platform/integration/gcp-tasks/run-sheets-get-task?hl=ja

sheetAPIを利用するため認証情報が必要です。
必要なスコープ（スプレッドシートを読み込める権限)を指定して認証しました。
https://cloud.google.com/application-integration/docs/configure-authentication-profiles?hl=ja

![スクリーンショット 2023-12-13 16.02.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98891/c911aae4-3418-c101-7828-e9be0351d70c.png)

![スクリーンショット 2023-12-13 16.06.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98891/754cad9e-45c5-dabb-1ede-6440d4c70efd.png)

下記ではスケジュールをトリガーにして、ジャンル名をシートから取得しデータを整形しています。
![スクリーンショット 2023-12-13 16.08.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/98891/5463f5ca-0c79-9ff3-62f7-17e99b1dd7a0.png)

整形後にCloudSQLやBigQueryにデータを入れることも可能です。

# まとめ
いままで各プラットフォームとの連携は、APIの仕様に左右され保守運用にもコストがかかっていました。
連携部分をiPaaSに任せることによってサービスの変更にも柔軟に対応できるようになりました。

iPaaSはこれから利用が拡大していく見込みです。
https://www.itr.co.jp/topics/pr-20220714-1
今のうちに触れてみて、まずは小さく始めてみましょう。

最後にオールアバウトではエンジニア募集中です！
https://hrmos.co/pages/allaboutgroup/jobs?category=1670319657561546752