Cvičení – nasazení monolitické aplikace ve službě App Service
Mluvili jsme o monolitických architekturách a architekturách mikroslužeb. Teď nasadíme monolitickou aplikaci a podrobněji se podíváme, jak ji můžeme vyvíjet v architektuře mikroslužeb.
Společnost Fabrikam nedávno přidala službu dronů do své stávající aplikace.
V tomto cvičení nasadíme monolitickou aplikaci ve službě Azure App Service a umožníme službě Azure Monitor získat přehled o telemetrii a výkonu aplikací.
Nasazení monolitické aplikace ve službě Azure App Service
Začněme nasazením aplikace. Nejprve musíme vytvořit prostředky Azure pro hostování aplikace.
Spuštěním následujícího příkazu nasaďte prostředky potřebné pro tuto aplikaci. Toto nasazení trvá několik minut.
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
Teď, když máme vytvořené prostředky, nasadíme aplikaci. Nejprve spuštěním následujícího příkazu stáhněte zdrojový kód z ukázkového úložiště.
git clone https://github.com/MicrosoftDocs/mslearn-microservices-architecture.git ~/mslearn-microservices-architecture cd ~/mslearn-microservices-architecture/src/before
Spuštěním následujícího příkazu zazipujte kód aplikace, který používáme k nasazení do služby App Service.
zip -r DroneDelivery-before.zip .
Spuštěním následujícího příkazu nastavte proměnnou s názvem vaší služby App Service.
APPSERVICENAME="$(az webapp list \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --query '[].name' \ --output tsv)"
Spuštěním následujícího příkazu nakonfigurujte službu App Service tak, aby v rámci nasazení spustila sestavení.
az webapp config appsettings set \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --name $APPSERVICENAME \ --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
A teď spuštěním následujícího příkazu nasaďte aplikaci do služby App Service. Dokončení tohoto nasazení trvá několik minut.
az webapp deploy \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --name $APPSERVICENAME \ --src-path DroneDelivery-before.zip
Po dokončení nasazení ověřte, že nasazení proběhlo úspěšně, a to tak, že navštívíte web vaší služby App Service. Spuštěním následujícího příkazu získejte adresu URL a výběrem této adresy otevřete stránku.
echo https://$(az webapp config hostname list \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --webapp-name $APPSERVICENAME \ --query [].name \ --output tsv)
Provedení zátěžového testu v aplikaci
Teď otestujeme výkon aplikace v monolitické architektuře.
Na domovské stránce nasazené aplikace vyberte Odeslat žádosti. Tato akce simuluje odeslání 100 požadavků prostřednictvím aplikace.
U prvního požadavku uvidíte výsledek přibližně 8 až 12 sekund pro zpracování 100 zpráv. Pokud stránku aktualizujete a bude-li to možné, znovu odešlete, může toto číslo poklesnout asi na polovinu. Stále to trvá přibližně pět sekund pro každý požadavek.
Společnost Fabrikam má podezření, že monolitická architektura brání výrazně využívané službě v škálování, což vede k nízkému výkonu, který zde vidíte.