An architectural pattern language of cloud-based applications

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 and development. We defined a pattern format to describe the principles of cloud computing, available cloud offerings, and cloud application architectures. Based on this format we developed an architectural pattern language of cloud-based applications: through interrelation of patterns for cloud offering descriptions and cloud application architectures, developers are guided during the identification of cloud environments and architecture patterns applicable to their problems. We cover the proceeding how we identified patterns in various information sources and existing productively used applications, give an overview of previously discovered patterns, and introduce one new pattern. Further, we propose a framework for the organizations of patterns and the guidance of developers during pattern instantiation.

[1]  Frank Leymann,et al.  Cafe: A Generic Configurable Customizable Composite Cloud Application Framework , 2009, OTM Conferences.

[2]  Frank Leymann,et al.  Compliant Cloud Computing (C3): Architecture and Language Support for User-Driven Compliance Management in Clouds , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[3]  Frank Leymann,et al.  Combining Different Multi-tenancy Patterns in Service-Oriented Applications , 2009, 2009 IEEE International Enterprise Distributed Object Computing Conference.

[4]  Frank Leymann,et al.  Flexible Process-Based Applications in Hybrid Clouds , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[5]  Gregor Hohpe,et al.  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , 2003 .

[6]  Eric A. Brewer,et al.  Towards robust distributed systems (abstract) , 2000, PODC '00.

[7]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[8]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[9]  Mahmoud Naghshineh,et al.  IBM Research Division cloud computing initiative , 2009, IBM J. Res. Dev..

[10]  Marian Petre,et al.  Why looking isn't always seeing: readership skills and graphical programming , 1995, CACM.

[11]  Eugene Ciurana,et al.  Developing with Google App Engine , 2009 .

[12]  Werner Vogels,et al.  Building reliable distributed systems at a worldwide scale demands trade-offs between consistency and availability. , 2022 .

[13]  Frank Leymann,et al.  A self-service portal for service-based applications , 2010, 2010 IEEE International Conference on Service-Oriented Computing and Applications (SOCA).

[14]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[15]  Gerard G. Meszaros,et al.  A pattern language for pattern writing , 1997 .

[16]  PetreMarian Why looking isn't always seeing , 1995 .

[17]  MDA Success Story ePEP successful with Model Driven Architecture , 2005 .

[18]  Frank Leymann,et al.  Cloud Computing: The Next Revolution in IT , 2009 .

[19]  Robert S. Hanmer,et al.  Documenting architectures with patterns , 2004, Bell Labs Technical Journal.

[20]  Gerold Riempp,et al.  Application portfolio management: a decision-oriented view of enterprise architecture , 2007, Inf. Syst. E Bus. Manag..

[21]  Frank Leymann,et al.  A Collection of Patterns for Cloud Types, Cloud Service Models, and Cloud-based Application Architectures , 2011 .

[22]  Frank Leymann,et al.  EAI as a Service - Combining the Power of Executable EAI Patterns and SaaS , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[23]  Douglas C. Schmidt,et al.  Pattern Oriented Software Architecture: On Patterns and Pattern Languages (Wiley Software Patterns Series) , 2007 .

[24]  Saadat Malik Network Security Principles and Practices , 2002 .