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
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

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

CloudPattern.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 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.

Written by

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

— November 21, 2018

Google Cloud Certification: Preparation and Prerequisites

Google Cloud Platform (GCP) has evolved from being a niche player to a serious competitor to Amazon Web Services and Microsoft Azure. In 2018, research firm Gartner placed Google in the Leaders quadrant in its Magic Quadrant for Cloud Infrastructure as a Service for the first time. In t...

Read more
  • AWS
  • Azure
  • Google Cloud
— October 30, 2018

Azure Stack Use Cases and Applications

This is the second of a two-part series covering Azure Stack. Our first post provided an introduction to Azure Stack. Why would your organization consider using Azure Stack? What are the key differences between Azure Stack and Microsoft Azure? In this post, we'll begin to answer bot...

Read more
  • Azure
  • Hybrid Cloud
  • Virtualization
— October 3, 2018

Highlights from Microsoft Ignite 2018

Microsoft Ignite 2018 was a big success. Over 26,000 people attended Microsoft’s flagship conference for IT professionals in sunny Orlando, Florida. As usual, Microsoft made a huge number of announcements, ranging from minor to major in importance. To save you the trouble of sifting thr...

Read more
  • Azure
  • Ignite
— September 20, 2018

Planning for Microsoft Ignite 2018 Sessions: What Not to Miss

Cloud Academy is proud to be a sponsor of the Microsoft Ignite Conference to be held September 24 - 28 in Orlando, Florida. This is Microsoft’s biggest event of the year and is a great way to stay up to date on how to get the most from Microsoft’s products. In this post, I’ll help you p...

Read more
  • Azure
— September 18, 2018

How to Optimize Cloud Costs with Spot Instances: New on Cloud Academy

One of the main promises of cloud computing is access to nearly endless capacity. However, it doesn’t come cheap. With the introduction of Spot Instances for Amazon Web Services’ Elastic Compute Cloud (AWS EC2) in 2009, spot instances have been a way for major cloud providers to sell sp...

Read more
  • AWS
  • Azure
  • Google Cloud
— August 23, 2018

What are the Benefits of Machine Learning in the Cloud?

A Comparison of Machine Learning Services on AWS, Azure, and Google CloudArtificial intelligence and machine learning are steadily making their way into enterprise applications in areas such as customer support, fraud detection, and business intelligence. There is every reason to beli...

Read more
  • AWS
  • Azure
  • Google Cloud
  • Machine Learning
— July 5, 2018

How Does Azure Encrypt Data?

In on-premises environments, data security is typically a siloed activity, with a company's security team telling the internal technology groups (server administration, database, networking, and so on) what needs to be protected against intrusion.This approach is absolutely a bad...

Read more
  • Azure
— June 26, 2018

Disadvantages of Cloud Computing

If you want to deliver digital services of any kind, you’ll need to compute resources including CPU, memory, storage, and network connectivity. Which resources you choose for your delivery, cloud-based or local, is up to you. But you’ll definitely want to do your homework first.Cloud ...

Read more
  • AWS
  • Azure
  • Cloud Computing
  • Google Cloud
Albert Qian
— June 19, 2018

Preparing for the Microsoft Azure 70-535 Exam

The credibility of Microsoft Azure continues to grow in the first quarter of 2018 with an increasing number of enterprises migrating their workloads, resulting in a jump for Azure from 10% to 13% in market share. Most organizations will find that simply “lifting and shifting” applicatio...

Read more
  • Azure
  • Compute
  • Database
  • Security
— April 12, 2018

Azure Migration Strategy: A Checklist to Get Started

By now, you’ve heard it many times and from many sources: cloud technology is the future of IT. If your organization isn’t already running critical workloads on a cloud platform (and, if your career isn’t cloud-focused), you’re running the very real risk of being overtaken by nimbler co...

Read more
  • Azure
— March 2, 2018

Three Must-Use Azure Security Services

Keeping your cloud environment safe continues to be the top priority for the enterprise, followed by spending, according to RightScale’s 2018 State of the Cloud report.The safety of your cloud environment—and the data and applications that your business runs on—depends on how well you...

Read more
  • Azure
  • Security
— February 15, 2018

Is Multi-Cloud a Solution for High Availability?

With the average cost of downtime estimated at $8,850 per minute, businesses can’t afford to risk system failure. Full access to services and data anytime, anywhere is one of the main benefits of cloud computing.By design, many of the core services with the public cloud and its underl...

Read more
  • AWS
  • Azure
  • Cloud Adoption
  • Google Cloud