Power Platform におけるアプリケーションライフサイクルマネジメント(ALM)とは?
Power Platform におけるALMについて考えてみましょう。
(市民開発者の方にも読みやすいようにしたつもりです。難しそう...という方も是非読んでみてください。)
ALM(アプリケーションライフサイクルマネジメント)とは...の前に
ALMの前に、アプリケーションライフサイクルとはなんでしょうか。
まず、アプリケーション開発には大きく以下のような工程が存在します。
- 計画と設計
- 開発
- テスト
- リリース
- 運用
- 監視と学習
この一連の工程を何度も回していくようなプロセスをアプリケーションライフサイクルと呼びます。
もう少しかみ砕くと、
- 解決すべき課題や目標を掲げて、
- どうやって実現するか考えて、
- 作ってみて、
- 想定通りに動くか確認して、
- 使える状態にして、
- 使ってみて、
- フィードバックを得たり、改善点を見つけて次に生かして、
- 解決すべき課題や目標を掲げて、...
というのを繰り返していくということです。このライフサイクルを回していくことでアプリケーションの改良をしていくことができるわけです。
すでに Power Platform に触れている方にとっては、自然にライフサイクルを回していることに気が付かれるかもしれません。一度アプリを作る(動作可能な状態にする)だけで完成、その後は一切改良しない、なんてことはまずないかなと思います。作ってみて、使ってみて、改良して...ということは自然にやられていると思います。
ですので、多くの方はすでにアプリケーションライフサイクルを回しているはずです。そんなに構えなくても大丈夫です。
ALM(アプリケーションライフサイクルマネジメント)とは
アプリケーションライフサイクルを理解したところで、肝心のALMについてです。
ALMとは、このアプリケーションライフサイクルをマネジメントすることで、より回しやすくしていきましょう!というような概念のことです。
先ほど多くの方はアプリケーションライフサイクルを回している、ということを主張してみました。ですが、皆さん完全に回せているかというとどうでしょうか。
- 開発と運用の環境は分けているか?
- リリースの前に、適切なテストを毎回実施できているか?
- リリース作業は適切に、ミスなく行えているか?
- リリース後に問題が起きた時に、迅速に元に戻せるか?
など、精査してみると実は課題感がある状態なことも多いと思います。(必ずしもすべてのケースで完全なALMが必要でもないと思います。上記は一例です。)
上記のような課題を考えた時、アプリケーションライフサイクルも管理された状態にする必要性が出てきます。このような概念がALM(アプリケーションライフサイクルマネジメント)です。
多くの場合、適切なツールなどを用いて管理していきます。
ALMツールとは?
Microsoft でいえば Azure DevOps がそれに該当します。これは主にプロ開発者向けの製品になります。チームでの計画と設計のための機能や開発進捗、ソースコード、テストとデバッグ、リリースなどの管理が可能で、アプリケーションライフサイクルを管理しつつ回すための機能がそろっています。
Power Platform では、ソリューションはALMのための機能です。また、ALMを簡易にするための機能がマネージド環境のパイプラインで提供されています。ミッションクリティカルなソリューション開発などでは、先に挙げた Azure DevOps と連携させてさらに高度なALMを構築することもあります。
Power Platform でのALM
Power Platform でのALMの基本はソリューションです。
ソリューションには1つのシステムを構成する Power Apps キャンバスアプリ や Power Automate クラウドフロー、Dataverse のテーブル構成情報や内部的な接続情報であったり、セキュリティロールなど構成に必要なすべての要素を含めてパッケージ化することができます。
これは例えば、1つのフォルダにExcelファイルやWordファイルなどをまとめて入れると管理がしやすい。移動もしやすい。ということに似ていますね。
この仕組みを利用して、1つのシステムを丸ごと異なる環境へ移植させることができます。
ALMと環境戦略
ALMを考えたときには、組織の環境戦略と密接にかかわってきます。
ソリューションを用いたALMが基本となりますが、ソリューションの移植は環境から環境へ行います。つまり、ソリューションでの移植を行うには最低2つの環境が必要です。
さらに適切なALMを考えた時には、以下の構成が必要です。
- 開発/Dev環境
- テスト/QA環境
- 運用/本番環境
ですが、環境を作成するには Dataverse 容量を消費するため、組織のリソースをどのように活用するか、どのように環境を切り分けるか、などの戦略を組織単位で立ててALMを実現しなくてはなりません。
Power Platform 環境戦略については、こちらを参考にしてください。
環境戦略の確立 - Microsoft Power Platform - Power Platform | Microsoft Learn
まとめ
ALMを適切に行おうとすると考慮しなければならない領域が多くなってしまいますが、まずはALMの意義を理解し、どのレベルで行うべきかを判断していければよいと思います。並行して、必要な時にALMを構築できるよう環境戦略についても検討を進めていけるとよいですね。
フォローしませんか?
お気軽にご依頼・ご相談ください