练习 - 在应用服务上部署整体应用程序

已完成

我们谈到了整体体系结构和微服务体系结构。 现在,让我们部署一个整体式应用程序,并进一步探讨如何将其演变为微服务体系结构。

Fabrikam 最近将无人机服务添加到其现有应用程序中。

在本练习中,我们将在 Azure 应用服务上部署一个整体应用程序,并使 Azure Monitor 能够了解遥测和应用程序性能。

无人机配送应用的资源可视化。

在 Azure 应用服务上部署整体应用程序

首先部署应用程序。 首先,我们需要创建 Azure 资源来托管应用程序。

  1. 运行以下命令以部署此应用程序所需的资源。 此部署需要几分钟时间。

    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
    
  2. 创建资源后,让我们部署应用程序。 首先运行以下命令,从示例存储库中拉取源代码。

    git clone https://github.com/MicrosoftDocs/mslearn-microservices-architecture.git ~/mslearn-microservices-architecture
    cd ~/mslearn-microservices-architecture/src/before
    
  3. 运行以下命令来打包压缩应用程序代码,我们将用于部署到应用服务平台。

    zip -r DroneDelivery-before.zip .
    
  4. 运行以下命令,设置具有应用服务名称的变量。

    APPSERVICENAME="$(az webapp list \
                        --resource-group "<rgn>[sandbox resource group]</rgn>" \
                        --query '[].name' \
                        --output tsv)"
    
  5. 运行以下命令,将应用服务配置为在部署过程中执行构建。

    az webapp config appsettings set \
        --resource-group "<rgn>[sandbox resource group]</rgn>" \
        --name $APPSERVICENAME \
        --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
    
  6. 现在,运行以下命令将应用程序部署到应用服务。 此部署需要几分钟才能完成。

    az webapp deploy \
        --resource-group "<rgn>[sandbox resource group]</rgn>" \
        --name $APPSERVICENAME \
        --src-path DroneDelivery-before.zip
    
  7. 部署完成后,通过访问应用服务的网站确认部署是否成功。 运行以下命令以获取 URL,然后选择它以打开页面。

    echo https://$(az webapp config hostname list \
                    --resource-group "<rgn>[sandbox resource group]</rgn>" \
                    --webapp-name $APPSERVICENAME \
                    --query [].name \
                    --output tsv)
    

    无人机交付网站的屏幕截图。

对应用程序执行负载测试

现在,让我们在其整体体系结构中测试应用程序的性能。

  1. 在已部署应用程序的主页上,选择“ 发送请求”。 此操作模拟通过应用程序提交 100 个请求。

  2. 对于第一个请求,你将看到大约 8 到 12 秒的结果来处理 100 条消息。 如果刷新页面,并在出现提示时重新提交,此数字可能会下降约一半。 每个请求仍需要大约 5 秒的时间。

    运行性能测试后无人机交付网站的屏幕截图。

Fabrikam 怀疑整体架构阻碍了大量使用的服务实现扩展,这导致这里出现的性能不佳问题。