An Empirical Study of the Impact of Cloud Patterns on Quality of Service (QoS)

Cloud patterns are described as good solutions to recurring design problems in a cloud context. These patterns are often inherited from Service Oriented Architectures or Object Oriented Architectures where they are considered good practices. However, there is a lack of studies that assess the benefits of these patterns for cloud applications. In this paper, we conduct an empirical study on a Restful application deployed in the cloud, to investigate the individual and the combined impact of three cloud patterns (i.e., Local Database proxy, Local Sharding-Based Router and Priority Queue Patterns) on Quality of Service (QoS). We measure the QoS using the application's response time, average, and maximum number of requests processed per seconds. Results show that cloud patterns doesn't always improve the response time of an application. In the case of the Local Database proxy pattern, the choice of algorithm used to route requests has an impact on response time, as well as the average and maximum number of requests processed per second. Combinations of patterns can significantly affect the QoS of applications. Developers and software architects can make use of these results to guide their design decisions.

[1]  Ernesto Damiani,et al.  Scalability Patterns for Platform-as-a-Service , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[2]  Rick Cattell,et al.  Scalable SQL and NoSQL data stores , 2011, SGMD.

[3]  W. Marsden I and J , 2012 .

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

[5]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[6]  David J. Sheskin,et al.  Handbook of Parametric and Nonparametric Statistical Procedures , 1997 .

[7]  Sami S. Alwakeel,et al.  Modeling and Performance Evaluation of Message-oriented Middleware with Priority Queuing , 2011 .

[8]  John Sharp,et al.  Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications , 2014 .

[9]  N. Tapus,et al.  Practical application and evaluation of no-SQL databases in Cloud Computing , 2012, 2012 IEEE International Systems Conference SysCon 2012.

[10]  N. Cliff Dominance statistics: Ordinal analyses to answer ordinal questions. , 1993 .

[11]  Dennis Haney,et al.  Load-balancing for MySQL , 2003 .

[12]  Dana Petcu Identifying Cloud computing usage patterns , 2010, 2010 IEEE International Conference On Cluster Computing Workshops and Posters (CLUSTER WORKSHOPS).

[13]  Oliver Kopp,et al.  Non-functional data layer patterns for Cloud applications , 2012, 4th IEEE International Conference on Cloud Computing Technology and Science Proceedings.