Design Patterns for Cloud-Hosted Applications

by Jan Stenberg on Feb 11, 2014 |

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.

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.

Tell us what you think

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

Email me replies to any of my messages in this thread
Community comments

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

Email me replies to any of my messages in this thread

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

Email me replies to any of my messages in this thread

General Feedback
Marketing and all content copyright © 2006-2016 C4Media Inc. hosted at Contegix, the best ISP we've ever worked with.
Privacy policy

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.