はじめに
この記事は、Power Apps Advent Calendar 2023 12/10 担当分の記事です。
Japan Power Platform Conference 2023 - メインイベントにて登壇させていただきました!
powerplatformconf.connpass.com
私は12/8(金)のデータ・分析&その他で、13:25-14:25から行われたB10&B11のセッションを担当させていただきました。
唯一のパートが分かれたセッションでしたw
お話した内容は「Power Platformで始めるALM構築」という、Power PlatformでALMを行うにはどうすればいいのか?を主題にお話させていただきました。
あまり調べても情報が出てこないような内容なので、結構張り切って記事を書いたのですが。。。
そのせいで145ページにもわたる超大作になってしまい、割と端折ってお話したのですが、それでも時間内にすべておはなしすることができませんしたが。。。
セッションの最後でもお話した通り、このお話はまたどこか別の機会をとって再度お話させていただく予定です。
まだ開催日時などは決まっていないですが、決まり次第告知など行う予定ですので少々お待ちください。
今回こちらの記事ではちゃんとお話することができなかったので、資料の概要を簡単に紹介しようかと思います。
Power Platformで始めるALM構築
資料はこちら
ALMとは
こちらのページではALMの概念についてお話しています。
ALMとは、こちらのページの下にもある図の通り、
- 計画して
- 開発して
- テストして
- リリースして
- 運用して
- 課題分析して
を繰り返していくサイクルの事です。
恐らく、ALMという単語を知らなくとも皆さんアプリケーション開発を行う過程で自然とこれらを行っているかと思います。
以下のページではPower PlatformでALMを実現するとどういう動きになり、なにができるようになるのかを説明しています。
Power Platformでビルド、テスト、デプロイなどのパイプラインを自動化及び管理することで、開発速度の向上やアプリの信頼性、ユーザエクスペリエンスの向上を期待することができます。
こちらではPower PlatformでALMを行う場合に最低限必要な条件をまとめています。
ざっくり、
- Dataverse環境が必要
- ソリューションが必要
- 最低限、開発環境と運用環境は分ける必要がある
ということを理解していただければ。
ソリューションとは
これらのページではALMを実現するうえで必須となるソリューションの概要について記載しています。
ざっくり、
- ソリューションはアプリとかを1つにまとめたパッケージ
- ソリューションにはアンマネージドソリューションとマネージドソリューションがある
- アンマネージドソリューションが開発環境用
- マネージドソリューションが運用環境用
ということを理解していただければ。
www.docswell.com www.docswell.com
Power Platformで利用可能なALMの実現方法
Power PlatformでALMを実現するとすると以下4つが候補にあがります。
- PowerShell
- Power PlatformのPipelines
- Azure DevOps
- GitHub Actions
PowerShellでも実現できますが、実行環境が基本ローカルになる(Azure Functionsに設定するなどすればいいですが、そこまでするならDevOpsやGitHub Actionsでいいんじゃないかな)ということもあり、あまりPowerShellでALMを実現するのは個人的にはお勧めできません。
市民開発者向けの実現方法はPower PlatformのPipelines
プロ開発者向けの実現方法はAzure DevOpsもしくはGitHub Actions
です。
PowerShellの利用
PowerShellを利用してのALMの実現について記載していますが、先述の通り個人的にあまりお勧めできないので非常に簡素に記載しています。
Pipelinesの利用
Power PlatformのPipelinesを利用してのALMを実現する際のメリットと概要を記載しています。
Power PlatformのPipelinesは直感的な操作でALMを実現することができるように作成されていますので、市民開発者の方も少ない労力と知識でALMを実現することができます。
ただし、Power PlatformのPipelinesを利用する場合はマネージド環境が必要になってくるのでご注意ください。
マネージド環境とはなにか?に関してはたなさんのこちらの資料をご確認ください。
こちもJPPC2023でお話された内容ですね!
P.19からP.33まではPower PlatformのPipelinesの構築手順および実行手順について記載しています。
実際に試してみたい方はこちらを参考に構築していただければと思います。
また、現在米国環境であればデプロイ時にデプロイされるソリューションの概要のメモをCopilotが作成してくれる機能を試すことができますので、是非試される方は米国環境で試してみてください。
最後にこちらではPower PlatformのPipelinesを利用する場合の注意点をまとめています。
こちらの機能はまだPreviewですので「(現時点では)」との記載がいくつかありますが、まだできない(将来的にはできるかも?)という機能がいくつかあります。
DevOpsの利用
Azure DevOpsを利用してのALMを実現する際のメリットと概要を記載しています。
Azure DevOpsのビルドタスク(Pipelines)を利用してALMを実現することで、柔軟で複雑なALMを構築することが可能な他、異なる環境へのデプロイや、データの移行(マスタデータの移行とかに使えるかな?)ができるようになります。
ただし、こちらのやり方はプロ開発者向けのやり方なのでご注意ください。
P.37からP.68まではAzure DevOpsの構築手順および実行手順について記載しています。
実際に試してみたい方はこちらを参考に構築していただければと思います。
内容みていただければわかるかと思いますが、
- Microsoft Entra側の設定
- Azure DevOps側の設定
- Pipelinesの作成
が必要になってくるので難易度は高めです。
最後にこちらではAzure DevOpsを利用する場合の注意点をまとめています。
私も検証しているときに何度やっても上手くいかなかったことなのですが、PowerPlatformImportSolution@2
タスクでソリューションインポート時にConvertToManaged
オプションを利用してアンマネージドソリューションをマネージドソリューションに変換してインポートすることが恐らくできるはずだと、ドキュメントを見る限り私は理解しているのですが、これが現在うまいこと動いてくれません。。。
よって、動いてないと思われる旨を現在以下issuesで記載しています。(まだ返信なし)
GitHub Actionsの利用
GitHub Actionsを利用してのALMを実現する際のメリットと概要を記載しています。
GitHub Actionsのワークフローを利用してALMを実現することで、柔軟で複雑なALMを構築することが可能な他、異なる環境へのデプロイや、データの移行(マスタデータの移行とかに使えるかな?)ができるようになります。
Azure DevOpsとメリットはそう変わらないです。
ただし、こちらのやり方はプロ開発者向けのやり方なのでご注意ください。
P.72からP.90まではGitHub Actionsの構築手順および実行手順について記載しています。
実際に試してみたい方はこちらを参考に構築していただければと思います。
内容みていただければわかるかと思いますが、
が必要になってくるので難易度は高めです。
最後にこちらではGitHub Actionsを利用する場合の注意点をまとめています。
Azure DevOpsのPipelinesで利用可能なヘルパータスクと比較すると利用可能なヘルパータスクは少なめですね。
ALMの比較
- Power PlatformのPipelines
- Azure DevOps
- GitHub Actions
の簡易比較として、それぞれの特徴とどういうチームにおすすめなのか?を記載しています。
Power PlatformのPipelinesは手軽にALMを試してみたい方におすすめです。
Azure DevOpsはタスク定義を作成/管理できるメンバーが存在し、ニーズに合わせてパイプラインのカスタマイズを行いたい場合におすすめです。
GitHub Actionsはワークフローを作成/管理できるメンバーが存在し、ニーズに合わせてパイプラインのカスタマイズを行いたい場合におすすめです。
ALM Accelerator
Power PlatformでALMの実現を本格的に検討されている場合はこちらの導入を私はおすすめします。
ALM Acceleratorとは、これまで紹介したPower PlatformでのALM管理を補完するために提供されているツールです。
これ単体でALMを実現するわけではなく、あくまでも補完するためのツールな点にご注意ください。
ALM Acceleratorを導入することで、市民開発者とプロ開発者の溝を埋めることができます。
市民開発者にとっては、シンプルな操作でALMを実施することができ、プロ開発者にとってはALMをニーズに合わせてカスタマイズするような高度な機能が提供されています。
P.96からP.137まではALM Acceleratorの構築手順および実行手順について記載しています。
実際に試してみたい方はこちらを参考に構築していただければと思います。
内容みていただければわかるかと思いますが、
- Microsoft Entra側の設定
- Power Platoform管理センター側の設定
- ALM Acceleratorの設定
- 補完するワークフロー側の設定
- 補完するワークフローの作成
が必要になってくるので構築難易度は高めです。
管理者および開発者にはそこそこの技術力や環境への理解が求められます。
最後にこちらではALM Acceleratorを利用する場合の注意点をまとめています。
Power PlatformでのALM選択早見表
Power PlatformでのALMを実現する際に、どのサービスを利用すればいいか?を考える際の比較表を紹介しています。
こちらのサイトをまとめたやつです。
まとめ
この資料のまとめです。
Power Platformでアプリを作成したら最終的にALMの構築を目指さないといけないわけではないので、その点はご注意ください。
作成したアプリが自身のビジネスにおいて重要度が高かったり、アプリの機能として複雑性が増してきた場合にALMの導入を検討することになります。
おわりに
Power PlatformのALMに関する情報が少なすぎたので、多くの人にALMとはなにか?なにができるのか?Power Platfromではどうやって実現すればいいのか?について詰め込んで紹介しましたが、時間が足りずちゃんと紹介できないのは本末転倒ですね。。。
私のセッションを聞いてくださった方や運営の方々には本当に申し訳なかったと思っています。
こちらの記事や資料、当日のセッションを聞いて疑問点や質問がある方は遠慮なく質問していただければと思います。
私に答えられる範囲で答えさせていただきます。