Cvičení – nasazení monolitické aplikace v 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ě Aplikace Azure Service a umožníme službě Azure Monitor získat přehled o telemetrii a výkonu aplikací.
Nasazení monolitické aplikace v Azure App Service
Začneme nasazením aplikace. Nejdřív 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ž jsou prostředky vytvořené, 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 spuštěním následujícího příkazu nasaďte aplikaci do App Service. Toto nasazení trvá několik minut.
az webapp deployment source config-zip \ --resource-group <rgn>[sandbox resource group]</rgn> \ --name $APPSERVICENAME \ --src 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 aplikace
Teď otestujeme výkon aplikace v monolitické architektuře.
Na domovské stránce nasazené aplikace vyberte Send Requests (Odeslat žádosti). Tím se provede simulace odeslání 100 žádostí přes aplikaci.
Při první žádosti bude výsledný čas pro zpracování 100 zpráv přibližně 8–12 sekund. Pokud stránku aktualizujete a po zobrazení výzvy znovu odešlete, může se toto číslo o polovinu vyřadit. I tak jedna žádost bude trvat přibližně 5 sekund.
Společnost Fabrikam se domnívá, že monolitická architektura zabraňuje škálování velmi využívaných služeb, což vede, jak jsme zde viděli, k nedostatečnému výkonu.