Cloud Design Patterns – The Final Post
We arrive at our last appointment with Cloud Design Patterns. After the first introductory post, we focused on patterns for the AWS cloud, and...Learn More
Let’s talk about Cloud Design Patterns.
We introduced the topic of design patterns in this previous post, then we discussed how design patterns apply specifically to the AWS cloud. 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 download a 236-page book in PDF or ebook editions, or order a print version from Amazon. Sample code and an infographic depicting all the patterns are also available. The book contains 24 design patterns, 10 guidance topics, and 10 sample applications.
The 24 design patterns are divided into 8 Problem Areas, each with its own symbol.
|Design and Implementation|
|Management and Monitoring|
|Performance and Scalability|
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.
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 Pattern (example)||Event Sourcing Pattern|
|Command and Query Responsibility Segregation (CQRS) Pattern||Federated Identity Pattern|
|External Configuration Store Pattern (example)||Gatekeeper Pattern|
|Health Endpoint Monitoring Pattern (example)||Retry Pattern|
|Leader Election Pattern (example)||Materialized View Pattern|
|Compensating Transaction Pattern||Scheduler Agent Supervisor Pattern|
|Runtime Reconfiguration Pattern (example)||Sharding Pattern|
|Pipes and Filters Pattern (example)||Cache-aside Patter|
|Priority Queue Pattern (example)||Throttling Pattern|
|Queue-based Load Leveling Pattern||Valet Key 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.
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:
Although web servers are well tuned to optimize requests through efficient dynamic page code execution and output caching, they must still handle requests to download 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 of 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 the deployment of the application and to securing resources that are not intended to be available to anonymous users.
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.
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 terms.
July has been a very exciting month for us at Cloud Academy. On July 10, we officially joined forces with QA, the UK’s largest B2B skills provider (read the announcement). Over the coming weeks, you will see additions from QA’s massive catalog of 500+ certification courses and 1500+ ins...
There has been an increase in data breaches over the recent years. With almost 143 million Americans who have had their data compromised in data breaches. These breaches include all sorts of sensitive data, including financial information, election controversies, social security, just t...
In this article, we’ll cover how to set up an Azure Databricks cluster and how to run queries in an interactive notebook. However, this article only scratches the surface of what you can do with Azure Databricks. If you would like to learn more, including how to create graphs, run sched...
Microsoft Azure relies on a few key architectural components to provide redundancy and high availability. Core Azure architectural components include Azure regions, Azure Availability Zones, resource groups, and the Azure Resource Manager. In this article, we’ll discuss the basics ab...
Microsoft Azure is one of the hottest cloud services on the planet, and it’s growing at a phenomenal rate. This rapid growth has created a huge demand for people who know how to administer and manage Azure implementations. To make it easier for employers to verify the skills of Azure...
Microsoft has offered Azure certification exams for years, but until recently, they were all meant for technical IT professionals. Now non-technical professionals, such as salespeople and managers, can take the new AZ-900 exam to prove their understanding of Azure fundamentals. People w...
Archive Storage Archive Storage offers the lowest storage costs of all Azure storage. Its retrieval costs, however, are higher when compared to Hot and Cool storage. The archive tier of storage is designed for data that can tolerate several hours of latency when being retrieved. It’s a...
Welcome to part one of our series on Azure Storage. Stay tuned for the second part. An Overview of Azure Storage Microsoft Azure Storage is a cloud-based storage offering that provides multiple storage solutions for organizations. In addition to a massively scalable object store for ...
Harvard Business Review recently estimated that some 90% of corporate training never gets applied on the job. Given the $200B training industry, that is a staggering amount of waste. One reason for the disconnect? Lack of context. Cloud Academy’s platform was built to make it extraor...
Microsoft Azure is the fastest growing cloud provider. Azure’s revenue grew an incredible 76% in the last quarter of 2018. As more and more businesses move their IT infrastructure to Microsoft’s cloud platform, the demand for Azure professionals keeps rising. Since there are relatively ...
So just what is Heroku? It's a service for developers eager to get their applications online without having to worry about infrastructure details. Metered, pay-as-you-go Cloud Computing services come in all kinds of flavors. Infrastructure as a Service (IaaS) offerings like AWS allow e...
Cloud Computing, like any computing, is a combination of CPU, memory, networking, and storage. Infrastructure as a Service (IaaS) platforms allow you to store your data in either Block Storage or Object Storage formats. Understanding the differences between these two formats - and how ...