Cloud infrastructure for providing tools as a service: quality attributes and potential solutions

Cloud computing is being increasingly adopted in various domains for providing on-demand infrastructure and Software as a service (SaaS) by leveraging the utility computing model and virtualization technologies. One of the domains, where cloud computing is expected to gain huge traction is Global Software Development (GSD) that has emerged as a popular software development model. Despite several promised benefits, GSD is characterized by not only technical issues but also the complexities associated with its processes. One of the key challenges of GSD is to provide appropriate tools more efficiently and cost-effectively. Moreover, variations in tools available/used by different GSD team members can also pose challenges. We assert that providing Tools as a Service (TaaS) to GSD teams through a cloud-based infrastructure can be a promising solution to address the tools related challenges in GSD projects. Through an extensive review of the relevant literature on GSD and Cloud Computing, we have identified a set of quality attributes and potential architectural solutions for a cloud-based infrastructure that can provide TaaS to GSD teams. This paper outlines the promised benefits of TaaS to GSD teams, describes the expected quality attributes of a cloud-based infrastructure and how these quality attributes can be achieved. We also present a reference architecture for a cloud-based infrastructure to provide TaaS in GSD projects and describe its use with a detailed scenario of GSD projects.

[1]  Raouf Boutaba,et al.  Cloud computing: state-of-the-art and research challenges , 2010, Journal of Internet Services and Applications.

[2]  Ting Yu,et al.  Towards secure dataflow processing in open distributed systems , 2009, STC '09.

[3]  Erran Carmel,et al.  Global software teams: collaborating across borders and time zones , 1999 .

[4]  Hye-Young Paik,et al.  Using Scrum in Global Software Development: A Systematic Literature Review , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[5]  Christof Ebert,et al.  Surviving Global Software Development , 2001, IEEE Softw..

[6]  Daniela E. Damian,et al.  Global software development: growing opportunities, ongoing challenges , 2003, Softw. Process. Improv. Pract..

[7]  Srinath Perera,et al.  Multi-tenant SOA Middleware for Cloud Computing , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[8]  Carl Gutwin,et al.  Group awareness in distributed software development , 2004, CSCW.

[9]  Marco Aurélio Gerosa,et al.  Awareness Support in Global Software Development: A Systematic Review Based on the 3C Collaboration Model , 2010, CRIWG.

[10]  Qian Wang,et al.  SOA's Last Mile-Connecting Smartphones to the Service Cloud , 2009, 2009 IEEE International Conference on Cloud Computing.

[11]  Aurora Vizcaíno,et al.  Collaboration Tools for Global Software Engineering , 2010, IEEE Software.

[12]  Youakim Badr,et al.  Software-as-a-Service and Versionology: Towards Innovative Service Differentiation , 2010, 2010 24th IEEE International Conference on Advanced Information Networking and Applications.

[13]  Ricardo Colomo Palacios,et al.  CLOUDIO: A Cloud Computing-Oriented Multi-tenant Architecture for Business Information Systems , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[14]  James D. Herbsleb,et al.  Guest Editors' Introduction: Global Software Development , 2001, IEEE Softw..

[15]  Panagiotis Louridas Up in the Air: Moving Your Applications to the Cloud , 2010, IEEE Software.

[16]  James D. Herbsleb,et al.  The geography of coordination: dealing with distance in R&D work , 1999, GROUP.

[17]  Daniela E. Damian,et al.  Stakeholders in Global Requirements Engineering: Lessons Learned from Practice , 2007, IEEE Software.

[18]  Ian Gorton,et al.  Issues in co-operative software engineering using globally distributed teams , 1996, Inf. Softw. Technol..

[19]  Yan-Bo Han,et al.  A Cloud-Based BPM Architecture with User-End Distribution of Non-Compute-Intensive Activities and Sensitive Data , 2010, Journal of Computer Science and Technology.

[20]  Gustavo Alonso,et al.  Calling the Cloud: Enabling Mobile Phones as Interfaces to Cloud Applications , 2009, Middleware.

[21]  Boni García,et al.  System Virtualization Tools for Software Development , 2009, IEEE Internet Computing.

[22]  Fermín Galán Márquez,et al.  Software architecture definition for on-demand cloud provisioning , 2010, HPDC '10.

[23]  Ita Richardson,et al.  Using the Cloud to Facilitate Global Software Development Challenges , 2011, 2011 IEEE Sixth International Conference on Global Software Engineering Workshop.

[24]  Eelco Visser,et al.  Software deployment in a dynamic cloud: From device to service orientation in a hospital environment , 2009, 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing.

[25]  Ajay Mohindra,et al.  Dynamic Scaling of Web Applications in a Virtualized Cloud Computing Environment , 2009, 2009 IEEE International Conference on e-Business Engineering.

[26]  Michel R. V. Chaudron,et al.  Moving from Waterfall to Iterative Development: An Empirical Evaluation of Advantages, Disadvantages and Risks of RUP , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[27]  Antonin Chazalet,et al.  Service Level Agreements Compliance Checking in the Cloud Computing: Architectural Pattern, Prototype, and Validation , 2010, 2010 Fifth International Conference on Software Engineering Advances.

[28]  Robert L. Grossman,et al.  The Case for Cloud Computing , 2009, IT Professional.

[29]  Robert Martignoni Global Sourcing of Software Development - A Review of Tools and Services , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[30]  Young-Koo Lee,et al.  Multi-Tenant, Secure, Load Disseminated SaaS Architecture , 2010, 2010 The 12th International Conference on Advanced Communication Technology (ICACT).

[31]  Erran Carmel,et al.  Tactical Approaches for Alleviating Distance in Global Software Development , 2001, IEEE Softw..

[32]  Yan Wang,et al.  From Representational State Transfer to Accountable State Transfer Architecture , 2010, 2010 IEEE International Conference on Web Services.

[33]  Muhammad Ali Babar,et al.  A Systematic Mapping Study of Software Architectures for Cloud Based Systems , 2014 .

[34]  Valentine Casey,et al.  Leveraging or Exploiting Cultural Difference? , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.