A Systematic Mapping Study of Software Architectures for Cloud based Systems
TR-2014-175, Authors: Muhammad Aufeef Chauhan & Muhammad Ali Babar.
A Systematic Mapping Study of Software Architectures for Cloud Based Systems
Muhammad Aufeef Chauhan
Muhammad Ali Babar
Context: Cloud computing has gained significant attention of researchers and practitioners. This emerging paradigm is being used to provide solutions in multiple domains without huge upfront investment because of its on demand recourse-provisioning model. However, the information about how software systems are constructed for cloud based systems and what architecture approaches are used to build these systems in not available in synthesized form, which makes it hard to find common architecture solutions for building applications for cloud and identify research gaps.
Object: The main objective of this study is to systematically identify and analyze the currently published research on the topics related to software architectures for cloud-based systems in order to identify architecture solutions for achieving quality requirements.
Method: We decided to carry out a systematic mapping study to find as much peer-reviewed literature on the topics related to software architectures for cloud-based systems as possible. This study has been carried out by following the guidelines for conducting systematic literature reviews and systematic mapping studies as reported in the literature. Based on our paper selection criteria defined by the requirements of the study’s objectives and research questions, we have found 86 papers to be included in this study out of initial set of 1491 papers.
Results: We have grouped selected papers into different categories of themes including: quality attributes (15%), multi-tenancy (3%), frameworks (3%), workflow based systems (4%), support for hybrid devices (7%), middleware infrastructure for managing services and resources (10%), architecture refactoring considerations for migrating applications to cloud (4%), generic architecture solution (12%), emerging research areas (3%) and cloud application domains (39%). We have described problems being addressed in each category, which architecture solutions have been proposed to solve these problems and technologies that have been used.
The selected studies reports challenges and potential solutions related to maintaining underlying infrastructure for supporting large number of users, utilizing cloud computing for making applications available for devices with limited resource, performing sensitive data processing on cloud and achieving service level agreements at different levels or abstractions. Energy optimization, service adaptability, reliability, resource provisioning and service integration are most commonly addressed quality attributes in cloud bases system. Work reported in this study focuses on architectural constructs of cloud-enabled systems reported in literature. We have synthesized architecture approaches proposed in paper into architecture styles that can be used for building cloud-based applications. After analyzing and synthesizing solutions proposed in independent studies we have provided architecture patterns for management, execution and realization of services. We have also proposed synthesized architecture patterns for managing multi-tenancy at database, service monitoring, service interoperability and management of distributed workflow execution
Technical report TR-2014-175 in IT University Technical Report Series, March 2014.
Available as PDF.