短時間でより多くのアプリケーションを作成してデプロイする
Note
これは、Microsoft Cloud でアプリケーションを構築する記事の 2/6 です。
ほとんどのエンタープライズ アプリケーション開発リーダーにとって、より良いアプリケーションを短時間で作成してデプロイすることは共通の目標です。 この記事では、Microsoft Cloud を使用してこの目標を達成する方法について説明します。
Microsoft Azure を使用してプロコード開発を成功させる
プロフェッショナルのソフトウェア開発者は、エンタープライズ開発組織の中心です。 これらのプロコード開発者は、C#、Java、Python、その他のプログラミング言語を使用してカスタム ソフトウェアを作成します。 また、強力なデータベース システム、メッセージング サービス、およびプロの開発者を対象としたその他のテクノロジも使用します。
Microsoft Cloud は、プロコード開発者をサポートするために、一連の幅広いサービスを有する Microsoft Azure を提供します。 組織は、作成する必要があるアプリケーションに最適なオプションを選択できます。
- Azure Virtual Machines。Linux 仮想マシンと Windows 仮想マシンをデプロイするために用います。
- Azure App Service。Web アプリとモバイル バック エンドを実行するための HTTP ベースのテクノロジです。 ソフトウェアはさまざまな言語で記述でき、Windows または Linux のいずれかで実行できます。
- Azure Kubernetes Service (AKS)。コンテナー化されたアプリケーションを実行するためにマネージド Kubernetes クラスターをデプロイします。
- Azure Functions。関数と呼ばれる呼び出し可能なコード ブロックを作成し、クライアント要求を処理するために必要に応じて自動的にスケーリングするために使用します。 このアプローチは、サーバーレス コンピューティングの例です。
- Azure Static Web Apps。GitHub または Azure DevOps リポジトリでアプリケーション ソース コードに加えられた変更によってトリガーされ、Azure に Web アプリケーションを自動的にビルドしてデプロイします。 Static Web Apps は、Azure Functions で作成されたサーバーレス アプリケーション API をホストし、Angular、React、その他のフレームワークで構築されたフロントエンド Web アプリをデプロイすることもできます。
- Azure Logic Apps。開発者が自動化されたワークフローを作成して実行できるようにするサービスです。 これらのワークフローはアプリケーションとデータを統合できるため、組織はエンタープライズ向け、および企業と企業間 (B2B) シナリオ向けのスケーラブルな統合ソリューションをすばやく開発できます。
- リレーショナル データ サービス (次を含む):
- Azure Cosmos DB。データを操作するためのいくつかの異なる方法に対するスケーラブルなサポートを備えたフル マネージドの NoSQL データベースです。
プロコード開発者が Azure を使用する方法を理解するために、組織が顧客と従業員の両方で使用するカスタム アプリケーションを作成する必要があるケースを考えてみます。 例:
- ある医療機関が、医療の専門家がアップロードするテスト結果に患者がアクセスする方法を提供することを考えている。
- ある金融サービス会社のお客様が、その会社の従業員が承認する必要があるローンを申請する。
このようなシナリオでは、アプリケーションは、お客様とも従業員とも対話し、データを共有する、個別のコンポーネントを備えることになると思われます。 図 2 に、このソリューションの基本構成を示します。
図 2: 最新のエンタープライズ アプリケーションの多くでは、お客様と従業員が共有データを操作する。
多数の同時ユーザーに対応するアプリケーションの応答性を維持するために、プロコード開発者は Azure でお客様向けのソフトウェアを構築できます。 Azure Kubernetes Service で実行されるコンテナーでマイクロサービス アーキテクチャを使用することも、Azure App Service でホストされている Web アプリケーションを使用する方が簡単な方法である場合もあります。 どちらの方法でも、開発者はアプリケーションで使用するデータ サービスを選択する必要もあります。 図 3 にこのしくみを示します。
図 3: プロコード開発者は、Azure App Service と Azure SQL Database を使用して、アプリケーションのお客様向けの部分を作成できます。
この例では、開発チームは、Azure App Service と Azure SQL Database を使用して、お客様向けのアプリケーションを作成することを選択します。 その結果、組織のお客様と効果的に連携するスケーラブルで信頼性の高いアプリケーションが得られます。
アプリケーション開発ツールの提供に加えて、Microsoft Cloud には運用ツールも用意されています。
- Azure Monitor は、アプリケーションの可用性とパフォーマンスを最大化するようアプリケーションを監視するサービスです。 システムのさまざまな側面を表現するメトリックを収集し、イベント、トレース、パフォーマンス データを含むログを作成します。
- Application Insights は、アプリケーションのパフォーマンスを管理するための Azure Monitor の機能です。
- Log Analytics は、ログ データのクエリを実行するための Azure portal のツールです。
Azure Well-Architected フレームワークには、プロフェッショナルな開発者がより優れた Azure アプリケーションを作成するのに役立つガイダンスがあります。 クラウド導入フレームワークには、Azure の導入と管理に関するガイダンスとベスト プラクティスがあります。
Power Platform を使用してローコード開発を成功させる
アプリケーションの一部には、ソフトウェアの専門家ではないユーザーが使用できるツールであるローコード ツールを使用して、迅速かつ簡単に作成できるものがあります。 可能な限り、プロコードの方法ではなく、ローコードの方法でアプリケーションを作成し、より多くのアプリケーションを短時間で作成し、コストを節約します。 ローコード開発は、ソフトウェアの専門家でも、ソフトウェアの専門家ではない市民開発者でも行うことができます。
Microsoft Cloud では、ローコード開発向けに Power Platform を提供しています。 これには、次のサービスが含まれます。
- Power Apps、ローコード アプリケーションの構築に使用
- Power Automate、ビジネス プロセスを自動化するフローの作成に使用
- Power Virtual Agents、チャットボットの構築に使用
- Power BI、データ駆動型の分析情報の作成に使用
これらのサービスはすべてプロフェッショナルでない開発者が使用できますが、ローコード開発がプロフェッショナルの開発者にとって真の価値をもつこともあります。 多くの場合、Power Platform を使用して、C# のような言語を使用する場合よりも迅速にアプリケーションを作成できます。
サンプル アプリケーションでは、Power Apps を使用して従業員向けのコンポーネントを作成します。 図 4 に、このしくみを示します。
図 4: 市民開発者またはプロフェッショナルの開発者が、Power Apps を使用して、ソリューションの従業員向け部分用のローコード アプリケーションを作成できます。
ローコード アプローチの利点を次に示します。
- ローコード アプリケーションは短時間で準備できます。 Power Apps 開発者は、一般的に Power Apps Studio を使用して、ポイントアンドクリック アプローチでアプリケーションをすばやく作成します。コードを記述する必要はありません。 アプリケーションが市民開発者によって作成されるということは、プロフェッショナルの開発者が利用できるようになるのを待つ必要がないということです。 アプリケーションを、独自のスケジュールで作成して更新できます。
- ローコード アプリケーションを、さまざまな種類のデータに簡単に接続することができます。 この例では、ローコード アプリケーションで、ソリューションのプロコード部分と同様に、データに Azure SQL Database を使用します。 ローコード アプリケーションは、Power Platform で使用するように設計された Dataverse、または Azure Cosmos DB など、他の多くのデータ ストアとも連携することができます。 アプリケーションは、コネクタを使用してデータ ストアにアクセスします。 開発者は、コネクタをアプリケーションにドラッグ アンド ドロップすることで、アプリケーションにコネクタをすばやく追加できます。
- コネクタを使用することで、ローコード アプリケーションは他の多くのテクノロジと連携できるようになります。 たとえば、Microsoft では、アプリケーションと Oracle、Salesforce、Dropbox、SAP など、多くのソースからのデータへのコネクタを提供します。 450 を超える数のコネクタがあります。 アプリケーションでは、コネクタを使用して、Twitter でツイートを送信するなど、他のクラウド サービスによって提供される機能にアクセスすることもできます。
ローコード開発は、組織に対して、より多くの方法でアプリケーションを構築し、しかもそれらを迅速に構築するための方法を提供するテクノロジです。 これは、短時間でより優れたアプリケーションを作成するために不可欠な方法です。
必要に応じて、プロフェッショナルと市民開発者が連携してアプリケーションを作成できます。 フュージョン開発と呼ばれるこのアプローチについては、付随する「記事 3. 技術的な才能から最大限の価値を得る」で説明します。
Microsoft Teams を使用したアプリケーションのデプロイ
どのように構築したものであれ、アプリケーションは使用されてこそ価値があります。 このため、ユーザーがいる環境にアプリケーションを埋め込むのはよい考えです。
この重要な例が、Microsoft Teams 内にアプリケーションをデプロイすることです。 Azure を使用して作成されたプロコード アプリケーションは、このオプションを使用できます。これは、Power Platform 上に構築されたローコード アプリケーションでも同様です。 Teams は毎月何億人もの人々によって使用されており、アプリケーションをこの人気のあるテクノロジに接続しない手はありません。
ローコード アプリケーションについては、もう 1 つの強力なオプションがあります。Dataverse for Teams を使用することです。 これは Microsoft Teams の一部であり、それがさらに Microsoft 365 の一部であるため、通常、使用するために追加のライセンスは必要ありません。 Dataverse for Teams には、Power Automate、Power Virtual Agents、Power BI のサブセットも含まれています。
Dataverse for Teams を使用する利点を次に示します。
- チーム メンバーに対するアプリケーションとデータのデプロイが簡略化されます。
- Teams を使用することで、アプリケーションのアクセス許可を制御できます。 Power Apps 自体で使用できるより詳細なオプションを操作するのではなく、チームのメンバーに対して既に確立されているアクセス許可を使用できます。 これはより簡単で、間違いにつながる可能性が低くなります。
- ローコード アプリケーションについて、統一されたユーザー インターフェイス スタイルが得られます。 市民開発者の各グループでそれぞれに独自のアプローチを定義するのではなく、Teams のスタイルと一致させることで、アプリケーションを理解しやすく、使いやすくすることができます。
Dataverse for Teams を使用するかどうかにかかわらず、Teams 内にアプリケーションをデプロイすることは、Microsoft Cloud の統合サービスによって提供される明確な価値の一例です。
次の手順
フュージョン開発の技術的な機能と、GitHub と Azure DevOps を含むローコードとプロコードの統合された開発プロセスの価値を、成功しているエンタープライズ アプリケーションの開発リーダーがどのように最大限に利用しているかを見ていきます。