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 then Azure patterns. Now we’ll discuss a couple of vendor-non-specific sources of cloud design patterns:

Cloud Computing Patterns

CloudComputingPatterns.org is basically a marketing channel for pushing this Springer volume. The book itself seems quite useful and is well organized (but not particularly cheap). 

The book divides patterns into five major groups:

  1. Cloud Computing Fundamentals
  2. Cloud Offering Patterns
  3. Cloud Application Architecture Patterns
  4. Cloud Application Management Patterns
  5. Composite Cloud Application Patterns

Cloud Computing Fundamentals

Fundamentals include characteristic principles of Cloud Computing NIST and Cloud Service and Deployment models. So, for instance, how can the IAAS service model be designed to accommodate the widest possible range of use-cases:

“How can different customers share a physical hosting environment so that it can be used on-demand with a pay-per-use pricing model?”

The solution?

“A provider offers physical and virtual hardware, such as servers, storage and networking infrastructure that can be provisioned and decommissioned quickly through a self-service interface. “

Infrastructure as a service sketch
Of course, the actual book will likely contain much more on the subject.

Cloud Offering Patterns

Let’s take Blob Storage.

“How can large files be stored, organized and made available over a network?”

Cloud Computing Patterns’ answer:

“Data elements are organized in a folder hierarchy similar to a local file system. Each data element is given a unique identifier comprised of its location in the folder hierarchy and a file name. This unique identifier is passed to the storage offerings to retrieve a file over a network. ”

Blob Storage Sketch

Cloud Application Architectures

How about a Batch Processing Component?

“How can asynchronous processing requests be delayed to be handled when conditions for their processing are optimal?”

Solution:

“Asynchronous processing requests are accepted at all times but stored them (sic) until conditions are optimal for their processing. Based on the number of stored requests, environmental conditions, and custom rules, components are instantiated to handle the requests. Requests are only processed under non-optimal conditions if they cannot be delayed any longer. “

Batch processing component sketch image

Cloud Application Management

The Elastic Queue pattern:

“How can the number of required application component instances be adjusted based on monitored asynchronous accesses?”

And the solution:

“Queues that are used to distribute asynchronous requests among multiple application components instances are monitored. Based on the number of enqueued messages the Elastic Queue adjusts the number of application component instances handling these requests.“

Elastic Queue Sketch

Composite Cloud Applications

For the composite applications, we can evaluate the Three-Tier Cloud Application Pattern

“How can presentation logic, business logic, and data handling be decomposed into separate tiers that are scaled independently?”

The pattern provides the solution described by text and image:

“The application is decomposed into three tiers shown exemplarily in Figure, where each tier is elastically scaled independently. The presentation tier is comprised of a load balancer and an application component that implements the Stateless Component pattern and User Interface Component pattern. The business logic tier is comprised of an application component implementing the State in the other portal, less Component pattern in addition to the Processing Component pattern. “

Three-tier-cloud Application Sketch
The References and Context associated with each pattern described in this book are especially useful for a more full understanding.

CloudPatterns.org

CloudPatterns.org is a portal owned by Arcitura Education Inc, a global provider of vendor-neutral training and certification programs. Their online database of design patterns will obviously serve marketing goals, to attract professionals on courses and certifications of their list. But it’s very well organized and boasts rich content. They begin with:

Technology Mechanisms

Mechanisms are well-defined IT artifacts established within an IT industry and often unique to a certain computing model or platform. These mechanisms are often called Design Patterns to better define use-case problems and solutions. The Virtual Server, for instance, is a framework that’s useful for “hosting” related patterns. Similarly with the Hypervisor.
Hypervisor

Compound Patterns

… as an aside, this is the first time I have used the internet at 36,000 feet … very impressive …Compound patterns are effectively design models, composed of a set of very well defined models, or the design patterns. We can see something similar in the IAAS compound pattern from Cloud Computing Patterns.
IaaS compound pattern
Each element in the graph is either necessary or optional (shown as a dashed line) for the functioning of the compound pattern.

Cloud Design Patterns

CloudPattern provides a great definition of the whole idea behind patterns in their overview, in particular, this:

NIST Reference Architecture MappingThis content is provided for those interested in how a given pattern can relate to the components that comprise the National Institute of Standards (NIST) Cloud Computing Reference Architecture.

Nist Reference Architecture
Patterns can play significant roles for cloud computing, sometimes even allowing optimizations that don’t yet exist out of the box from mainstream platforms. The Storage Workload Management approach is one example.  Load Balanced Virtual Server Instances, and Zero Downtime that allows live migration are others.
Storage Workload Management
Load Balanced Virtual Server Instances
A pattern I particularly appreciate is Power Consumption Reduction, something that should be adopted by all the big cloud providers to optimize and more efficiently manage data center electricity consumption. This approach is often effectively used by private virtualized data centers but has been resisted in some operations due to the perception of higher latency. Maybe it could be introduced together with accurate forecasts of seasonal and daily load.
Power Consumption Reduction 1 Power Consumption Reduction 2
This ends our series of posts dedicated to the world of Cloud Design Patterns. I hope I’ve aroused your curiosity and helped you deepen and develop your understanding of this fascinating aspect of Cloud Computing.

Avatar

Written by

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 User Group (Naples, Italy), co-founded the EuroCloud Italy association and organized CloudCamps. I have "baptized" many to the Cloud. My Nicknames: Mr.Cloud or Santa Cloud at Christmas time.


Related Posts

Alisha Reyes
Alisha Reyes
— April 9, 2020

New on Cloud Academy: AWS Solutions Architect – Associate Exam Prep, Azure Courses, Google Associate Cloud Engineer Exam Prep, Programming Labs, and Much More

Free content on Cloud Academy More and more customers are relying on our technology and content to keep upskilling their people in these months, and we are doing our best to keep supporting them. While the world fights the COVID-19 pandemic, we wanted to make a small contribution to he...

Read more
  • AWS
  • Azure
  • Google Cloud Platform
  • programming
Avatar
Logan Rakai
— April 7, 2020

How to Effectively Use Azure DevOps

Azure DevOps is a suite of services that collaborate on software development following DevOps principles. The services in Azure DevOps are: Azure Repos for hosting Git repositories for source control of your code Azure Boards for planning and tracking your work using proven agil...

Read more
  • Azure
  • DevOps
Alisha Reyes
Alisha Reyes
— March 17, 2020

Cloud Academy’s Blog Digest: How Do AWS Certifications Increase Your Employability, How to Become a Microsoft Certified Azure Data Engineer, and more

With everything going on right now, it's likely that the only thing you've been reading lately is related to the coronavirus pandemic. It's important to stay informed during these times, but it's also good to jump into something that can take your mind off of the current situation for j...

Read more
  • AWS
  • Azure
  • blog digest
  • Certifications
  • Cloud Academy
  • programming
  • Security
Avatar
Cloud Academy Team
— March 13, 2020

Which Certifications Should I Get?

As we mentioned in an earlier post, the old AWS slogan, “Cloud is the new normal” is indeed a reality today. Really, cloud has been the new normal for a while now and getting credentials has become an increasingly effective way to quickly showcase your abilities to recruiters and compan...

Read more
  • AWS
  • Azure
  • Certifications
  • Cloud Computing
  • Google Cloud Platform
Avatar
Guy Hummel
— March 10, 2020

How to Become a Microsoft Certified Azure Data Engineer

Data engineering is one of the most sought-after skills in the job market. According to a 2019 Dice.com report, there was an 88% year-over-year growth in job postings for data engineers, which was the highest growth rate among all technology jobs. If you want to become a data enginee...

Read more
  • Azure
  • Data Engineer
  • DP-200
  • DP-201
  • Microsoft
Alisha Reyes
Alisha Reyes
— March 7, 2020

New on Cloud Academy: Intro to GitOps; AWS Courses; Java, Python, Amazon Linux 2, Ubuntu, & Docker Playgrounds; and much more

New Lab Playgrounds This month, our Content Team released six new "playground labs." Our playground labs provide a safe and secure sandbox environment for you to explore your own ideas, follow along with Cloud Academy courses, or answer your own questions — all without having to instal...

Read more
  • AWS
  • Azure
  • gitops
  • Google Cloud Platform
  • lab playground
  • programming
Alisha Reyes
Alisha Reyes
— March 6, 2020

New on Cloud Academy: Intro to GitOps; AWS Courses; Java, Python, Amazon Linux 2, Ubuntu, & Docker Playgrounds; and much more

New Lab Playgrounds This month, our Content Team released six new "playground labs." Our playground labs provide a safe and secure sandbox environment for you to explore your own ideas, follow along with Cloud Academy courses, or answer your own questions — all without having to instal...

Read more
  • AWS
  • Azure
  • gitops
  • Google Cloud Platform
  • lab playground
  • programming
Avatar
Thomas Mitchell
— February 27, 2020

5 Steps to Vulnerability Management for Containers

Organizations have begun embracing containers due to their simplicity and to the fact that they allow for a faster development and deployment velocity. Although developers are thrilled with containers because they allow them to deliver solutions more quickly, security teams are sometime...

Read more
  • AZ-500
  • AZ-500 Exam
  • Azure
  • vulnerability management
Avatar
Chandan Patra
— February 21, 2020

Elasticsearch vs. CloudSearch: AWS Cloud Search Choices

Elasticsearch vs. CloudSearch: What's the main difference? Let's compare AWS-based cloud tools: Elasticsearch vs. CloudSearch. While both services use proven technologies, Elasticsearch is more popular, open source, and has a flexible API to use for customization; in comparison, CloudS...

Read more
  • AWS
  • Azure
  • cloudsearch
  • elasticsearch
Avatar
Andrew Larkin
— February 13, 2020

Cloud Academy Content Roadmap Updates

Welcome to our Q1 2020 roadmap. This is the content we plan to build over the next three months, between February 1 - and April 30, 2020. Let's look at some of our roadmap highlights. Atlassian Bamboo for CI/CD We had a lot of requests for practical guides on how to apply DevOps tool...

Read more
  • Artificial Intelligence
  • AWS
  • Azure
  • Docker
  • Google Cloud Platform
  • Kubernetes
  • Machine Learning
Alisha Reyes
Alisha Reyes
— February 7, 2020

New on Cloud Academy: Git Labs, CKA and CKAD Lab Challenges, AWS and Azure Learning Paths, AGILE, and Much More

We just kicked off our first Free Weekend of 2020. This means we've unlocked our Training Library for just 72 hours. Until Sunday at 11:59 pm (PST), you can get unlimited access to our industry-leading learning paths, courses, certification prep exams, and our most popular hands-on labs...

Read more
  • agile
  • AWS
  • Azure
  • Google Cloud Platform
  • Linux
  • OWASP
  • programming
  • red hat
  • scrum
Alisha Reyes
Alisha Reyes
— January 31, 2020

How to Unlock Complimentary Access to Cloud Academy

Are you looking to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Cybersecurity, Information Security, Python, Java, or another technical skill? Then you'll want to mark your calendars. Starting Friday, February 7 at 12:00 a.m. PST (3:00 a.m. EST), Cloud Acade...

Read more
  • AWS
  • Azure
  • cloud academy content
  • complimentary access
  • GCP
  • on the house