Home

 

Patterns are a widely used concept in computer science to describe good solutions to reoccurring problems in an abstract form. Such conceptual solutions can then be applied in concrete use cases regardless of used technologies, such as software, middleware, or programming languages. As cloud computing is a new and developing field of commerce, new products and technologies are constantly made available to cloud users. In this scope, market dynamics often lead to confusing service descriptions. While advertising the individual properties of a specific cloud service may help in positioning it on the competitive market of cloud computing, they obfuscate the common underlying concepts. We therefore employ a pattern-like description language to describe cloud service models and cloud types in an abstract form to categorize the offerings of cloud providers. Further, we give reoccurring architectural patterns on how to design, build, and manage applications that use these cloud services. The abstracted form of these architectural patterns make them applicable to challenges that developers of cloud application face today, independent of the actual technologies and cloud services that they are using.

Cloud Types

Public Cloud
Private Cloud
Hybrid Cloud
Community Cloud

Cloud Service Models

IaaS
PaaS
SaaS
CaaS

Cloud Offerings

Low-available Compute Node
High-available Compute Node
Elastic Infrastructure
Strict Consistency
Eventual Consistency
Relational Data Store
Blob Storage
Block Storage
NoSQL Storage
Message-oriented Middleware
Reliable Messaging
At-least-once
Exactly-once

Cloud Application Architectures

Composite Application
Loose Coupling
Stateless Component
Idempotent Component
Map-Reduce
Elastic Component
Elastic Load Balancer
Elastic Queue
Watchdog
Update Transition
Single Instance Component
Multiple Instance Component
Single Configurable Instance Component
© 2011 Cloud Computing Patterns Impressum Suffusion theme by Sayontan Sinha