演習 - App Service にモノリシック アプリケーションをデプロイする
モノリシック アーキテクチャとマイクロサービス アーキテクチャについて少し説明しました。 次に、モノリシック アプリケーションをデプロイし、マイクロサービス アーキテクチャに進化させる方法についてさらに詳しく説明します。
Fabrikam は最近、既存のアプリケーションにドローン サービスを追加しました。
この演習では、モノリシック アプリケーションを Azure App Service にデプロイし、Azure Monitor でテレメトリとアプリケーションのパフォーマンスを可視化できるようにします。
Azure App Service にモノリシック アプリケーションをデプロイする
まず、アプリケーションをデプロイします。 まず、アプリケーションをホストする Azure リソースを作成する必要があります。
次のコマンドを実行して、このアプリケーションに必要なリソースをデプロイします。 このデプロイには数分かかります。
az deployment group create \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --template-uri https://raw.githubusercontent.com/MicrosoftDocs/mslearn-microservices-architecture/master/deployment/azuredeploy.json
リソースが作成されたので、アプリケーションをデプロイしましょう。 まず、次のコマンドを実行して、サンプル リポジトリからソース コードをプルします。
git clone https://github.com/MicrosoftDocs/mslearn-microservices-architecture.git ~/mslearn-microservices-architecture cd ~/mslearn-microservices-architecture/src/before
次のコマンドを実行して、アプリ サービスへのデプロイに使用するアプリケーション コードを zip 圧縮します。
zip -r DroneDelivery-before.zip .
次のコマンドを実行して、アプリ サービスの名前を持つ変数を設定します。
APPSERVICENAME="$(az webapp list \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --query '[].name' \ --output tsv)"
次のコマンドを実行して、デプロイの一部としてビルドを実行するようにアプリ サービスを構成します。
az webapp config appsettings set \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --name $APPSERVICENAME \ --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
次に、次のコマンドを実行して、アプリケーションを App Service にデプロイします。 このデプロイの完了には数分かかります。
az webapp deploy \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --name $APPSERVICENAME \ --src-path DroneDelivery-before.zip
デプロイが完了したら、App Service の Web サイトにアクセスして、デプロイが成功したことを確認します。 次のコマンドを実行して URL を取得し、それを選択してページを開きます。
echo https://$(az webapp config hostname list \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --webapp-name $APPSERVICENAME \ --query [].name \ --output tsv)
アプリケーションに対してロード テストを実行する
次に、モノリシック アーキテクチャでアプリケーションのパフォーマンスをテストしてみましょう。
デプロイしたアプリケーションのホーム ページで、[ 要求の送信] を選択します。 このアクションは、アプリケーションを通じて 100 件の要求の送信をシミュレートします。
最初の要求では、約 8 ~ 12 秒の結果が表示され、100 個のメッセージが処理されます。 ページを更新し、メッセージが表示されたら再送信すると、この数が約半分低下する可能性があります。 要求ごとに約 5 秒かかります。
Fabrikam は、モノリシック アーキテクチャが頻繁に使用されるサービスのスケーリングを妨げていると疑っています。これにより、ここで見られるパフォーマンスが低下します。