Giter Club home page Giter Club logo

architecture-center's Introduction

Azure Architecture Center

Microsoft patterns & practices

https://aka.ms/architecture

Legal Notices

Microsoft and any contributors grant you a license to the Microsoft documentation and other content in this repository under the Creative Commons Attribution 4.0 International Public License, see the LICENSE file, and grant you a license to any code in the repository under the MIT License, see the LICENSE-CODE file.

Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.

Privacy information can be found at https://privacy.microsoft.com.

Microsoft and any contributors reserve all others rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel or otherwise.

architecture-center's People

Contributors

alexbuckgit avatar bryanla avatar ckittel avatar cmcclister avatar court72 avatar doodlemania2 avatar dsk-2015 avatar garycentric avatar huypub avatar jkirsch1 avatar jmart1428 avatar johndowns avatar josevarela avatar msarts avatar neilpeterson avatar pagewriter-msft avatar paolosalvatori avatar pmeds28 avatar pritamso avatar prmerger-automator[bot] avatar robbagby avatar shannonleavitt avatar stephen-sumner avatar taojunshen avatar ttorble avatar v-albemi avatar v-regandowner avatar v-stacywray avatar v-thepet avatar veronicawasson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

architecture-center's Issues

The first picture does not look optimal for dark theme

The first picture does not look optimal for dark theme


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Show each technology on separate page.

It will be better to split the page in different for each technology in TOC. I've opened "Storage" link and after search was moved to "Cosmos DB" section, which is confusing.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Incorrect maximum value specified for "MaximumExecutionTime"

Hi,

On this page one of the code snippet state that the maximum possible value for "MaximumExecutionTime" is 10 seconds but later in the specification table the default stated value is 120 seconds (which doesn't seem to be consistent).

Looking in the source code it seems like the maximum value is 24 days.

Thanks,

Should the client retry for the 429 response code

The response code 429 means a throttling error. The client should retry. This should be documented in the "general REST and retry guidelines" and "Azure Active Directory retry guidelines".


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Examples in docs/building-blocks/extending-templates/collector.md is inconsistent with variable names.

in https://github.com/mspnp/architecture-center/blob/master/docs/building-blocks/extending-templates/collector.md the code examples use inconsistent values for the names of objects and variables.

For example, the first two lines below explicitly say the variable's name is collectorTemplateUri but the code uses "uri": "[variables('linkedTemplateUri')]" in the 2nd code example.

Next, our template defines a single variable named collectorTemplateUri:

"variables": {
    "collectorTemplateUri": "[uri(deployment().properties.templateLink.uri, 'collector.template.json')]"
  }

As you would expect, this is the URI for the collector template that will be used by our linked template resource:

{
    "apiVersion": "2015-01-01",
    "name": "collector",
    "type": "Microsoft.Resources/deployments",
    "properties": {
        "mode": "Incremental",
        "templateLink": {
            "uri": "[variables('linkedTemplateUri')]",
            "contentVersion": "1.0.0.0"
        },
        "parameters": {
            "source" : {"value": "[parameters('networkSecurityGroupsSettings').securityRules]"},
            "transformTemplateUri": { "value": "[uri(deployment().properties.templateLink.uri, 'transform.json')]"}
        }
    }
}

Another example is in the last code snippit, there is no resource declared named firstResource anywhere in the guide before this point, is this meant to be reference('collector').outputs.result.value?

Finally, our Microsoft.Network/networkSecurityGroups resource directly assigns the output of the collector linked template resource to its securityRules property:

    {
      "apiVersion": "2015-06-15",
      "type": "Microsoft.Network/networkSecurityGroups",
      "name": "networkSecurityGroup1",
      "location": "[resourceGroup().location]",
      "properties": {
        "securityRules": "[reference('firstResource').outputs.result.value]"
      }
    }
  ],
  "outputs": {
      "instance":{
          "type": "array",
          "value": "[reference('firstResource').outputs.result.value]"
      }

  }

Does Exponential RetryPolicy applied if no DefaultRequestOptions are specified?

The article said:
The following tables show the default settings for the built-in retry policies.
RetryPolicy Default value ExponentialPolicy.

It is not very clear, does ExponentialPolicy will apply to the client, if no DefaultRequestOptions are specified.

Can you add clarification, please?


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

suggested corrections in guidance-resiliency-checklist.md

See original request:
https://github.com/mspnp/elasticsearch/issues/73

Misspellings

  • The FMA process identifis (should be identifies)
  • Get agreement from your customer for the availability targets of each piece of your application, otherwise will (looks like missing "you")
  • Ensure that any third-party service you consume provide an SLA. (should either say services or consumes)
  • However, you Azure can not protect against application layer (word you seems to be extraneous)
  • Provides high availability if one SQL Server instance fails. For more information, see More information... (first part is not a full sentence, the second part says "more information" twice)

Request limit increases

  • The document says “If your application requirements exceed Azure subscription limits, create another Azure subscription and provision sufficient resources there.”, but in some cases it is possible to request limit increases for certain resources instead of creating an additional subscription.
  • Also, maybe move the bullet about 200 storage accounts closer to the other bullets dealing with Azure subscription limits.

Typo in Solution diagram

Sidecar should "proxy to remote services", not "remove".


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Naming Rules and Restrictions seems incomplete

for example no details on Action Groups / Alerts from Azure Monitor


Document details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Why write to a store that is never read?

Hello.
Service A writes to a store which is never read. Or is it read by Service A when needed? Writing data to a store which never is read seems a waste. Please clarify.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Add list of Reserved Words for Azure Resources

CRI 50012373
Can we add a list of Reserved Words (ie. that can't be used by customers) for Azure Resources ?
eg. "loginstorage" can't be used as a Storage Account - as it contains "login" which is reserved.
There are others like "Microsoft", "Windows", "XBOX"....
Having a public version of that list would help deflecting cases opened at CSS.
Thanks

Can change the hub-nva.json setting to keep connect via jb-vm1?

After run the following command:
azbb -s <subscription_id> -g hub-nva-rg -l -p hub-nva.json --deploy

Can't connect to hubjb-vm1, s1jb-vm1 and s1jb-vm2 via jb-vm1.

Can change the hub-nva.json setting to keep connect via jb-vm1? thanks.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Typo on notes

The deployment scripts for this reference architecture use an Ubuntu VM with IP forwarding enbaled to mimic a network virtual appliance.

must be:

The deployment scripts for this reference architecture use an Ubuntu VM with IP forwarding enabled to mimic a network virtual appliance.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Typo

The onprem install snippet has a typo with an extra "o" in the json filename: onoprem.json instead of onprem.json.
azbb -s <subscription_id> -g onprem-vnet-rg -l <location> -p onoprem.json --deploy


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Error on accessing this page

Hi Microsoft team,

Please find below screenshot which generates a following error. I am highlighting it to so that you can look into the same.

image
errormicrosoft


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

  • ID: 0a4ecd26-cb7b-4cb2-ae3a-3748ada92771
  • Version Independent ID: 97f96179-a22b-8401-a2f4-264a86b5d2f5
  • Content: Cloud Design Patterns
  • Content Source: docs/patterns/index.md
  • Service: guidance
  • Product: unspecified
  • GitHub Login: @bennage
  • Microsoft Alias: pnp

Hub-Hub-Spoke topology

Given that a vNet Peering is not transitive, how would the Hub-Hub-Spoke topology work (in the "Overcoming vNet Peering Limits" section)? How would you configure the spoke vNet to direct traffic "across" the first hub to the central hub to communicate with VMs in that central vNet, and from there across a VPN/ExpressRoute link to other networks? Wouldn't this require either a VNA or VPN Connections between vNets to achieve (this is not detailed in the diagram)?


Document details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Service bus / event hubs and event grid positioned wrong in document

In the cloud service map:
Service bus is placed at the wrong spot:
Right now it is placed in developer tools but it must be placed in enterprise integration.
It should also have an additional line:
Pub/Sub messaging for distributed systems and serveless applications
Next column: Simple Notification Service
Next column Azure Event Grid

Event Hubs needs to be additionally in analytics and big data.
Kinesis streams maps to event hubs
Kinesis firehose maps to event hubs capture

This needs to be adjusted in IoT.

Add glossary

For someone seeing this page for the first time, the terms greenfield and brownfield don't mean much. Can there be an explanation as to what each is?


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Unclear language regarding Azure AD usage

In Azure AD it is stated that Azure AD is only for user authentication, not computer authentication. I assume what is mean here is that a Windows computer cannot authenticate (as it would in a domain), but it might be cleared up to say that applications/services can authenticate with Azure AD just fine, as to not scare of potential users of Azure AD.

Azure AD App Roles Claim Type

The documentation states that the claim type will be "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" but I see the claim come back with the type "roles".


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

mistake in hub-vnet.json

Hello,

in hub-vnet.json there is a mistake (script cannot create network interface, because cannot find virtual network, it tries to make it in the resource group where is VM), you need to add ResourceGroupName parameter for virtual network in row 44. So it will be:
"virtualNetwork": {
"name": "hub-vnet",
"resourceGroupName": "hub-vnet-rg"
}

Honza


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

some issues with AWS services comparison

“Microservice-based applications”

  • We should include ACS here,.
  • Also, I think this category is misleading in general. You can use Functions or Logic Apps to create microservices. (or Lambda + AWS Step Functions)

“Container management”

  • Should include Azure Container Instances
  • The description of ACS isn’t quite accurate. ACS is for deploying a container orchestrator (Kubernetes, DC/OS, or Docker Swarm).

“Backend process logic”

  • Should include AWS Step Functions.
  • This category is confusing because it appears three times in the doc

Jenkins clarity

Availability considerations
Assess the availability requirements for your workflow and how to recover the Jenkin state should the Jenkin server goes down.

What is the mean of the last line?? BTW there are many places where Jenkins is used instead of Jenkins


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Rv: ASR comparision to AWS SMS

Review:

ASR is not the same as AWS SMS (like said below). If anything ASR needs to be listed twice... once for migration (where you could list AWS SMS) and once for DR, where the AWS alternative should still be "none".

suggestions for guidance-resiliency-failure-mode-analysis.md

See original request:
https://github.com/mspnp/elasticsearch/issues/74

Define or link to description of what is "scheduler-agent-supervisor pattern"

Comment: Most exception examples assume that .NET SDK is being used. Therefore, users of other SDKs may be slightly confused by the exception names.

There is no section for Azure SQL Data Warehouse and its failure modes (i.e. what happens when scale is changed or DW is paused)

The following comment is not clear. What queue and scaling are being referred to? "If the calling VM exceeds its network egress limit, the outbound queue will fill up. If the outbound queue is consistently full, consider scaling out."

Custom implementation of TokenCache always deserializes refreshToken as null

Hi, looking for help or guidance on this topic:

We are currently using ADAL for .Net V3. ADAL V3 hides the Refresh Token. While developing our own implementation of the TokenCache, I noticed when serializing/deserializing the class that the refresh token is always set to NULL. According to this blog http://www.cloudidentity.com/blog/2015/08/13/adal-3-didnt-return-refresh-tokens-for-5-months-and-nobody-noticed, it isn’t needed. I’m concerned this isn’t true in a multi-server environment with load balancing, where in-memory caching won’t work.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Feedback on compute decision tree

Thoughts on the decision tree

2 Thoughts. (1). What is the defination of "portability"? VMSS are not necessarily "portable", as for example, Containers could be. (2). Can you please change the color of the text labels so it renders properly in the Dark theme and make the Start button stand out a bit - the eyes go to the dark blue boxes right away. Thanks

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

combine these two sections - they contrast with each other right now

See original request:
https://github.com/mspnp/elasticsearch/issues/71

Combine these two sections so that we have one message: Automate your deployment process and document your automation. Right now these sections appear to contradict each other, recommending to document your manual deployment process and then going on to say that manual deployments are inherently unreliable.

Document the release process for your application. Without detailed release process documentation it's possible that an operator may deploy a bad update or improperly configure settings for your application. Clearly define and document your release process and ensure that it's available to the entire operations team. Best practices for resilient deployment of your application are detailed in the resilient deployment section of the Resiliency Guidance document.

Automate your application's deployment process. If your operations staff is required to manually deploy your application, human error can cause the deployment to fail. For more information on best practices for automating application deployment, see the resilient deployment section of the Resiliency Guidance document.

Where is Application Gateway?

Would like to see this updated to include Application Gateway as an important security component similar to https://blog.nilayparikh.com/azure/services/cloud-architecture-pattern-azure-service-fabric-and-microservices-part-2-logical-architecture/


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

SAP: managed disks

Great starter pack and step by step guide..Any info on managed disks template availability? Thanks,
Amit Lal


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

The recommendation of the retry policy for AAD/MSI is inconsistent

MSI is one way of using AAD. But the recommendation is inconsistent.
https://docs.microsoft.com/en-us/azure/architecture/best-practices/retry-service-specific#azure-active-directory mentions 429 and 5xx.
https://docs.microsoft.com/en-us/azure/active-directory/managed-service-identity/how-to-use-vm-token#retry-guidance only mentions 429.
Azure/azure-sdk-for-ruby#1285 mentions 429, 404 and 5xx.

Will this doc include the retry guidance for MSI and recommend a consistent retry policy? For example,

  1. Do AAD with service principal and AAD with MSI follow the same retry policy?
  2. Do we need to retry for the status code 404 when using AAD or MSI?

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

New Slick and Animated Icons

Dear Team, Can I get the Icons used in following presentations. They are animated and looks really nice in order to present the concepts.
https://azure.microsoft.com/en-us/resources/videos/an-overview-of-azure-event-grid/


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.