Implement Web Apps
Marcelo Leite Gomes
IT Support Analyst | Support End-Users | Helpdesk | Troubleshooting | Infrastructure
Create an Azure web app
In this task, we will create an Azure web app.
1.?Sign in to the?Azure portal.
2.?In the Azure portal, search for and select?App services, and on the?App Services?blade, click?+ Create.
3.?On the?Basics?tab of the?Create Web App?blade, specify the following settings. Leave others with their default values.
4. Click?Review + create. On the?Review + create?tab of the?Create Web App?blade, ensure that the validation passed and click?Create.
Note: Wait until the web app is created before you proceed to the next task. This should take about a minute.
5.?On the deployment blade, click?Go to resource.
Create a staging deployment slot
In this task, we will create a staging deployment slot.
1. On the blade of the newly deployed web app, click the?URL?link to display the default web page in a new browser tab.
2. Close the new browser tab and, back in the Azure portal, in the?Deployment?section of the web app blade, click?Deployment slots.
Note: The web app, at this point, has a single deployment slot labeled?PRODUCTION.
3. Click?+ Add slot, and add a new slot with the following settings:
4.?Back on the?Deployment slots?blade of the web app, click the entry representing the newly created staging slot.
Note: This will open the blade displaying the properties of the staging slot.
5. Review the staging slot blade and note that its URL differs from the one assigned to the production slot.
Configure web app deployment settings
Now we will configure web app deployment settings.
1.?On the staging deployment slot blade, in the?Deployment?section, click?Deployment Center?and then select the?Settings?tab.
Note:?Make sure you are on the staging slot blade (rather than the production slot).
2. On the?Settings?tab, in the?Source?drop-down list, select?Local Git?and click the?Save?button.
3.?On the?Deployment Center?blade, copy the?Git Clone Url?entry to Notepad.
Note:?You will need the Git Clone Url value in the next task of this lab.
4. On the?Deployment Center?blade, select the?Local Git/FTPS credentials?tab, in the?User Scope?section, specify the following settings, and click?Save.
Note:?You will need these credentials in the next task of this lab.
Deploy code to the staging deployment slot
Next step, we will deploy code to the staging deployment slot.
1.?In the Azure portal, open the?Azure Cloud Shell?by clicking on the icon in the top right of the Azure Portal.
2.?If prompted to select either?Bash?or?PowerShell, select?PowerShell.
3.?From the Cloud Shell pane, run the following to clone the remote repository containing the code for the web app.
git clone https://github.com/Azure-Samples/php-docs-hello-world
4.?From the Cloud Shell pane, run the following to set the current location to the newly created clone of the local repository containing the sample web app code.
Set-Location -Path $HOME/php-docs-hello-world/
5.?From the Cloud Shell pane, run the following to add the remote git (make sure to replace the?[deployment_user_name]?and?[git_clone_url]?placeholders with the value of the?Deployment Credentials?user name and?Git Clone Url, respectively, which you identified in previous task):
git remote add [deployment_user_name] [git_clone_url]
领英推荐
Note: The value following?git remote add?does not have to match the?Deployment Credentials?user name, but has to be unique
6.?From the Cloud Shell pane, run the following to push the sample web app code from the local repository to the Azure web app staging deployment slot (make sure to replace the?[deployment_user_name]?placeholder with the value of the?Deployment Credentials?user name, which you identified in previous task):
git push [deployment_user_name] master
7.?If prompted to authenticate, type the?[deployment_user_name]?and the corresponding password (which you set in the previous task).
8.?Close the Cloud Shell pane.
9.?On the staging slot blade, click?Overview?and then click the?URL?link to display the default web page in a new browser tab.
10.?Verify that the browser page displays the?Hello World!?message and close the new tab.
Swap the staging slots
In this task, you will swap the staging slot with the production slot.
1.?Navigate back to the blade displaying the production slot of the web app.
2.?In the?Deployment?section, click?Deployment slots?and then, click?Swap?toolbar icon.
3.?On the?Swap?blade, review the default settings and click?Swap. Wait until the process is finished, then click Close.
4.?Click?Overview?on the production slot blade of the web app and then click the?URL?link to display the web site home page in a new browser tab.
5.?Verify the default web page has been replaced with the?Hello World!?page.
Configure and test autoscaling of the Azure web app
In this task, you will configure and test autoscaling of Azure web app.
1.?On the blade displaying the production slot of the web app, in the?Settings?section, click?Scale out (App Service plan).
2.?Click?Rules Based and then Manage rules based scaling.
3.?Click?Custom autoscale.
Note: You also have the option of scaling the web app manually.
4. Select?Scale based on a metric?and click?+ Add a rule.
5.?On the?Scale rule?blade, specify the following settings (leave others with their default values):
Note: These values do not represent a realistic configuration, since their purpose is to trigger autoscaling as soon as possible, without extended wait period.
6.?Click?Add?and, back on the App Service plan scaling blade, specify the following settings. Leave others with their default values.
7.?Click?Save.
Note: If you got an error complaining about ‘microsoft.insights’ resource provider not being registered, run?az provider register --namespace 'Microsoft.Insights'?in your cloudshell and retry saving your auto scale rules.
8.?In the Azure portal, open the?Azure Cloud Shell?by clicking on the icon in the top right of the Azure Portal.
9.?If prompted to select either?Bash?or?PowerShell, select?PowerShell.
10.?From the Cloud Shell pane, run the following to identify the URL of the Azure web app.
$rgName = 'az104-09a-rg1'
$webapp = Get-AzWebApp -ResourceGroupName $rgName
11. From the Cloud Shell pane, run the following to start and infinite loop that sends the HTTP requests to the web app:
while ($true) { Invoke-WebRequest -Uri $webapp.DefaultHostName }
12. Minimize the Cloud Shell pane (but do not close it) and, on the web app blade, in the Settings section, click?Scale out (App Service plan).
13.?Select the?Run history?tab and check the?Observed resource instance count.
14.?Monitor the utilization and the number of instances for a few minutes.
Note: You may need to?Refresh?the page.
15. Once you notice that the number of instances has increased to 2, reopen the Cloud Shell pane and terminate the script by pressing?Ctrl+C.
16. Close the Cloud Shell pane.
?
Consultor de TI / Analista de Infraestrutura Sênior / 12x Microsoft Certification /Lean Certificate / Gsuite Certificate / ITIL Certifcate
5 个月Thanks for sharing