From b0131240e0c3e5f99af8a03a36b65ab2c5ea1154 Mon Sep 17 00:00:00 2001 From: Jason Roberts <44276631+JasRobe@users.noreply.github.com> Date: Wed, 7 Aug 2019 15:36:20 -0700 Subject: [PATCH 01/10] added link to pillars on Learn --- docs/guide/index.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/guide/index.md b/docs/guide/index.md index 36b86641855..06b0e50d519 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -90,4 +90,7 @@ A successful cloud application will focus on five pillars of software quality: S ### More Learning -For an guided introduction to common cloud computing services, benefits of cloud computing, and cloud deployment modules, review the [Cloud Concepts - Principles of Cloud Computing](/learn/modules/principles-cloud-computing/) on [Microsoft Learn](/learn/). +For an guided introduction to common cloud computing services, benefits of cloud computing, and cloud deployment modules, review the [Cloud Concepts - Principles of Cloud Computing](/learn/modules/principles-cloud-computing/). + +For a more technical perspective on the key pillars of a cloud solution and principles for creating a solid architectural foundation, review [Pillars of a great Azure Architecture](/learn/modules/pillars-of-a-great-azure-architecture). + From 8d0fbdc300d214115412d3a6e701adb2c74fe210 Mon Sep 17 00:00:00 2001 From: Jason Roberts <44276631+JasRobe@users.noreply.github.com> Date: Wed, 7 Aug 2019 16:05:33 -0700 Subject: [PATCH 02/10] updated 'an' to 'a' --- docs/guide/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/index.md b/docs/guide/index.md index 06b0e50d519..e34804e6e59 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -90,7 +90,7 @@ A successful cloud application will focus on five pillars of software quality: S ### More Learning -For an guided introduction to common cloud computing services, benefits of cloud computing, and cloud deployment modules, review the [Cloud Concepts - Principles of Cloud Computing](/learn/modules/principles-cloud-computing/). +For a guided introduction to common cloud computing services, benefits of cloud computing, and cloud deployment modules, review the [Cloud Concepts - Principles of Cloud Computing](/learn/modules/principles-cloud-computing/). For a more technical perspective on the key pillars of a cloud solution and principles for creating a solid architectural foundation, review [Pillars of a great Azure Architecture](/learn/modules/pillars-of-a-great-azure-architecture). From a16017cafcf322f608979357395348d740ac9bb0 Mon Sep 17 00:00:00 2001 From: Jason Roberts <44276631+JasRobe@users.noreply.github.com> Date: Wed, 7 Aug 2019 16:10:05 -0700 Subject: [PATCH 03/10] added link to Lean module on SLAs --- docs/guide/technology-choices/compute-comparison.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/guide/technology-choices/compute-comparison.md b/docs/guide/technology-choices/compute-comparison.md index 3b80903af86..8ff1cd0bc99 100644 --- a/docs/guide/technology-choices/compute-comparison.md +++ b/docs/guide/technology-choices/compute-comparison.md @@ -70,6 +70,8 @@ Notes | SLA | [SLA for Virtual Machines][sla-vm] | [SLA for App Service][sla-app-service] | [SLA for Service Fabric][sla-sf] | [SLA for Functions][sla-functions] | [SLA for AKS][sla-acs] | [SLA for Container Instances](https://azure.microsoft.com/support/legal/sla/container-instances/) | [SLA for Azure Batch][sla-batch] | | Multi region failover | Traffic manager | Traffic manager | Traffic manager, Multi-Region Cluster | Not supported | Traffic manager | Not supported | Not Supported | +For guided learning on Service Guarantees, review [Core Cloud Services - Azure architecture and service guarantees](/learn/modules/explore-azure-infrastructure). + ## Other | Criteria | Virtual Machines | App Service | Service Fabric | Azure Functions | Azure Kubernetes Service | Container Instances | Azure Batch | @@ -78,6 +80,8 @@ Notes | Cost | [Windows][cost-windows-vm], [Linux][cost-linux-vm] | [App Service pricing][cost-app-service] | [Service Fabric pricing][cost-service-fabric] | [Azure Functions pricing][cost-functions] | [AKS pricing][cost-acs] | [Container Instances pricing](https://azure.microsoft.com/pricing/details/container-instances/) | [Azure Batch pricing][cost-batch] | Suitable architecture styles | [N-Tier][n-tier], [Big compute][big-compute] (HPC) | [Web-Queue-Worker][w-q-w], [N-Tier][n-tier] | [Microservices][microservices], [Event-driven architecture][event-driven] | [Microservices][microservices], [Event-driven architecture][event-driven] | [Microservices][microservices], [Event-driven architecture][event-driven] | [Microservices][microservices], task automation, batch jobs | [Big compute][big-compute] (HPC) | + + [cost-linux-vm]: https://azure.microsoft.com/pricing/details/virtual-machines/linux/ From 092b4ad436c3159ae115e11e6a275edd1697a485 Mon Sep 17 00:00:00 2001 From: Mike Wasson <3992422+MikeWasson@users.noreply.github.com> Date: Thu, 8 Aug 2019 12:19:04 -0700 Subject: [PATCH 04/10] Heading style --- docs/guide/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/index.md b/docs/guide/index.md index e34804e6e59..e76500b99d9 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -88,7 +88,7 @@ A successful cloud application will focus on five pillars of software quality: S - [Quality pillars](./pillars.md) -### More Learning +### More learning For a guided introduction to common cloud computing services, benefits of cloud computing, and cloud deployment modules, review the [Cloud Concepts - Principles of Cloud Computing](/learn/modules/principles-cloud-computing/). From 5554f2bad6879bbafc02985e99ffd9ee4c9cb3f0 Mon Sep 17 00:00:00 2001 From: Jason Roberts <44276631+JasRobe@users.noreply.github.com> Date: Thu, 8 Aug 2019 12:23:45 -0700 Subject: [PATCH 05/10] Added Learn Links (#428) * Added Learn Links --- docs/aws-professional/services.md | 4 ++++ docs/guide/technology-choices/compute-overview.md | 2 ++ 2 files changed, 6 insertions(+) diff --git a/docs/aws-professional/services.md b/docs/aws-professional/services.md index 06aaf43d299..dc1fe4b96d5 100644 --- a/docs/aws-professional/services.md +++ b/docs/aws-professional/services.md @@ -271,3 +271,7 @@ Dedicated network | Direct Connect | [ExpressRoute](https://azure.microsoft.com/ | Media transcoding | Elastic Transcoder | [Media Services](https://azure.microsoft.com/services/media-services/) | Services that offer broadcast-quality video streaming services, including various transcoding technologies. | | Workflow | Simple Workflow Service (SWF) | [Logic Apps](https://azure.microsoft.com/services/logic-apps/) | Serverless technology for connecting apps, data and devices anywhere, whether on-premises or in the cloud for large ecosystems of SaaS and cloud-based connectors. | | Hybrid | Outposts | [Azure Stack](https://azure.microsoft.com/overview/azure-stack/) | Azure Stack is a hybrid cloud platform that enables you to run Azure services in your company's or service provider's datacenter. As a developer, you can build apps on Azure Stack. You can then deploy them to either Azure Stack or Azure, or you can build truly hybrid apps that take advantage of connectivity between an Azure Stack cloud and Azure. | + +## More learning + +If you are new to Azure, review the interactive [Core Cloud Services - Introduction to Azure](/learn/modules/welcome-to-azure) module on [Microsoft Learn](/learn). diff --git a/docs/guide/technology-choices/compute-overview.md b/docs/guide/technology-choices/compute-overview.md index d761e9aca16..c8b4c95e20a 100644 --- a/docs/guide/technology-choices/compute-overview.md +++ b/docs/guide/technology-choices/compute-overview.md @@ -54,3 +54,5 @@ When selecting a compute option, here are some factors to consider: To help select a compute service for your application, use the [Decision tree for Azure compute services](./compute-decision-tree.md) For a more detailed comparison of compute options in Azure, see [Criteria for choosing an Azure compute service](./compute-comparison.md). + +For a guided introduction to compute services on Azure, try the [Core Cloud Services - Azure compute options](/learn/modules/intro-to-azure-compute/) module on [Microsoft Learn](/learn/). From ebb3d731a162d9d8ea40ec4b4800af5b0eb4c0e5 Mon Sep 17 00:00:00 2001 From: Kristine Toliver Date: Thu, 8 Aug 2019 12:33:52 -0700 Subject: [PATCH 06/10] grammar update --- docs/guide/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/index.md b/docs/guide/index.md index e76500b99d9..d988dcf16f8 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -90,7 +90,7 @@ A successful cloud application will focus on five pillars of software quality: S ### More learning -For a guided introduction to common cloud computing services, benefits of cloud computing, and cloud deployment modules, review the [Cloud Concepts - Principles of Cloud Computing](/learn/modules/principles-cloud-computing/). +For a guided introduction to common cloud computing services, benefits of cloud computing, and cloud deployment modules, review [Cloud Concepts - Principles of Cloud Computing](/learn/modules/principles-cloud-computing/). For a more technical perspective on the key pillars of a cloud solution and principles for creating a solid architectural foundation, review [Pillars of a great Azure Architecture](/learn/modules/pillars-of-a-great-azure-architecture). From 9d0c9685252998d7dddfb253fd87bb6d5bad2eb8 Mon Sep 17 00:00:00 2001 From: Mike Wasson <3992422+MikeWasson@users.noreply.github.com> Date: Thu, 8 Aug 2019 13:38:33 -0700 Subject: [PATCH 07/10] Link to v1 release of Serverless RI --- docs/reference-architectures/serverless/event-processing.md | 4 ++-- docs/reference-architectures/serverless/web-app.md | 5 ++--- docs/serverless/index.md | 2 +- docs/serverless/overview.md | 5 +---- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/docs/reference-architectures/serverless/event-processing.md b/docs/reference-architectures/serverless/event-processing.md index bff6816f09b..2a1913adf0b 100644 --- a/docs/reference-architectures/serverless/event-processing.md +++ b/docs/reference-architectures/serverless/event-processing.md @@ -158,5 +158,5 @@ To learn more about the reference implementation, read [Show me the code: Server [ra-grs]: /azure/storage/common/storage-redundancy-grs [ru]: /azure/cosmos-db/request-units -[github]: https://github.com/mspnp/serverless-reference-implementation -[readme]: https://github.com/mspnp/serverless-reference-implementation/blob/master/README.md +[github]: https://github.com/mspnp/serverless-reference-implementation/tree/v0.1.0 +[readme]: https://github.com/mspnp/serverless-reference-implementation/blob/v0.1.0/README.md diff --git a/docs/reference-architectures/serverless/web-app.md b/docs/reference-architectures/serverless/web-app.md index e55a92bba6f..1977a341942 100644 --- a/docs/reference-architectures/serverless/web-app.md +++ b/docs/reference-architectures/serverless/web-app.md @@ -304,6 +304,5 @@ To learn more about the reference implementation, read [Show me the code: Server [storage-https]: /azure/storage/common/storage-require-secure-transfer [tm]: /azure/traffic-manager/traffic-manager-overview -[github]: https://github.com/mspnp/serverless-reference-implementation -[HttpRequestAuthorizationExtensions]: https://github.com/mspnp/serverless-reference-implementation/blob/master/src/DroneStatus/dotnet/DroneStatusFunctionApp/HttpRequestAuthorizationExtensions.cs -[readme]: https://github.com/mspnp/serverless-reference-implementation/blob/master/README.md +[github]: https://github.com/mspnp/serverless-reference-implementation/tree/v0.1.0 +[readme]: https://github.com/mspnp/serverless-reference-implementation/blob/v0.1.0/README.md diff --git a/docs/serverless/index.md b/docs/serverless/index.md index cf08d911691..ca930fcfc18 100644 --- a/docs/serverless/index.md +++ b/docs/serverless/index.md @@ -620,4 +620,4 @@ For more information about authentication and authorization in this application, -[github]: https://github.com/mspnp/serverless-reference-implementation +[github]: https://github.com/mspnp/serverless-reference-implementation/tree/v0.1.0 diff --git a/docs/serverless/overview.md b/docs/serverless/overview.md index 59692d29c5c..828fd517bd5 100644 --- a/docs/serverless/overview.md +++ b/docs/serverless/overview.md @@ -13,21 +13,18 @@ ms.subservice: reference-architecture Serverless models abstract the underlying compute infrastructure. This allows developers to focus on business logic without needing extensive startup or maintenance cost to set up the solution. Serverless reduces the overall costs since you pay only for the duration the code was executed. This event-driven model is suitable for situations where some event triggers a defined action. For example, receiving an incoming device messages to store for later use, or a database update that needs some further processing. - ## Explore the recommendations To explore serverless technologies in Azure, start with a serverless reference solution developed and tested by Microsoft. This two-part solution describes a hypothetical drone delivery system. Drones send in-flight status to the cloud, which stores these messages for later use. A web application allows users to retrieve these messages to get the latest status of these devices. -- The code for this solution is available to download from [GitHub](https://github.com/mspnp/serverless-reference-implementation). +- The code for this solution is available to download from [GitHub](https://github.com/mspnp/serverless-reference-implementation/tree/v0.1.0). - The article [Show me the code: Serverless application with Azure Functions](index.md) walks you through this code, and explains why various choices were made. - Once you get a feel for how this reference solution works, proceed to learning the best practices and recommendations for developing similar serverless solutions: - For developing a serverless *event ingestion* solution, refer to the reference-based guidance at [Serverless event processing using Azure Functions](../reference-architectures/serverless/event-processing.md). - For developing a serverless *web application*, refer to the reference-based guidance at [Serverless web application on Azure](../reference-architectures/serverless/web-app.md). - ## Next steps For in-depth discussion on developing serverless solutions on premises as well as in cloud, read [Serverless apps: Architecture, patterns, and Azure implementation](https://docs.microsoft.com/dotnet/standard/serverless-architecture/). From b654db5bd3b489cd3d1c84fb32751609d46a9e01 Mon Sep 17 00:00:00 2001 From: Mike Wasson <3992422+MikeWasson@users.noreply.github.com> Date: Thu, 8 Aug 2019 14:13:00 -0700 Subject: [PATCH 08/10] fix typo --- docs/serverless/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/serverless/index.md b/docs/serverless/index.md index ca930fcfc18..b4889581ca7 100644 --- a/docs/serverless/index.md +++ b/docs/serverless/index.md @@ -1,6 +1,6 @@ --- title: Implement a serverless application with Azure Functions -description: Code walk-through of a serverlesss application using Azure Functions +description: Code walk-through of a serverless application using Azure Functions author: MikeWasson ms.date: 06/13/2019 ms.author: pnp From 50319808c6a895ddc724136be9e1f23bad516cf0 Mon Sep 17 00:00:00 2001 From: KetanChawda-MSFT Date: Fri, 9 Aug 2019 10:11:49 +0530 Subject: [PATCH 09/10] (Azure CXP) fixes MicrosoftDocs/architecture-center#1693 --- docs/best-practices/naming-conventions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/best-practices/naming-conventions.md b/docs/best-practices/naming-conventions.md index cac0c382a58..cc873004e58 100644 --- a/docs/best-practices/naming-conventions.md +++ b/docs/best-practices/naming-conventions.md @@ -99,7 +99,7 @@ In general, avoid having any special characters (`-` or `_`) as the first or las | Entity | Scope | Length | Casing | Valid Characters | Suggested Pattern | Example | | --- | --- | --- | --- | --- | --- | --- | -|Storage account name (data) |Global |3-24 |Lowercase |Alphanumeric |`` (use a function to calculate a unique guid for naming storage accounts) |`profxdata001` | +|Storage account name (data) |Global |3-24 |Lowercase |Alphanumeric |`` |`profxdata001` | |Storage account name (disks) |Global |3-24 |Lowercase |Alphanumeric |`st` |`profxsql001st0` | | Container name |Storage account |3-63 |Lowercase |0-9, a-z and - |`` |`logs` | |Blob name | Container |1-1024 |Case sensitive |Any URL characters |`` |`` | From 9188483d51326001104188ffcbed9787e5439fa4 Mon Sep 17 00:00:00 2001 From: Mike Wasson <3992422+MikeWasson@users.noreply.github.com> Date: Fri, 9 Aug 2019 09:26:45 -0700 Subject: [PATCH 10/10] Accessibility bug #93919 --- docs/antipatterns/busy-database/index.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/antipatterns/busy-database/index.md b/docs/antipatterns/busy-database/index.md index 3d9545b5155..fa5fc76ad52 100644 --- a/docs/antipatterns/busy-database/index.md +++ b/docs/antipatterns/busy-database/index.md @@ -239,11 +239,13 @@ The following sections apply these steps to the sample application described ear The following graph shows the results of running a load test against the sample application, using a step load of up to 50 concurrent users. The volume of requests quickly reaches a limit and stays at that level, while the average response time steadily increases. A logarithmic scale is used for those two metrics. -![Load-test results for performing processing in the database][ProcessingInDatabaseLoadTest] +Load-test results for performing processing in the database +

This line graph shows user load, requests per second, and average response time. The graph shows that response time increases as load increases.

The next graph shows CPU utilization and DTUs as a percentage of service quota. DTUs provide a measure of how much processing the database performs. The graph shows that CPU and DTU utilization both quickly reached 100%. -![Azure SQL Database monitor showing the performance of the database while performing processing][ProcessingInDatabaseMonitor] +Azure SQL Database monitor showing the performance of the database while performing processing +

This line graph shows CPU percentage and DTU percentage over time. The graph shows that both quickly reach 100%.

### Examine the work performed by the database @@ -255,11 +257,13 @@ If the database operations are purely data access operations, without a lot of p The following graph shows a load test using the updated code. Throughput is significantly higher, over 400 requests per second versus 12 earlier. The average response time is also much lower, just above 0.1 seconds compared to over 4 seconds. -![Load-test results for performing processing in the database][ProcessingInClientApplicationLoadTest] +Load-test results for performing processing in the database +

This line graph shows user load, requests per second, and average response time. The graph shows that response time remains roughly constant throughout the load test.

CPU and DTU utilization shows that the system took longer to reach saturation, despite the increased throughput. -![Azure SQL Database monitor showing the performance of the database while performing processing in the client application][ProcessingInClientApplicationMonitor] +Azure SQL Database monitor showing the performance of the database while performing processing in the client application +

This line graph shows CPU percentage and DTU percentage over time. The graph shows that CPU and DTU take longer to reach 100% than previously.

## Related resources @@ -268,8 +272,3 @@ CPU and DTU utilization shows that the system took longer to reach saturation, d [dtu]: /azure/sql-database/sql-database-service-tiers-dtu [ExtraneousFetching]: ../extraneous-fetching/index.md [sample-app]: https://github.com/mspnp/performance-optimization/tree/master/BusyDatabase - -[ProcessingInDatabaseLoadTest]: ./_images/ProcessingInDatabaseLoadTest.jpg -[ProcessingInClientApplicationLoadTest]: ./_images/ProcessingInClientApplicationLoadTest.jpg -[ProcessingInDatabaseMonitor]: ./_images/ProcessingInDatabaseMonitor.jpg -[ProcessingInClientApplicationMonitor]: ./_images/ProcessingInClientApplicationMonitor.jpg