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. We employ patterns to describe cloud service models and cloud deplyoment types in an abstract form to categorize the offerings of cloud providers. Furthermore, we give reoccurring cloud application architectural patterns on how to design, build, and manage applications that use these cloud offerings. The abstraction of these patterns make them applicable to challenges faced by developers regardless of the actual technologies and cloud services that they are using. The patterns are contained in the following book and presented on this website in a summarized form.

Book.png
From the back cover: This book provides CIOs, software architects, project managers, developers, and cloud strategy initiatives with a set of architectural patterns that offer nuggets of advice on how to achieve common cloud computing-related goals. The cloud computing patterns capture knowledge and experience in an abstract format that is independent of concrete vendor products. Readers are provided with a toolbox to structure cloud computing strategies and design cloud application architectures. By using this book cloud-native applications can be implemented and best suited cloud vendors and tooling for individual usage scenarios can be selected. The cloud computing patterns offer a unique blend of academic knowledge and practical experience due to the mix of authors. Academic knowledge is brought in by Christoph Fehling and Professor Dr. Frank Leymann who work on cloud research at the University of Stuttgart. Practical experience in building cloud applications, selecting cloud vendors, and designing enterprise architecture as a cloud customer is brought in by Dr. Ralph Retter who works as an IT architect at T‑Systems, Walter Schupeck, who works as a Technology Manager in the field of Enterprise Architecture at Daimler AG, and Peter Arbitter, the former head of T‑Systems’ cloud architecture and IT portfolio team and now working for Microsoft.

Access the full information at Springer.com, download a sample chapter, or read the book on SpringerLink.

Cloud Computing Fundamentals

Static workload icon.png
Static
Workload
Periodic workload icon.png
Periodic
Workload
Once in a lifetime workload icon.png
Once-in-a-lifetime
Workload
Unpredictable workload icon.png
Unpredictable
Workload
Continuously changing workload icon.png
Continuously
Changing Workload
Infrastructure as a service icon.png
Infrastructure
as a Service (IaaS)
Platform as a service icon.png
Platform
as a Service (PaaS)
Software as a service icon.png
Software
as a Service (SaaS)
Public cloud icon.png
Public
Cloud
Private cloud icon.png
Private
Cloud
Community cloud icon.png
Community
Cloud
Hybrid cloud icon.png
Hybrid
Cloud

Cloud Offerings

Elastic infrastructure icon.png
Elastic
Infrastructure
Elastic platform icon.png
Elastic
Platform
Node based availability icon.png
Node-based
Availability
Environment based availability icon.png
Environment-based
Availability
Hypervisor icon.png
Hypervisor
Execution environment icon.png
Execution
Environment
Map reduce icon.png
Map Reduce
Block storage icon.png
Block
Storage
Blob storage icon.png
Blob
Storage
Relational database icon.png
Relational
Database
Key value storage icon.png
Key-Value
Storage
Strict consistency icon.png
Strict
Consistency
Eventual consistency icon.png
Eventual
Consistency
Virtual networking icon.png
Virtual Networking
Message oriented middleware icon.png
Message-oriented
Middleware
Exactly once delivery icon.png
Exactly-once
Delivery
At least once delivery icon.png
At-least-once
Delivery
Transaction based delivery icon.png
Transaction-based
Delivery
Timeout based delivery icon.png
Timeout-based
Delivery

Cloud Application Architectures

Loose coupling icon.png
Loose
Coupling
Distributed application icon.png
Distributed
Application
Stateful component icon.png
Stateful
Component
Stateless component icon.png
Stateless
Component
User interface component icon.png
User Interface
Component
Processing component icon.png
Processing
Component
Batch processing component icon.png
Batch Processing
Component
Data access component icon.png
Data Access
Component
Data abstractor icon.png
Data
Abstractor
Idempotent processor icon.png
Idempotent
Processor
Transaction based processor icon.png
Transaction-based
Processor
Timeout based message processor icon.png
Timeout-based Message Processor
Multi component image icon.png
Multi-Component
Image
Shared component icon.png
Shared
Component
Tenant isolated component icon.png
Tenant-isolated
Component
Dedicated component icon.png
Dedicated
Component
Restricted data access component icon.png
Restricted Data
Access Component
Message mover icon.png
Message
Mover
Application component proxy icon.png
Application
Component Proxy
Compliant data replication icon.png
Compliant Data
Replication
Integration provider icon.png
Integration
Provider

Cloud Application Management

Provider adapter icon.png
Provider
Adapter
Managed configuration icon.png
Managed
Configuration
Elasticity manager icon.png
Elasticity
Manager
Elastic load balancer icon.png
Elastic
Load Balancer
Elastic queue icon.png
Elastic
Queue
Watchdog icon.png
Watchdog
Elasticity management process icon.png
Elasticity
Management Process
Feature flag management process icon.png
Feature Flag
Management Process
Update transition process icon.png
Update
Transition Process
Standby pooling process icon.png
Standby
Pooling Process
Resiliency management process icon.png
Resiliency
Management Process

Composite Cloud Applications

Two tier cloud application icon.png
Two-Tier
Cloud Application
Three tier cloud application icon.png
Three-Tier
Cloud Application
Content distribution network icon.png
Content Distribution
Network
Hybrid user interface icon.png
Hybrid
User Interface
Hybrid processing icon.png
Hybrid
Processing
Hybrid data icon.png
Hybrid
Data
Hybrid backup icon.png
Hybrid
Backup
Hybrid backend icon.png
Hybrid
Backend
Hybrid application functions icon.png
Hybrid
Application Functions
Hybrid multimedia web application icon.png
Hybrid Multimedia
Web Application
Hybrid development environment icon.png
Hybrid Development Environment