伝説のどいつまの伝説~失敗編~

岩美に永住したい新米エンジニアのあれやこれやな話。

【1 人アドベントカレンダー 2020】第 1 日目

だいぶアドベントカレンダーの趣旨からは外れてしまいますが、今年も 1 人アドベントカレンダー実施することにしました。
25 日まで毎日更新頑張ります!
qiita.com

今日の項目内容

最適な Azure サービスを選択してビジネス プロセスを自動化する

  • テクノロジのオプションを確認する
  • 決定の条件を分析する
  • ビジネス プロセスを自動化するための最適なデザイン優先テクノロジを選択する
  • ビジネス ロジックを実行するために Azure Functions を選択するのが適している状況

学習内容まとめ

テクノロジのオプションを確認する

複数のシステムを統合して実装するテクノロジーが Azure では 4 つ用意されている。

  • Logic Apps
  • Microsoft Power Automate
  • WebJobs / WebJobs SDK
  • Azure Functions

Logic Apps と Microsoft Power Automate はユーザーインターフェースが用意されていて、デザイン重視のテクノロジーであるので、非技術者にも触れやすい。
WebJobs や Azure Functions はコード重視のテクノロジーなので、より細かい制御をしたいときやカスタムを行いたいときに大変適している。

決定の条件を分析する

ワークフローの設計を誰が行うかや要件によって、使用するテクノロジーを選択した方が良い。
Logic Apps は、GUI デザイナーが用意されていて直観的で扱いやすく、また内部をコードで編集することも可能。
Microsoft Power Automate は GUI デザイナーのみで、内部は編集不可になっているので細かい制御ができないが、非開発者には適している。
Azure Functions は豊富なトリガーが用意され複数のサポート言語、従量課金制モデルなど利点が多く、検討しやすい。
WebJobs は、Azure Functions ではサポートできないカスタマイズを行いたい場合や、既存の App Service のアプリケーションをモデル化した場合などに適している。

ビジネス プロセスを自動化するための最適なデザイン優先テクノロジを選択する

「自転車レンタル ビジネスの予約プロセス」という具体例を元に、どのテクノロジーを選択すればよいか?の演習を行う。
ここでは、社長やスタッフがワークフローの概要について理解することを重点においているため、デザイン優先のアプローチが良いと判断される。
REST API を使用してカスタムコネクタを作成するというシナリオから、今回は Logic Apps が選択された。

ビジネス ロジックを実行するために Azure Functions を選択するのが適している状況

前のワークフローより更に複雑な要件が足されたとき、デザイン優先のアプローチだけでは困難になる。
その場合、カスタム性により優れたコード優先のテクノロジーが採用される。
今回のシナリオでは、自転車の返却時にのみ関数が実行されればいいので従量課金制モデルを採用している Azure Functions が適している。
また、前のワークフローと統合する点でも、Logic Apps デザイナーから関数の呼び出しができる等の連携もしやすい為、Functions を選択した方が良い。

本日の内容は以上です。