こんばんは。今日は、Azure Logic Appsの流し読み記事です。
最近Logic Appsを使ってみる機会があったので、その際に調べて学んだことを簡単にまとめておきたいと思います。なお、Azureサービスは進化が激しい(かつ、筆者の理解が正しくない部分もあるかもしれませんので)、以下の情報はあくまで2022年4月時点の筆者調べとご理解いただき、最新情報はリンクのドキュメント等からご確認ください。
それではまります。
Contents
Azure Logic Appsとは
超ざっくりですが、概要は以下です。
- Azureが提供するiPaaS*
- 完全ノーコードで統合ワークフローの作成が可能
- Microsoft が管理する事前構築済コネクタを使って、簡単にいろんなサービスを接続可能。特にOffice含めたMicrosoftソリューションとの連携シナリオは大体カバーされている
- Microsoft Azure によって完全に管理されているので、ホスティング、スケーリング、管理、監視、メンテナンスについて心配する必要はない。ニーズに合わせて自動的にスケーリングする。
ということで、コードの実装することなく、クラウドサービスのマネージにより幅広いサービスとの接続を堅牢に実現することができるスグレモノ、という説明です。
参考:https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-overview#why-use-azure-logic-apps
Azure Logic Appsの展開オプション
Azure Logic Appsの以下の展開オプションを検討するにあたっては、以下の観点を抑えておく必要があります。それぞれもう少し掘り下げてみてみます。
- ホスト環境
- 価格モデル
参考:https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-overview
ホスト環境
上記Docsより、以下のように整理できそうです。Logic Appsは以下の環境で展開可能です。
オプション | 説明 |
---|---|
シングルテナントAzure Logic Apps | “1 つのテナントのLogic Apps内” で同じ処理 (コンピューティング)、ストレージ、ネットワークなどが共有されます。 |
マルチテナント Azure Logic Apps | ”複数テナント”でコンピュート・ストレージ・ネットワークリソースなどが共有される |
統合サービス環境(ISE) | “同じ環境内“でコンピューティング、ストレージ、ネットワークなどが共有される |
App Service Environment (ASE) v3 | “1 つのテナントのLogic Apps内” で同じ処理 (コンピューティング)、ストレージ、ネットワークなどが共有されます。 |
Azure Kubernetes Service(プレビュー) | – |
*Kubernetesについては今回は割愛。以下に説明があります。
https://docs.microsoft.com/ja-jp/azure/app-service/overview-arc-integration
また、シングルテナントとASEのオプションではリソース共有モデルは同じようにみえるので、別の観点で差別化されているわけですが、この点については以下のように説明されています。
シングル テナントと同じ機能に “加え”、以下のメリットがあります。
– ロジック アプリを完全に分離します。
– シングルテナント Azure Logic Apps の場合よりも多くのロジック アプリを作成して実行します。
– 作成して実行するロジック アプリの数に関係なく、ASE App Service プランに対してのみ支払います。
– 自動スケールを有効にしたり、より多くの仮想マシン インスタンスや別の App Service プランを使用して手動でスケーリングできます。– 選択した ASEv3 からネットワーク設定を継承します。
https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-overview
価格モデル
オプション | 説明 |
---|---|
従量課金 | 1つのLogic Appsあたりワークフローを “1 つだけ” 使用できる |
Standard | 1 つのLogic Appsに、複数の “ステートフル” と “ステートレス” のワークフローを含めることができる |
ステートフルなワークフローでは、前回のワークフローの実行結果を保持して次の実行時に参照したりすることができます。
より詳細な情報は以下にまとめられています。
https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-pricing
展開オプション
ということで、まとめると以下の組み合わせがサポートされているようです。
オプション | 備考 |
---|---|
シングルテナント×Standard | |
マルチテナント×従量課金 | |
マルチテナント×Standard | 説明なしだけど、価格みるとサポートされてそう。 https://azure.microsoft.com/ja-jp/pricing/details/logic-apps/ |
ISE×従量課金 | |
ISE×Standard | 説明なしだけど、価格みるとサポートされてそう。 https://azure.microsoft.com/ja-jp/pricing/details/logic-apps/ |
ASEv3 × Standard |
Azure Logic Appsの価格
Azure Logic Appsの価格は、上記でご紹介した、価格モデルと、またホストする場所によって変わってきます。ここのパターンが多いことが分かりづらい原因ですね・・・。
頑張って整理してみたいと思います。
価格モデル/ホスティング | 価格の考え方 |
---|---|
Standard | ・CPUとメモリの使用量の合計によって課金される ・Standardの中に、さらに3つの価格帯(WS1, WS2, WS3)があり、仮想CPU、メモリスペックが異なる |
従量課金 | ロジック アプリで指定されたトリガーとアクションに基づいて課金される |
ISE | ロジック アプリ (従量課金) のリソースの種類を使用してロジック アプリを作成し、専用の “統合サービス環境” (ISE) にデプロイすると、そのロジック アプリとそのワークフローは、統合サービス環境プランの価格に従って課金される。 この価格モデルは、ご利用の ISE レベルまたは SKU に依存しており、予約容量と専用リソースに対して、それらを使用しているかどうかに関係なく課金されるという点で、従量課金プランとは異なる。 |
ASEv3 | 作成して実行するロジック アプリの数に関係なく、ASE App Service プランに対してのみ支払う。 |
従量課金の場合は、以下のようにアクションやコネクタの種類によって課金額が異なるようです。
Standardの場合の見積もりは、以下のように紹介されています。
1か月730時間稼働させた場合の見積もりは以下。
ISEの場合は、以下。Developer ベースユニットで月110,000円ほど。Premiumベースユニットだと672,000円・・・!たっか・・・!今回調べ切れていませんが、そこまで価格を上げるに見合う良いメリットが他にあるのでしょう。。
ASEv3の価格例は以下。I1V2で月730時間で51,000円程度、I3V2だと204,000円程度。Logic Apps単体で見るとこちらもかなり高く見えますが、ASE上に他のWebAppsやFunctionsなどを動かしている場合には、追加コストなく利用できそうなのでこちらもオプションとなりそうです。
なので、Logic Apps単体で使うつもりで、従量課金以外でシンプルに安く使うのであれば、ISE, ASEv3以外のStandardプランを選択すればよさそうです。
参考:
https://azure.microsoft.com/ja-jp/pricing/details/logic-apps/
https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-pricing#consumption-pricing
他のAzureサービスとの違いは?
ここが一番混乱しますよね。一応こちらにまとめられています。
https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-compare-logic-apps-ms-flow-webjob
類似のサービスとしては、以下が挙げられています。
- Power Automate
- Azure Functions
- WebJobs
デザイナーを使ってノーコードで開発したくて(ここが一番おおきそう)、かつビジネス部門のユーザではなく開発部門のユーザが使う場合には、Logic Appsが選択肢になりそうです。
以上、簡単ではありますがLogic Appsの利用を検討する上で知っておくとよさそうな概要のまとめでした。ご参考になりましたら幸いです。
おしまい
参考: