練習 - 在 App Service 上部署整合型應用程式
我們稍微討論了整合型架構和微服務架構。 現在,讓我們部署整合型應用程式,並深入探討將其發展成微服務架構的方式。
Fabrikam 最近已將無人機服務新增到其現有的應用程式。
在此練習中,我們會在 Azure App Service 上部署整合型應用程式,並啟用 Azure 監視器來了解遙測和應用程式效能。
在 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
執行下列命令來壓縮應用程式程式碼,我們會將其用於部署到 App Service。
zip -r DroneDelivery-before.zip .
執行下列命令,以使用您的 App Service 名稱設定變數。
APPSERVICENAME="$(az webapp list \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --query '[].name' \ --output tsv)"
執行下列命令,將 App Service 設定為在部署時執行建置。
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 的網站,以確認部署已成功。 執行下列命令來取得 URL,然後加以選取以開啟頁面。
echo https://$(az webapp config hostname list \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --webapp-name $APPSERVICENAME \ --query [].name \ --output tsv)
針對應用程式執行負載測試
現在,讓我們測試應用程式在整合型架構中的效能。
在您所部署應用程式的首頁上,選取 [Send Requests] \(傳送要求\) 按鈕。 此動作會模擬透過應用程式提交 100 個要求。
針對第一個要求,您會看到處理 100 則訊息約花費 8 到 12 秒的結果。 如果您重新整理該頁面,並在出現提示時重新提交,此數字可能會降低約一半。 它處理每則訊息仍需要花費大約 5 秒的時間。
Fabrikam 懷疑因為整合型架構會阻止大量使用的服務調整規模,才會導致此處所觀察到的不良效能。