Best practices on design, deployment, troubleshooting, security, and performance.


Azure Architecture Guidance

Visit the architecture page for articles, reference architectures, and samples that demonstrate how to implement common design patterns in Azure applications.

Business Continuity

Learn best practices for data integrity and high availability

Guidance: Business continuity for Azure

This document explains how you think about and plan for availability. It discusses how to plan for availability problems that could be caused by failure of individual servers, devices, or networks; corruption, unwanted modification, or deletion of data; and widespread loss of facilities.

Guidance: Business continuity: Backup, restore, and high availability (Azure SQL Database)

This article describes backup and restore options and other business continuity capabilities provided by Azure SQL Database. It also includes information about the built-in fault tolerance that supports high availability of the SQL Database applications.

Capacity Planning & Scaling

Optimize your resource usage by planning ahead and leveraging scaling

Guidance: Designing a scalable partitioning strategy for Azure Table Storage

To take advantage of what tables offer, data should be partitioned using optimal PartitionKey values. This article explores strategies that allow you to efficiently partition data for Azure Table storage.

Guidance: Dynamically scaling an Azure application

If you understand the Azure Management APIs, you can build your own scaling engine. The goal of this article is to help you do this. The article explains the necessary concepts and design considerations and, in particular, discusses what may be the biggest challenge you will face: how to manage the deployed application's instance counts.

Guidance: Capacity planning considerations for Azure Caching

This topic shows how to use the Capacity Planning Guide spreadsheet to determine the required capacity of the cache, and the settings to configure to provision a cache cluster to meet the requirements.

Feature guide: Autoscaling Application Block

The Autoscaling Application Block from the Microsoft Enterprise Library 5.0 Integration Pack for Azure provides tools that let you automatically scale your cloud service. You can use performance counters to understand your app's performance, and then write rules that will automatically scale your app to adjust for specified targets and thresholds.

Guidance: Capacity planning for Service Bus Queues and Topics

This topic describes the difference in queue size limits between Azure queues and Service Bus queues and how to approximate the correct Service Bus queue or topic capacity. It also describes a test run with messages of different sizes to give an idea of the number of messages of various sizes that can be placed in a Service Bus queue or topic.

Continuous Delivery

Set up effective build and publishing environments for your Azure applications

How to: Publishing a website with Git

This how-to guide provides details about how to get started using Git with Azure. Git is a popular, open source, distributed version control system. Azure Websites allow you to enable a Git repository for your site, which allows you to quickly and easily push code changes to your site.

How to: Continuous delivery to Azure using Visual Studio Online

Learn how to use Visual Studio Online to automate the continuous build, package, and deployment of an Azure application.

How to: Continuous delivery for cloud services in Azure

Learn how to use Team Foundation Server to set up continuous delivery for Azure Cloud Services. This process enables you to automatically create packages and deploy the package to Azure after every code check-in.

Hybrid Applications

Develop applications that include both cloud-based and on-premises elements

Tutorial: Using Service Bus EAI and EDI Labs to integrate with an on-premises SAP server

Azure Service Bus EAI and EDI Labs provides a rich set of integration capabilities enabling organizations to create hybrid solutions such that their customer or partner facing applications are hosted on Azure, while the data related to customers or partners is stored on-premises using LOB applications. This article describes how to set up a similar hybrid scenario using Service Bus EAI and EDI Labs.

How to: Federated authentication for Azure Service Bus

Azure Service Bus enables on-premise systems to communicate with applications running on Azure, or with systems on other networks. This article shows how to use your current Active Directory Federation Services (ADFS) authentication with Azure Service Bus.


Move your existing applications and data to Azure

Guidance: Data migration to Azure SQL Database: Tools and techniques

This article provides guidance on migrating data schemas and data to SQL Database. It is primarily for one-time migration from SQL Server to SQL Database.

Guidance: SSIS for Azure and Hybrid Data Movement

Learn how to use SQL Server Integration Services (SSIS) to move data to and from Azure SQL Database. Best practices are outlined for using SSIS for cloud sources and destinations, as well as project planning for Azure and hybrid data moves. Sample code provided in C#.

Guidance: SSIS Operational and Tuning Guide

Learn best practices for project design and architecture when using SQL Server Integration Services (SSIS) to move data to and from Azure SQL Database. Best practices are also provided for performance tuning.

Guidance: Migrating data-centric applications to Azure

This series of articles provides detailed guidance about how to migrate data-centric applications to Azure cloud services and virtual machines. The series includes the following sections:


Measure and optimize your application's performance

Guidance: Best practices for performance in Azure applications

This topic provides an overview of performance considerations for cloud-based applications, as well as guidance around monitoring application performance. It also provides links to additional content to help guide you through all stages of designing and deploying your application.

Guidance: Optimization guidance for Azure Caching

This article provides guidance about how to get the most out of your caching solution. These suggestions are based on both Caching architecture and customer experiences.

Guidance: Best practices for performance improvements using Service Bus brokered messaging

This topic describes how to use the Azure Service Bus to optimize performance when exchanging brokered messages. The first half of this topic describes the different mechanisms that are offered to help increase performance. The second half provides guidance on how to use the Service Bus in a way that can offer the best performance for a given scenario.

Guidance: SQL Database performance guidelines

This article describes practices that help ensure optimal performance in a SQL Database application, including techniques for implementing proper retry logic and efficient logging. The article is part of the SQL Database Performance and Elasticity Guide.

Guidance: Performance guidance for SQL Server in Azure Virtual Machines

This article discusses the key factors to consider when evaluating performance and planning a migration to SQL Server in Virtual Machines. It also provides best practices and techniques for performance tuning and troubleshooting.


Find patterns and guidance for designing your Azure application

Guidance: Best practices for leveraging Azure Service Bus brokered messaging API

This article offers practical guidance for developers working with the .NET managed brokered messaging API in the Azure Service Bus. The recommendations supplied in this article come directly from recent customer projects.

Guidance: Azure Queues and Azure Service Bus Queues - Compared and contrasted

This article analyzes the differences and similarities between the two types of queues offered by Azure today: Azure Queues and Azure Service Bus Queues. By using this information, you can compare and contrast the respective technologies and be able to make a more informed decision about which solution best meets your needs.

Guidance: Azure Table Storage and Azure SQL Database - Compared and contrasted

This topic compares two types of structured storage that Azure supports: Azure Table Storage and Azure SQL Database. The goal of this article is to provide a comparison of the respective technologies so that you can understand the similarities and differences between them. This analysis can help you make a more informed decision about which technology best meets your specific requirements.


Build secure cloud-based applications

Guidance: Azure security guidance

This topic focuses on two key security areas, identity and access. You will learn about how security is different in the cloud and which features and settings to use in different application scenarios. The article provides links to additional content to help guide you through all stages of designing and deploying your application.

White paper: Security best practices for developing Azure applications

This paper by the Microsoft Security Engineering Center (MSEC) and Microsoft's Online Services Security and Compliance (OSSC) team, focuses on the security challenges and recommended approaches to design more secure applications for Azure. The teams partnered with the Azure team to build on the same security principles and processes that Microsoft has developed through years of experience managing security risks in traditional development and operating environments.

Guidance: Azure security notes

This document from the Patterns and Practices team provides solutions for securing common application scenarios on Azure.

White paper: Security guidelines for SQL Database

This paper provides an overview of security guidelines for customers who connect to SQL Database, and who build secure applications on SQL Database.

Book: A guide to claims-based identity and access control

This book from the Microsoft Patterns and Practices team provides information to help you evaluate claims-based identity as a possible option when you are planning a new application or making changes to an existing one.

Troubleshooting & Diagnostics

Build robust applications that can be easily debugged, and leverage Azure features and tools to more easily resolve issues when they occur

Guidance: Troubleshooting in Azure

This topic provides an introduction to designing Azure applications and websites so that you can identify problems when they occur. It includes links to additional content that will guide you through all stages of designing, deploying, and troubleshooting your application.

Tutorial: Troubleshooting Azure Websites

This tutorial walks through an example of how to investigate and resolve problems in an Azure web site. It describes how to use website diagnostic logging and tracing and how to download and analyze error logs.

Guidance: Collecting logging data by using Azure Diagnostics

This collection of topics provides details about how to use Azure Diagnostics to collect log data. You can use diagnostic data for debugging and troubleshooting, measuring performance, monitoring resource usage, traffic analysis and capacity planning, and auditing.

Guidance: Storage Analytics overview

Azure Storage Analytics performs logging and provides metrics data for a storage account. You can use this data to trace requests, analyze usage trends, and diagnose issues with your storage account.

Guidance: Diagnostics and debugging in Azure

This topic provides information describing the collection and analysis of diagnostic and debugging information for Azure Host instances and Azure applications.

Guidance: On-premises diagnostic models

This article discusses the diagnostic options that are available in Azure, and provides strategies and best practices that you can adopt when you instrument your applications.

Guidance: Troubleshooting best practices for developing Azure applications

This paper focuses on the different troubleshooting challenges and recommended approaches to design and develop more supportable applications for Microsoft’s Azure platform. It provides an overview of Azure diagnostic resources, including the Cloud Service diagnostics APIs, other Microsoft-provided tools, and third-party tools. It also discusses general best practices for supportable design, development, and deployment.

Guidance: Troubleshooting and Diagnostics for Azure Caching

This topic provides an overview of troubleshooting steps and diagnostics for troubleshooting Azure Caching applications.