The Microsoft patterns & practices team is part of the Azure Customer Advisory Team. Our purpose is to help developers, architects, and IT professionals be successful on the Microsoft Azure platform. We develop guidance that shows best practices for building cloud solutions on Azure.
These lists are a quick reference for reviewing the fundamental aspects of availability and scalability.
A summary of recommended practices for ensuring availability.
A summary of recommended practices for designing and implementing scalable services and handling data management.
Best practices articles
These articles provide an in-depth discussion of important concepts commonly associated with cloud computing.
A discussion of design issues to consider when designing a web API.
A set of recommended practices for implementing and publishing a web API.
A discussion of authentication and authorization concerns (for example, token types, authorization protocols, authorization flows, and threat mitigation).
A summary of considerations for scaling solutions without the need for manual intervention.
A description of available options and recommended practices for implementing tasks that should be performed in the background, independently from any foreground or interactive operations.
General guidance and recommended practice for using the CDN to minimize the load on your applications, and maximize availability and performance.
A summary of how to use caching to improve the performance and scalability of a system.
Strategies that you can use to partition data to improve scalability, reduce contention, and optimize performance.
Guidance on tracking how your users utilize your system, trace resource utilization, and generally monitor the health and performance of your system.
Recommended naming conventions for Azure resources.
Discussion of the general concepts for handling transient faults.
A summary of retry features for many of Azure services, including information to help you use, adapt, or extend the retry mechanism for that service.
Elasticsearch is a highly scalable open-source search engine and database. It is suitable for situations that require fast analysis and discovery of information held in large datasets. This guidance looks at some key aspects to consider when designing an Elasticsearch cluster.
Multitenancy is an architecture where multiple tenants share an application but are isolated from one another. This guidance shows you how to manage user identities in a multitenant application, using Azure Active Directory to handle sign-in and authentication.
This guide explores the use of HDInsight for scenarios such as iterative exploration, as a data warehouse, for ETL processes, and integration into existing BI systems. It also includes guidance on understanding the concepts of big data, planning and designing big data solutions, and implementing these solutions.
Cloud Design Patterns is a library of design patterns and related guidance topics. It articulates the benefit of applying patterns by showing how each piece can fit into cloud application architectures.
This guidance is an exploration of common anti-patterns that impede apps from scaling under load. It includes samples demonstrating eight anti-patterns and a performance analysis primer and a guide for assessing performance against key metrics.
Our reference architectures are arranged by scenario. Each individual architecture offers recommended practices and prescriptive steps, and an executable component that embodies the recommendations.
The current library of reference architectures is available at http://aka.ms/architecture.
These topics describe how to design applications that are resilient to failure in a distributed cloud environment.
How to build applications on the Azure platform that can recover from failures and continue to function. Describes a structured approach to achieve resiliency,from design to implementation, deployment, and operations.
A checklist of recommendations that will help you plan for a variety of failure modes that could occur.
Failure mode analysis (FMA) is a process for building resiliency into a system, by identifying possible failure points. As a starting point for your FMA process,this article contains a catalog of potential failure modes and their mitigations.