An architectural pattern language of cloud-based applications

  title={An architectural pattern language of cloud-based applications},
  author={Christoph Fehling and Frank Leymann and Ralph Retter and David Schumm and Walter Schupeck},
  booktitle={PLoP '11},
The properties of clouds -- elasticity, pay-per-use, and standardization of the runtime infrastructure -- enable cloud providers and users alike to benefit from economies of scale, faster provisioning times, and reduced runtime costs. However, to achieve these benefits, application architects and developers have to respect the characteristics of the cloud environment. To reduce the complexity of cloud application architectures, we propose a pattern-based approach for cloud application design… 

Figures and Tables from this paper

Capturing Cloud Computing Knowledge and Experience in Patterns

This paper introduces two new cloud patterns identified in industrial scenarios recently and presents a detailed step-by-step pattern identification process supported by a pattern authoring toolkit to identify a large set of cloud patterns.

Cloud Application Architecture Patterns

Fundamental application architectural patterns cover the architectural principles found in most cloud-native applications to enable the cloud application properties and multi-tenancy patterns describe how cloud applications and individual components can be shared by multiple customers, so called tenants, on different levels of the application stack.

Service Migration Patterns -- Decision Support and Best Practices for the Migration of Existing Service-Based Applications to Cloud Environments

An implementation of the approach, which has been used to migrate a web-application stack from Amazon Web Services to the T-Systems cloud offering Dynamic Services for Infrastructure (DSI), and a methodology how these patterns should be applied during the migration of a service-based application or multiples thereof are presented.

Pattern-Based Deployment Models and Their Automatic Execution

A meta-model for Pattern-based Deployment Models is introduced, which enables using cloud patterns as generic, vendor-, and technology-agnostic modeling elements directly in deployment models, instead of specifying concrete technologies, providers, and their configurations.

CloudCAMP : A Model-driven Generative Approach for Automating Cloud Application Deployment and Management

The paper describes the metamodel of the domain-specific language that abstracts the business-relevant application requirements to generate the corresponding fully deployable infrastructure-as-code solutions, which can deploy, run, and manage the applications in the cloud environment.

Design support for performance- and cost-efficient (re)distribution of cloud applications

The transformation of capital into operational expenditures when using private or public clouds has become a reality and the increase of available cloud services together with the materialization of DevOps methodologies have forced a change in how software is engineered and operated.

Pattern-Based Development and Management of Cloud Applications

This work proposes a method by use of a catalog to guide application managers during the refinement of abstract management flows at the design stage of an application, and uses runtime-specific management functionality and management interfaces to obtain automated management flows for a developed application.

Towards a Model-Driven Dynamic Architecture Reconfiguration Process for Cloud Services Integration

A model-driven dynamic architecture reconfiguration process to support the integration of cloud services and a dealer network system development example, where cloud services are deployed in an incremental way are illustrated.

MDE-based Automated Provisioning and Management of Cloud Applications

This doctoral research envisions an intelligent and context-aware, model-driven, automated service provisioning technique, where manual efforts and domain expertise are alleviated to a large extent using a Model-Driven Engineering (MDE) approach.

Architectural patterns for reuse-driven development of mobile cloud computing systems

This research aims to build and exploit a catalog of patterns that support reusable design knowledge for architecturebased development of MCC systems and suggests that pattern-based architecting supports reusability and efficiency of system design and development.



Flexible Process-Based Applications in Hybrid Clouds

This paper covers architectural principles to follow during the design of flexible cloud applications and introduces an abstract architectural pattern to enable data variability of these flexible applications.

A self-service portal for service-based applications

  • R. RetterF. Leymann
  • Computer Science
    2010 IEEE International Conference on Service-Oriented Computing and Applications (SOCA)
  • 2010
This paper introduces metamodels, algorithms and tools for application vendors to describe composite service- based cloud applications independently of the provider that later offers them, and describes how customers can customize such service-based applications and how providers can automatically provision the individual services required by the application.

Compliant Cloud Computing (C3): Architecture and Language Support for User-Driven Compliance Management in Clouds

This paper proposes novel languages for specifying compliance requirements concerning security, privacy, and trust by leveraging domain specific languages and compliance level agreements, and proposes the C3 middleware responsible for the deployment of certifiable and auditable applications.

Cafe: A Generic Configurable Customizable Composite Cloud Application Framework

Cafe (Composite Application Framework) is presented, an approach to describe configurable composite service-oriented applications and to automatically provision them across different providers and to present an architecture and a prototype that implements the concepts.

Cloud Computing: The Next Revolution in IT

This article shows that cloud computing can be seen as the next step in an evolution from isolated computers over clusters and beyond grids and argues that predefined points-of-variability are of utmost importance for cloud applications to be able to easily adapt them to the different requirements of the huge number of cloud customers.

The NIST Definition of Cloud Computing

This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.

EAI as a Service - Combining the Power of Executable EAI Patterns and SaaS

EAI as a Service is proposed as a flexible, customizable, inexpensive way to tackle EAI problems both of on-premise systems but also of systems run in a SaaS business model.

Combining Different Multi-tenancy Patterns in Service-Oriented Applications

How the services in a service-oriented SaaS application can be deployed using different multi-tenancy patterns is shown and how the chosen patterns influence the customizability,multi-tenant awareness and scalability of the application is described.

Distributed systems: Principles and Paradigms

Intended for use in a senior/graduate level distributed systems course or by professionals, this text systematically shows how distributed systems are designed and implemented in real systems.

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Enterprise Integration Patterns provides an invaluable catalog of sixty-five patterns, with real-world solutions that demonstrate the formidable of messaging and help you to design effective messaging solutions for your enterprise.