Architectural Patterns for Cloud Computing

Last night I gave a presentation on Architectural Patterns for Cloud Computing to the New York City Chapter of the International Association of Software Architects (IASA).  Even though the audience consisted of both software company architects and customer architects I though that you all would be interested in the material that we covered. 


Presentation Abstract: “Cloud Computing represents a major paradigm shift in our industry. You are interested in cloud computing, but where do you start? How are vendors and companies defining Cloud Computing? Do you know the architectural differences between Public, Private, Community and Hybrid Clouds? What do you need to know to figure out which applications make sense in the cloud? And is any of this real today? Based on real-world customer engagements, this talk will explore a set of five design patterns that you can use for moving to the cloud. Avoiding the general product pitches, this talk provides the tools and knowledge to help you more clearly understand architecting the move of an organization to the cloud.”

You can download the presentation deck from my SkyDrive folder here. The presentation was recorded and IASA will be posting the video on their web site shortly. When they do I will update this post with a link to the video.

One of the questions that came up during the presentation was about the performance of Windows Azure applications and cloud applications in general.  After discussing how there is no substitute for benchmarking with your own applications and data in your own environment I told them about the Microsoft eXtreme Consulting Group web site that lists benchmark data and best practices for Windows Azure.  By the way, they also have built a desktop utility that measures the upload and download throughput achievable from your on-premise client machine to Azure cloud storage (blobs, tables and queues). It can be downloaded from here.

Bill Zack