InfoQ Homepage News Design Patterns for Cloud-Hosted Applications

Design Patterns for Cloud-Hosted Applications


The patterns & practices group at Microsoft recently released a guide with suggested solutions and patterns suitable when implementing cloud-hosted applications. The guide discusses the problems different patterns address together with benefits and possible downsides. The ambition from the group has been to provide guidance for distributed systems irrespective of cloud platform even though the examples given are targeting Windows Azure.

Using feedback from the developer community, the group has identified eight categories of problems they believe cover the most common areas in cloud application development:

For each of these categories, the group have created guidance and documented common patterns to help developers in solving problems they regularly encounter.

The guide contains ten primer and guidance topics providing basic knowledge and good practice techniques, each covering one aspect of application development and targeting one of the categories. Topics covered include Asynchronous Messaging, Caching and Data Consistency.

Also included are 24 design patterns that the group have found useful in cloud-hosted applications, each pattern belonging to one or more of the categories described. Examples of patterns included are Compensating Transaction, Command and Query Responsibility Segregation (CQRS) and Pipes and Filters. Each pattern is described in a common format with the context and problem where the pattern applies, the solution given by the pattern together with issues and considerations for applying the pattern. An example for the Azure is also provided for each pattern.

To demonstrate the usage of the design patterns described the group has created ten sample applications with all source code available for download. The samples include one application concerning competing consumers retrieving messages from a service bus and one using filters simulating a pipeline.
The P & P group emphasizes that the examples are simplified and not designed for production usage.

Windows Azure is the cloud platform provided by Microsoft.

We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.