Skip to content

Commit 6a997e9

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into quickstarts1
2 parents 1cbd0fc + 32522c1 commit 6a997e9

File tree

85 files changed

+1634
-607
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+1634
-607
lines changed

.openpublishing.redirection.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46629,6 +46629,16 @@
4662946629
"source_path": "articles/healthcare-apis/tutorial-3-connect-to-endpoint.md",
4663046630
"redirect_url": "/azure/healthcare-apis/tutorial-web-app-fhir-server",
4663146631
"redirect_document_id": false
46632+
},
46633+
{
46634+
"source_path": "articles/healthcare-apis/tutorial-1-decision-flow.md",
46635+
"redirect_url": "/azure/healthcare-apis/fhir-app-registration",
46636+
"redirect_document_id": false
46637+
},
46638+
{
46639+
"source_path": "articles/healthcare-apis/overview-open-source-server.md",
46640+
"redirect_url": "/azure/healthcare-apis/overview",
46641+
"redirect_document_id": false
4663246642
}
4663346643
]
4663446644
}

articles/active-directory/develop/GuidedSetups/active-directory-mobileanddesktopapp-windowsdesktop-configure-arp.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ ms.workload: identity
1616
ms.date: 05/09/2017
1717
ms.author: ryanwi
1818
ms.custom: aaddev
19-
20-
ms.collection: M365-identity-device-management
2119
---
2220

2321
# Add the application’s registration information to your app

articles/active-directory/fundamentals/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
href: active-directory-deployment-checklist-p2.md
4040
- name: Identity data storage for the EU
4141
href: active-directory-data-storage-eu.md
42-
- name: Identity data storage for Austrailia
42+
- name: Identity data storage for Australia
4343
href: active-directory-data-storage-australia.md
4444
- name: What's new in Microsoft 365 Government
4545
href: whats-new-microsoft-365-government.md

articles/aks/cluster-autoscaler.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ To adjust to changing application demands, such as between the workday and eveni
3737

3838
Both the horizontal pod autoscaler and cluster autoscaler can also decrease the number of pods and nodes as needed. The cluster autoscaler decreases the number of nodes when there has been unused capacity for a period of time. Pods on a node to be removed by the cluster autoscaler are safely scheduled elsewhere in the cluster. The cluster autoscaler may be unable to scale down if pods can't move, such as in the following situations:
3939

40-
* A pod directly created and isn't backed by a controller object, such a deployment or replica set.
40+
* A pod is directly created and isn't backed by a controller object, such as a deployment or replica set.
4141
* A pod disruption budget (PDB) is too restrictive and doesn't allow the number of pods to be fall below a certain threshold.
4242
* A pod uses node selectors or anti-affinity that can't be honored if scheduled on a different node.
4343

@@ -57,7 +57,7 @@ If you need to create an AKS cluster, use the [az aks create][az-aks-create] com
5757
> [!IMPORTANT]
5858
> The cluster autoscaler is a Kubernetes component. Although the AKS cluster uses a virtual machine scale set for the nodes, don't manually enable or edit settings for scale set autoscale in the Azure portal or using the Azure CLI. Let the Kubernetes cluster autoscaler manage the required scale settings. For more information, see [Can I modify the AKS resources in the node resource group?](faq.md#can-i-modify-tags-and-other-properties-of-the-aks-resources-in-the-node-resource-group)
5959
60-
The following example creates an AKS cluster with single node pool backed by a virtual machine scale set. It also enables the cluster autoscaler on the node pool for the cluster and sets a minimum of *1* and maximum of *3* nodes:
60+
The following example creates an AKS cluster with a single node pool backed by a virtual machine scale set. It also enables the cluster autoscaler on the node pool for the cluster and sets a minimum of *1* and maximum of *3* nodes:
6161

6262
```azurecli-interactive
6363
# First create a resource group
@@ -150,7 +150,7 @@ To learn more about what is logged from the autoscaler, read the FAQ on the [Kub
150150

151151
## Use the cluster autoscaler with multiple node pools enabled
152152

153-
The cluster autoscaler can be used together with the [multiple node pools](use-multiple-node-pools.md) enabled. Follow that document to learn how to enable multiple node pools and add additional node pools to an existing cluster. When using both features together, you enable the cluster autoscaler on each individual node pool in the cluster and can pass unique autoscaling rules to each.
153+
The cluster autoscaler can be used together with [multiple node pools](use-multiple-node-pools.md) enabled. Follow that document to learn how to enable multiple node pools and add additional node pools to an existing cluster. When using both features together, you enable the cluster autoscaler on each individual node pool in the cluster and can pass unique autoscaling rules to each.
154154

155155
The below command assumes you followed the [initial instructions](#create-an-aks-cluster-and-enable-the-cluster-autoscaler) earlier in this document and you want to update an existing node pool's max-count from *3* to *5*. Use the [az aks nodepool update][az-aks-nodepool-update] command to update an existing node pool's settings.
156156

articles/aks/virtual-nodes-portal.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This article shows you how to create and configure the virtual network resources
1717

1818
## Before you begin
1919

20-
Virtual nodes enable network communication between pods that run in ACI and the AKS cluster. To provide this communication, a virtual network subnet is created and delegated permissions are assigned. Virtual nodes only work with AKS clusters created using *advanced* networking. By default, AKS clusters are created with *basic* networking. This article shows you how to create a virtual network and subnets, then deploy an AKS cluster that uses advanced networking.
20+
Virtual nodes enable network communication between pods that run in Azure Container Instances (ACI) and the AKS cluster. To provide this communication, a virtual network subnet is created and delegated permissions are assigned. Virtual nodes only work with AKS clusters created using *advanced* networking. By default, AKS clusters are created with *basic* networking. This article shows you how to create a virtual network and subnets, then deploy an AKS cluster that uses advanced networking.
2121

2222
If you have not previously used ACI, register the service provider with your subscription. You can check the status of the ACI provider registration using the [az provider list][az-provider-list] command, as shown in the following example:
2323

@@ -241,4 +241,5 @@ Virtual nodes are one component of a scaling solution in AKS. For more informati
241241
[aks-hpa]: tutorial-kubernetes-scale.md
242242
[aks-cluster-autoscaler]: cluster-autoscaler.md
243243
[aks-basic-ingress]: ingress-basic.md
244-
[az-provider-list]: /cli/azure/provider#az-provider-list
244+
[az-provider-list]: /cli/azure/provider#az-provider-list
245+
[az-provider-register]: /cli/azure/provider?view=azure-cli-latest#az-provider-register

articles/app-service/containers/tutorial-python-postgresql-app.md

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: 'Tutorial: Linux Python app with Postgre'
33
description: Learn how to get a Linux Python app working in Azure App Service, with connection to a PostgreSQL database in Azure. Django is used in this tutorial.
44
ms.devlang: python
55
ms.topic: tutorial
6-
ms.date: 12/14/2019
6+
ms.date: 01/23/2020
77
ms.custom: [mvc, seodec18, seo-python-october2019]
88
---
99
# Tutorial: Run a Python (Django) web app with PostgreSQL in Azure App Service
@@ -38,6 +38,11 @@ First, connect to your local PostgreSQL server and create a database:
3838
In a local terminal window, run `psql` to connect to your local PostgreSQL server as the built-in `postgres` user.
3939

4040
```bash
41+
sudo su - postgres
42+
psql
43+
```
44+
or
45+
```PowerShell
4146
psql -U postgres
4247
```
4348

@@ -157,23 +162,27 @@ In the following command, replace *\<postgresql-name>* with a unique server name
157162
Replace *\<resourcegroup-name>* and *\<region>* with the name and region of the resource group you want to use. For *\<admin-username>* and *\<admin-password>*, create user credentials for the database administrator account. Remember the *\<admin-username>* and *\<admin-password>* to use later for signing in to the PostgreSQL server and databases.
158163

159164
```azurecli-interactive
160-
az postgres server create --resource-group <resourcegroup-name> --name <postgresql-name> --location "<region>" --admin-user <admin-username> --admin-password <admin-password> --sku-name B_Gen4_1
165+
az postgres server create --resource-group <resourcegroup-name> --name <postgresql-name> --location "<region>" --admin-user <admin-username> --admin-password <admin-password> --sku-name B_Gen5_1
161166
```
162167

163168
When the Azure Database for PostgreSQL server is created, the Azure CLI returns JSON code like the following example:
164169

165170
```json
166171
{
167172
"administratorLogin": "myusername",
173+
"earliestRestoreDate": "2020-01-22T19:02:15.727000+00:00",
168174
"fullyQualifiedDomainName": "myservername.postgres.database.azure.com",
169175
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/servers/myservername",
170-
"location": "westus",
176+
"location": "westeurope",
177+
"masterServerId": "",
171178
"name": "myservername",
179+
"replicaCapacity": 5,
180+
"replicationRole": "None",
172181
"resourceGroup": "myresourcegroup",
173182
"sku": {
174183
"capacity": 1,
175-
"family": "Gen4",
176-
"name": "B_Gen4_1",
184+
"family": "Gen5",
185+
"name": "B_Gen5_1",
177186
"size": null,
178187
"tier": "Basic"
179188
},
@@ -267,6 +276,8 @@ Go to *http:\//localhost:8000/admin*, sign in using the admin user you created,
267276

268277
Go to *http:\//localhost:8000* again, and see the poll question displayed. Your app is now writing data to the Azure Database for PostgreSQL database.
269278

279+
To stop the Django server, type Ctrl+C in the terminal.
280+
270281
## Deploy the web app to Azure App Service
271282

272283
In this step, you deploy the Azure Database for PostgreSQL database-connected Python app to Azure App Service.
@@ -344,25 +355,29 @@ For information on how your code accesses these app settings, see [Access enviro
344355
[!INCLUDE [app-service-plan-no-h](../../../includes/app-service-web-git-push-to-azure-no-h.md)]
345356

346357
```bash
347-
Counting objects: 7, done.
358+
Counting objects: 60, done.
348359
Delta compression using up to 8 threads.
349-
Compressing objects: 100% (7/7), done.
350-
Writing objects: 100% (7/7), 775 bytes | 0 bytes/s, done.
351-
Total 7 (delta 4), reused 0 (delta 0)
360+
Compressing objects: 100% (51/51), done.
361+
Writing objects: 100% (60/60), 15.37 KiB | 749.00 KiB/s, done.
362+
Total 60 (delta 9), reused 0 (delta 0)
363+
remote: Deploy Async
352364
remote: Updating branch 'master'.
353365
remote: Updating submodules.
354-
remote: Preparing deployment for commit id '6520eeafcc'.
355-
remote: Generating deployment script.
356-
remote: Running deployment command...
357-
remote: Python deployment.
358-
remote: Kudu sync from: '/home/site/repository' to: '/home/site/wwwroot'
366+
remote: Preparing deployment for commit id '06f3f7c0cb'.
367+
remote: Repository path is /home/site/repository
368+
remote: Running oryx build...
369+
remote: Build orchestrated by Microsoft Oryx, https://github.com/Microsoft/Oryx
370+
remote: You can report issues at https://github.com/Microsoft/Oryx/issues
359371
.
360372
.
361373
.
374+
remote: Done in 100 sec(s).
375+
remote: Running post deployment command(s)...
376+
remote: Triggering recycle (preview mode disabled).
362377
remote: Deployment successful.
363-
remote: App container will begin restart within 10 seconds.
378+
remote: Deployment Logs : 'https://<app-name>.scm.azurewebsites.net/newui/jsonviewer?view_url=/api/deployments/06f3f7c0cb52ce3b4aff85c2b5099fbacb65ab94/log'
364379
To https://<app-name>.scm.azurewebsites.net/<app-name>.git
365-
06b6df4..6520eea master -> master
380+
* [new branch] master -> master
366381
```
367382

368383
The App Service deployment server sees *requirements.txt* in the repository root and runs Python package management automatically after `git push`.

articles/app-service/overview-authentication-authorization.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ Azure App Service provides built-in authentication and authorization support, so
1919
Secure authentication and authorization require deep understanding of security, including federation, encryption, [JSON web tokens (JWT)](https://wikipedia.org/wiki/JSON_Web_Token) management, [grant types](https://oauth.net/2/grant-types/), and so on. App Service provides these utilities so that you can spend more time and energy on providing business value to your customer.
2020

2121
> [!IMPORTANT]
22-
> You're not required to use App Service for AuthN/AuthO. Many web frameworks are bundled with security features, and you can use them if you like. If you need more flexibility than App Service provides, you can also write your own utilities.
22+
> You're not required to use App Service for AuthN/AuthO. You can use the bundled security features in your web framework of choice, or you can write your own utilities. However, keep in mind that [Chrome 80 is making breaking changes to its implementation of SameSite for cookies](https://www.chromestatus.com/feature/5088147346030592) (release date around March 2020), and custom remote authentication or other scenarios that rely on cross-site cookie posting may break when client Chrome browsers are updated. The workaround is complex because it needs to support different SameSite behaviors for different browsers.
2323
>
24-
> However, if you go with any of the non-App Service options for remote authentication, keep in mind that [Chrome 80 is making breaking changes to its implementation of SameSite for cookies](https://www.chromestatus.com/feature/5088147346030592) (release date around March 2020), and your app's authentication mechanism may break when client browsers are updated. The ASP.NET Core documentation has information on how to address this in your app, at [HTTP: Browser SameSite changes impact authentication](/dotnet/core/compatibility/3.0-3.1#http-browser-samesite-changes-impact-authentication). It contains helpful guidance on how to test for this breaking change against the major browsers, regardless if you're using ASP.NET Core or not.
24+
> The ASP.NET Core 2.1 and above versions hosted by App Service are already patched for this breaking change and handle Chrome 80 and older browsers appropriately. In addition, the same patch for ASP.NET Framework 4.7.2 is being deployed on the App Service instances throughout January 2020. For more information, including how to know if your app has received the patch, see [Azure App Service SameSite cookie update](https://azure.microsoft.com/updates/app-service-samesite-cookie-update/).
2525
>
2626
2727
For information specific to native mobile apps, see [User authentication and authorization for mobile apps with Azure App Service](../app-service-mobile/app-service-mobile-auth.md).

articles/application-gateway/application-gateway-metrics.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,30 @@ The following metrics related to timing of the request and response are availabl
2323
>
2424
> If there are more than one listener in the Application Gateway, then always filter by *Listener* dimension while comparing different latency metrics in order to get meaningful inference.
2525
26-
- **Client RTT**
27-
28-
Average round trip time between clients and Application Gateway. This metric indicates how long it takes to establish connections and return acknowledgments.
29-
30-
- **Application gateway total time**
26+
- **Backend connect time**
3127

32-
Average time that it takes for a request to be processed and its response to be sent. This is calculated as average of the interval from the time when Application Gateway receives the first byte of an HTTP request to the time when the response send operation finishes. It's important to note that this usually includes the Application Gateway processing time, time that the request and response packets are traveling over the network and the time the backend server took to respond.
33-
34-
After filtering by listener, if the *Client RTT* is much more than the *Application gateway total time*, then it can be deduced that the latency observed by the client is due to the network connectivity between the client and Application Gateway. If both the latencies are comparable, then the high latency could be due to any of the following: Application Gateway, the network between the Application Gateway and the backend application, or the backend application performance.
28+
Time spent establishing a connection with a backend application. This includes the network latency as well as the time taken by the backend server’s TCP stack to establish new connections. In case of SSL, it also includes the time spent on handshake.
3529

3630
- **Backend first byte response time**
3731

38-
Time interval between start of establishing a connection to backend server and receiving the first byte of the response header, approximating processing time of backend server
32+
Time interval between start of establishing a connection to backend server and receiving the first byte of the response header. This approximates the sum of *Backend connect time* and response time of backend application (the time the server took to generate content, potentially fetch database queries, and begin transferring the response back to Application Gateway)
3933

4034
- **Backend last byte response time**
4135

42-
Time interval between start of establishing a connection to backend server and receiving the last byte of the response body
43-
44-
If the *Application gateway total time* is much more than the *Backend last byte response time* for a specific listener, then it can be deduced that the high latency could be due the Application Gateway. On the other hand, if the two metrics are comparable, then the issue could either be because of the network between the Application Gateway and the backend application, or the performance of the backend application.
36+
Time interval between start of establishing a connection to backend server and receiving the last byte of the response body. This approximates the sum of *Backend first byte response time* and data transfer time (This number may vary greatly depending on the size of objects requested and the latency of the server network)
37+
38+
- **Application gateway total time**
39+
40+
Average time that it takes for a request to be processed and its response to be sent. This is calculated as average of the interval from the time when Application Gateway receives the first byte of an HTTP request to the time when the response send operation finishes This approximates the sum of the processing time of Application Gateway and the *Backend last byte response time*
41+
42+
- **Client RTT**
43+
44+
Average round trip time between clients and Application Gateway. This metric indicates how long it takes to establish connections and return acknowledgments.
45+
46+
These metrics can be used to determine whether the observed slowdown is due to the Application Gateway, the network and backend server TCP stack saturation, backend application performance, or large file size.
47+
For example, If there’s a spike in Backend first byte response time but the Backend connect time is constant, then it can be inferred that the Application gateway to backend latency as well as time taken to establish the connection is stable and the spike is caused due to an increase in the response time of backend application. Similarly, if the spike in Backend first byte response time is associated with a corresponding spike in Backend connect time, then it can be deduced that either the network or the server TCP stack has saturated. If you notice a spike in Backend last byte response time but the Backend first byte response time is constant, then most probably the spike is because of a larger file being requested. Similarly, if the Application gateway total time is much more than the Backend last byte response time, then it can be a sign of performance bottleneck at the Application Gateway.
4548

46-
- **Backend connect time**
4749

48-
Time spent establishing a connection with a backend application. In case of SSL, it includes the time spent on handshake. Note that this metric is different from the other latency metrics since this only measures the connection time and therefore, should not be directly compared in magnitude with the other latencies. However, comparing the pattern of *Backend connect time* with the pattern of the other latencies can indicate whether an increase in other latencies could be deduced due to a variation in the network betweent the Application Gatway and the backend application.
49-
5050

5151
### Application Gateway metrics
5252

articles/application-gateway/configuration-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Network security groups (NSGs) are supported on Application Gateway. But there a
4949
- Outbound internet connectivity can't be blocked. Default outbound rules in the NSG allow internet connectivity. We recommend that you:
5050

5151
- Don't remove the default outbound rules.
52-
- Don't create other outbound rules that deny outbound internet connectivity.
52+
- Don't create other outbound rules that deny any outbound connectivity.
5353

5454
- Traffic from the **AzureLoadBalancer** tag must be allowed.
5555

0 commit comments

Comments
 (0)