LoginSignup
12
3

More than 1 year has passed since last update.

Azure Logic Apps でバッチ処理しよう

Last updated at Posted at 2022-12-05

この記事は Microsoft Azure Tech Advent Calendar 2022 の 6 日目の記事です。

自己紹介

Azure Logic Apps

そんな社会人もへそで茶を沸かす転職してレベル 1 駆け出しエンジニアな私なので、フレッシュな気持ちを炸裂させて気追わず等身大のことを書いていこうと思います!

この子、例えば「毎日定時に ServiceNow からレコードを取得しメールで通知」
image.png
もちろんファイル化したり、アップロードしたりを挟むことも可能です。いわゆるノーコード、ローコードなワークフローがサクッと作れるやつなのですが、これだけでももう自前でスケジューラとか開発しなくていいじゃん!という気持ち、オンプレ育ちの私の眼からは零れ落ちるものが多数。

image.png
Microsoft 製品はさることながら、Amazon* とも連携します。

用語: 概要 - Azure Logic Apps | Microsoft Learn
コネクタ一覧: すべての Logic Apps コネクタの一覧 | Microsoft Learn
Slack や WorkDay、ServiceNow、SAP、Oracle などなども見つかります。

Azure Logic Apps と Power Automate

概要は以上のようなところで、意外と見かける話題を解説してみます。この子、ワークフローがサクッと作れるやつ という語彙力のない表現ですと、製品を見比べる中で「Power Automate」との違いに説明が欲しくなりますね。Azure Logic Apps と Power Automate の違いについて公式ドキュメントを集めてみました。

image.png

公式

Power Automate と Logic Apps はどちらも、ワークフローを作成できる "デザイナー第一" の統合サービスです。 どちらのサービスも、各種の SaaS アプリケーションやエンタープライズ アプリケーションと統合されます。
Power Automate は Logic Apps の上に構築されています。 どちらも同じワークフロー デザイナーと同じコネクタを共有します。
Power Automate を使用すると、オフィスの従業員がだれでも、開発者や IT 部門の力を借りることなくシンプルな統合 (SharePoint ドキュメント ライブラリでの承認プロセスなど) を実現できます。 Logic Apps でも、エンタープライズレベルの Azure DevOps とセキュリティ対策を必要とする高度な統合 (B2B プロセスなど) が可能になります。 ビジネスで使用するワークフローは、時間の経過と共に複雑さを増してくるものです。

最初の質問は、GUI デザイナー ツールでワークフローを設計したいか、またはコードを記述したいかです。 デザイン優先ツールを使用する正当な理由は次のとおりです。
ワークフローを設計する人にコーディングの経験がない。
後の設計者やユーザーがグラフィカルな設計を見て、ワークフローのしくみを明確に理解できる。
または、次のような理由があれば、コード優先ツールの使用を選択できます。
ワークフローを設計するユーザーが開発者であり、すべての処理をコードで行うことを好む。
コーディング担当者以外にはワークフローの詳細が見えないようにする必要がある。

つまり

  • Power Automate も Azure Logic Apps も、「ワークフロー」を開発できるツールところは共通です。
  • いずれでも SaaS アプリケーションやエンタープライズ アプリケーション を利用する際にGUI ベースで容易に構築することが可能です。
  • しかし大きな違いは想定ユーザー。Power Automate は会社内の一般従業員、Logic Apps は開発者を主に想定しているとのこと。
    • Logic Apps ではワークフローを GUI 以外にもコード(JSON 形式)で作り込みでき、Visual Studio Code のような統合開発ツールからデプロイすることが可能です。
    • B2B シナリオの利用シーンにも対応したワークフロー を作成することができ、Power Automate よりも複雑な構成を作り込むことが可能です。

image.png

ということで掲題のとおり Azure Logic Apps でバッチ処理 させたら楽しかろうと私は思うわけであります。いやバッチ処理 ってのも雑なのですが ちょっとした任意のタイミングで回したくなる何かとか、載せ替えたらいいじゃないですかねって。

そのほかの Tips

  • リソースの保存先が異なる
    • Logic Apps は Power Platform とはリソースの管理元が異なっており、
      Azure 側のリソースグループに構築されるリソースとなる。
  • Logic Apps は大きく従量課金タイプ(マルチテナント)とStandard タイプ(シングルテナント)タイプがある
  • 課金も細かい
  • 同じ系譜の MSMQBizTalk Server などというものとの歴史も書こうかと思ったがまた別の機会に... 。

参考

さて、前職の記憶をもとに軽く「バッチ処理しよう」なんてかいてしまった...。が、実際は銀の弾丸などないわけで課金計算や業務想定やら複雑にチューニングは必要になるから私も途方にくれたんだよな。ともあれ可能性のひとつとして Logic Apps 楽しいよ、というところがオンプレの民にもつたわったらうれしいです。最後までお読みいただきありがとうございました!!!

12
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
3