Azure Cloud Design Patterns Azure Cloud Design Patterns
Let’s talk about Cloud Design Patterns. We introduced the topic here, then we discussed how it applies specifically to the AWS cloud here. Now we’ll talk about patterns as they apply to the Microsoft Azure Cloud. Microsoft Azure – being more focused on application development – provides for much more official and detailed Design Patterns than AWS. In fact, they dedicate an entire section on the subject on MSDN, from where you can a 236 page book in PDF or ebook editions, or order a print version from Amazon. Sample code and an info graphic poster depicting all the patterns are also available. The book contains 24 design patterns, 10 guidance topics and 10 sample applications. Problem Areas
The 24 design patterns are divided into 8 Problem Areas, each with its own symbol. Availability Data Management Design and Implementation Messaging
Management and Monitoring Performance and Scalability Resiliency Security  The guide provides solutions to common problems encountered while developing cloud-based applications, describes the benefits derived from the application of patterns when implementing Azure-hosted cloud applications, and discusses the problems that affect the patterns, and how these relate to Azure. The book also shows us how to implement the patterns using the features and services of Microsoft Azure, and highlights their benefits. Primer & Guidance Topics
The book also presents guidance topics. These, in fact, represent the basic orientation for developing applications in the cloud:
Asynchronous Messaging Primer Autoscaling Guidance Caching Guidance Compute Partitioning Guidance Data Consistency Primer Data Partitioning Guidance Data Replication and Synchronization Guidance
Instrumentation and Telemetry Guidance Multiple Datacenter Deployment Guidance Service Metering Guidance Cloud Design Patterns
We come now to the core thematic list: Microsoft’s 24 patterns: Static Content Hosting Pattern (example)
Circuit Breaker Pattern
Competing Consumers Pattern (example)
Index Table Pattern
Compute Resource Consolidation Event Sourcing Pattern Pattern(example) Command and Query Responsibility
Federated Identity
Segregation (CQRS) Pattern
Pattern
External Configuration Store Gatekeeper Pattern Pattern (example) Health Endpoint Monitoring Retry Pattern Pattern (example) Leader Election Pattern (example)
Materialized View Pattern Scheduler Agent
Compensating Transaction Pattern Supervisor Pattern Runtime Reconfiguration Pattern (example)
Sharding Pattern
Pipes and Filters Pattern (example)
Cache-aside Patter
Priority Queue Pattern (example)
Throttling Pattern
Valet Key Queue-based Load Leveling Pattern Pattern(example) For each pattern, the book provides a short description, some context and a problem along with its solution, issues and considerations, A use case, sample code with C #, and finally the patterns and related guidance. Code Samples
All examples work with the Visual Studio Windows Azure emulator, and can be deployed through the Windows Azure Cloud Service. Let’s take the Static Content Hosting Pattern as an example. The pattern is part of these problem areas: Data Management, Design and Implementation, Performance & Scalability. The book’s author writes: Deploy static content to a cloud-based storage service that can deliver these directly to the client. This pattern can reduce the requirement for potentially expensive compute instances. While adding more detail concerning the context and problem: Web applications typically include some elements of static content. This static content may include HTML pages and other resources such as images and documents that are available to the client, either as part of an HTML page (such as inline images, style sheets, and client-side JavaScript files) or as separate s (such as PDF documents).
Although web servers are well tuned to optimize requests through efficient dynamic page code execution and output caching, they must still handle requests to static content. This absorbs processing cycles that could often be put to better use. And the Solution gives us the guidelines to implement it: In most cloud hosting environments it is possible to minimize the requirement for compute instances (for example, to use a smaller instance or fewer instances), by locating some of an application’s resources and static pages in a storage service. The cost for cloud-hosted storage is typically much less than for compute instances. When hosting some parts of an application in a storage service, the main considerations are related to deployment of the application and to securing resources that are not intended to be available to anonymous s.
Therefore we see that the pattern improves the performance and scalability by moving the delivery of static content to Azure Blob Storage. The sample code simulates the solution of pattern also giving us useful snippet of Azure code. Conclusion
As you can see, Cloud Design Patterns for Azure is rich in useful content. In particular, I highly recommend a quick read of Autoscaling Guidance. Next, we’ll explore two websites that also discuss Cloud Design Patterns in more general . Become a Cloud expert with our Professional PLUS hip New courses every week. START YOUR 7-DAY FREE TRIAL
Automated Data Management with EBS, S3, and Glacier
BECOME A MEMBERWatch
the full Course now and start enjoying our Courses Library. Each course includes HD videos and scenario-based quizzes.
Fabio Cecaro
Expert and Visionary of the Cloud Computing model, Cloud Solution Architect, President of EuroCloud Italy. Purist of the NIST definition of Cloud Computing. I began to deal with the Cloud since 2007 as a private researcher, then as an entrepreneur. To evangelize the area where I live, I founded one of the first five Europeans AWS Group (Naples, Italy), cofounded the EuroCloud Italy association and organized CloudCamps. I have "baptized" many to the Cloud. My Nicknames: Mr.Cloud or Santa Cloud at Christmas time. More Posts - Website Follow Me: