ChiliPLoP 2012



"Cloud Computing Patterns" Hot Topic

Background

Through the use of cloud computing, providers and customers alike may benefit from economies of scale, reduced provisioning times, and flexible scaling of cloud applications. To benefit from this powerful computing environment, application architects, however, have to respect the specific properties of clouds: elasticity – the ability to adjust resources numbers assigned to an application flexibly and on demand; pay-per-use – only the reserved resources are billed to customers; standardization – the runtime environment of cloud applications consists of reusable services, middleware platforms, and virtualized hardware; resource sharing – resources in the cloud are shared between multiple customers. Fundamental architectural styles to follow are (i) the partitioning of cloud applications into loosely coupled components, (ii) the distribution of these components among redundant cloud resources, and (iii) the automatic management of the cloud application, for example, to handle elasticity and resiliency. Cloud offerings provide infrastructure, platform and as a Service. If these services are used by cloud applications they become highly dependent on the interfaces and behavior of these offerings. But industry driven evolution often obfuscates the common underlying architectural concepts and the abstract behavior of cloud offerings. This makes cloud providers hard to compare regarding their architectural implications on cloud applications.

Cloud Patterns @ ChiliPLoP

We identified new cloud patterns and transferred architectural concepts from existing patterns of other domains during our collaboration with industry partners, namely the Daimler AG [6] as a large cloud customer and T-Systems [7], the ICT subsidiary of the Deutsche Telekom, as a cloud provider. In [1] [2] [3] we introduced patterns for cloud types – different forms of cloud environments, cloud service models – the style how clouds offer resources, and cloud offerings – the resources offered by clouds and their abstract behavior. This use of the pattern format to describe aspects of the cloud, even though they are outside of the control of cloud users, allows the classification of cloud providers regarding supported patterns, provides a common abstract vocabulary, and sets the context in which cloud architectural patterns, also described in [1] [2] [3], may be implemented.  

The cloud computing patterns are available at http://www.cloudcomputingpatterns.org. We have now been offered the opportunity by a renowned publicist to write a book containing the revised and consolidated version of these existing cloud patterns and a number of additional patterns. We will use the opportunity of ChiliPLoP to workshop and improve the cloud patterns with the pattern community. The workshop targets cloud experts and beginners alike to evaluate the patterns’ completeness and correctness with experts in the field and to ensure that they remain comprehensible for persons getting to know cloud computing. The final book will then target application architects in industry and will also be used in university education.

 

[1]    Fehling, Christoph; Leymann, Frank; Mietzner, Ralph; Schupeck, Walter: A Collection of Patterns for Cloud Types, Cloud Service Models, and Cloud-based Application Architectures, Technical Report No. 2011/05.

[2]    Fehling, Christoph; Leymann, Frank; Retter, Ralph; Schumm, David; Schupeck, Walter: An Architectural Pattern Language of Cloud-based Applications. In: Proceedings of the 18th Conference on Pattern Languages of Programs, PLoP 2011.

[3]    Fehling, Christoph; Konrad, Ralf; Leymann, Frank; Mietzner, Ralph; Pauly, Michael; Schumm, David: Flexible Process-based Applications in Hybrid Clouds. In: Proceedings of the 2011 IEEE International Conference on Cloud Computing (CLOUD 2011).

[4]    http://www.daimler.com/

[5]    http://www.t-systems.com/