今回の記事では、Power PlatformにあるALM(Application Lifecycle Management)を簡単に紹介させて頂きます。
汎用的なアプリケーション ライフサイクル マネジメントの意味は、システム開発における製品のライフサイクルを跨いで継続的にプロセス管理とのことです。
Power Platformはローコードのプラットフォームであり、特有のALMが存在します。これについて、Microsoftはわざわざ下記のドキュメントが作って頂いてます。アプリケーション ライフサイクル管理 (ALM) と Microsoft Power Platform – Power Platform | Microsoft Docs
Power Platform ALMの概念と特徴
Microsoftは、Power PlatformのALMは下記のように定義します。
ALM は、ガバナンス、開発、メンテナンスを含む、アプリケーションのライフサイクル管理です。
いわゆるアプリケーションを構築してから、使用したり反復し続けるようなプロセスを管理することを指します。
実際のエンタープライズ・アプリケーションでは、ざっくり下記4段階のサイクルが必要です。
1、まず要件定義や分析する必要があります。続いて、コードで構築し、この場合はPower Appsでコードを記述します。
2、そしてテストを行い、テストに合格した時点でリリースします。
3、リリースが完了したら、Power Appsではデプロイというフェーズで、アプリケーションを正式な環境に配置することになります。
4、正式稼働後、運用しながら、モニタリングによってパフォーマンスを分析します。
Power AppsにてALMを実現する方法論
Power PlatformはローコードだからALMは不要と思われる方も多いと思います。もちろんALM使わなくても欲しいアプリケーションを素早く構築することは可能です。
しかしながら、アプリケーションがより複雑になり、様々な開発者が介入するようになると、ALMを活用したほうが大きな助けとなります。
Power Platformのライフサイクル全体は、実は実際の開発と非常によく似ています。ただ、ALMを導入するには、以下のような機能が必要です。
・環境(Environments)
環境では、アプリケーションの開発、テスト、本番環境を分けて、それぞれの環境のデータが完全に独立しているまま、本番環境が影響を受けないようにすることができます。
・ソリューション(Solutions)
ソリューションには、システムで使用される各機能のアプリケーション、プロセス、テーブル、依存関係をすべて含めることができます。
ソリューションはコンテナのイメージとして、システムで使用するものをすべてソリューションに含めることで、インポートやエクスポートを行うことで、システム全体を開発から本番に移行することができるようになります。
・ソース管理(Source control)
バージョン管理ができるように、ソリューションをソースコード管理システムに格納する必要があります。
・自動化(Automation)
自動化ツールは、ソリューションの検証、インポート、エクスポートの操作を自動化するのに役立ちます。 これにより、ライフサイクル管理の自動化、ソリューション全体の本番環境への自動移行が可能になります。
上記はPower Apps ALMの図を示しています。右上にあるMakers extend appから見ましょう。
まず、開発環境にアプリケーションを作成します。
そして、その解決策を環境から抽出し、ソースコード管理システムに格納します。
しかし、ソリューションを抽出する際、ソースコード管理システムに格納するために、Power Platformにてソリューションを分解する必要もあります。
そして、ソースコードを変更し、Power Platformを使ってソースコードから再度パッケージ化し、開発環境にソリューションをプッシュすることができます。また、アプリケーションが完成したら、そのソリューションを他のテスト環境、あるいは本番環境にプッシュすることも可能です。
開発者向けのヒント提示
プリセールスと機能コンサルタントの立場からして、ここまでの基本知識を抑えておけば、十分に使えると言えますが。開発者のであれば、さらに深い理解やハンズオンが求められます。
ここでは幾つかのヒントを提示させて頂きます。
・MicrosoftはPower Platform用のGitHub Actionを提唱します。Microsoft Power Platform の GitHub アクション – Power Platform | Microsoft Docs
Github Actionsは、ALMを実現するための具体的な手段、ベストプラクティスとなります。
継続的インテグレーションのロジックはほぼ同じで、一から作る必要がなも、自分で複雑なスクリプトを書く必要もなく、既存のGithub Actionsを活用すればいいのです。
Github ActionsはすべてYAMLで記述されています。Gtihub Actionsにより、Power Appsのソース管理が可能となります。
コメント