Cloud Computing Patterns
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.
Cloud computing fundamentals describe cloud service models and cloud deployment types analogous to the NIST cloud definition↗. These patterns extend this definition by covering the conditions under which a certain service model and deployment type should be used for a cloud application.
Cloud offerings describe the functionality offered by cloud providers to be used by an application for processing of workload, communication, and data storage. Again, these patterns cover the conditions under which an offering should be selected, aswell as the implications on the application.
Cloud application architectures describe the general structure of the cloud application and specific application components for user interfaces, processing, and data handling. Cloud application management describes how these applications can be managed during runtime using additional management components, which rely on functionality provided by the application itself, cloud offerings, and the cloud environment.
Composite cloud applications cover frequent combinations of patterns from all other categories in various use cases.