1 Introduction

The ever-growing popularity of cloud computing platforms provides hybrid architectures and dynamic intelligence for tomorrow’s complex software applications. The “hybrid cloud” has emerged as an exciting new paradigm that includes private cloud, public cloud and community cloud infrastructure to provide IT services anytime and anywhere. It has recently also raised relevant interest in both the academic and the industrial research communities as a very promising application field for intelligent cloud computing and services. The interest in hybrid cloud environments has also been shown by many industrial and standardization efforts accomplished in the last years. Both academy and industry widely recognize the crucial role of software automation to facilitate the development of efficient and intelligent cloud services, by reducing implementation and deployment costs and time to market.

This two-part special issue is in response to the increasing convergence between automated software technologies and cloud computing; and the challenges and opportunities in this context. The first part of this special issue of Automated Software Engineering (ASE) covers different aspects of the problem, both from the theoretical to practical side. After a large open call, which received over two dozen submissions, an international editorial committee selected eight high quality research papers for publication (four in part I and four in part II). Each paper was reviewed by at least three expert reviewers. Many papers underwent several rounds of review before final acceptance. The research papers selected for this special issue represent key recent progress in the field. They include work on cloud architectures, service extraction, composition and deployment, big data intelligence, cloud databases, performance benchmarking, resource allocation and monitoring. All of these papers not only provide novel ideas and state-of-the-art techniques in the field, but also stimulate future research in the sustainable environment.

2 Cloud architectures

As the size and complexity of cloud infrastructures grow, scalability issues arise in monitoring and management processes. The paper by Claudia Canali and Riccardo Lancellotti entitled “Exploiting Ensemble Techniques for Automatic Clustering of Virtual Machine Clustering in Cloud Systems” claims that scalability issues can be addressed by leveraging the similarity between VMs in terms of resource usage patterns. The authors propose an automated methodology to cluster similar VMs starting from their resource usage information, assuming no knowledge of the software executed on them. The proposed architecture is an innovative methodology that combines the Bhattacharyya distance and ensemble techniques to provide a stable evaluation of similarity between probability distributions of multiple VM resource usage, considering both system- and network-related data. The authors evaluate their new methodology through a set of experiments on data coming from an enterprise data centre. The proposed architecture achieves high and stable performance in automatic VMs clustering, with a significant reduction in the amount of data collected, which allows lightening the monitoring requirements of a cloud data centre.

3 Service extraction and composition

Using cloud-based services can improve the performance, reliability, and scalability of a software application. However, transitioning an application to use cloud-based services is difficult, costly, and error-prone. The required re-engineering effort includes migrating to the cloud the functionality to be accessed as remote cloud-based services and re-targeting the client code accordingly. The paper by Young-Woo Kwon and Eli Tilevich entitled “Cloud Refactoring: Automated Transitioning to Cloud-Based Services” describes a set of refactoring techniques—automated, IDE-assisted program transformations—that eliminate the need to change programs by hand. In particular, the authors show how a programmer can extract services, add fault tolerance functionality, and adapt client code to invoke cloud services via refactorings integrated with a modern IDE. As a validation, the authors have applied their approach to automatically transform two third-party Java applications to use cloud-based services. The authors have also applied the proposed approach to re-engineer a suite of services operated by General Electric to use cloud-based resources to better satisfy GE’s business requirements.

4 Big data services

Public auditing is an important issue in cloud storage service because a cloud service provider may try to hide management mistakes and system errors from users—or even steal or tamper with a user’s data for monetary reasons. Many data integrity, assurance, and correctness schemes have been proposed for data auditing. The paper by Min-Shiang Hwang, Cheng-Chi Lee and Tsuei-Hung Sun entitled “Data Error Locations Reported by Public Auditing in Cloud Storage Service” offers a new scheme that incorporates a novel matrix verification technique into a public auditing method to directly locate the incorrect signatures. Although the proposed scheme demands a higher computation cost on the cloud storage service’s side and on the auditor’s side, it provides an efficient way to detect few and scattered failing signatures among all aggregated signatures.

5 Platform as a service

The Mobile Cloud Computing (MCC) paradigm is defined as the availability of cloud services over a mobile ecosystem. With the aim of providing support for such mobile cloud computing, the paper by Luis Omar Colombo-Mendoza, Giner Alor-Hernandez, Alejandro Rodriguez-Gonzalez, Rafael Valencia-Garcia entitled “MobiCloUP: a PaaS for Cloud Services-based Mobile Applications” proposed MobiCloUP, a PaaS (Platform as a Service) for mobile Web and native applications based on third-party cloud services. The MobiCloUP core is a wizard tool that covers design, publishing, deployment, development and maintenance phases for the mobile development lifecycle. In order to validate the proposed architecture, Web 2.0 services-based Web and native mobile applications were developed and deployed to the Cloud using MobiCloUP. A qualitative-comparative evaluation was performed to validate the legitimacy of the proposed architecture.

6 Conclusions

All of the above papers address either software technologies, cloud services models or propose novel application models in the various cloud and big data fields. They also will help to promote further related research and technology improvements in automated software technologies for cloud computing. This special issue serves as a landmark source for education, information, and reference for professors, researchers and graduate students interested in updating their knowledge about or active in cloud computing, software technologies and management, and novel application models for cloud computing platforms and big data.

The guest editors would like to express their sincere gratitude to Dr. Robert J. Hall (EiC, ASE), for giving us the opportunity to prepare this special issue. In addition, we are deeply indebted to the many reviewers for their professional effort, insight and hard work put into commenting on the selected articles, which reflect the essence of this special issue. Last but not least, we are grateful to all of the authors for their contributions and for undertaking the many revisions of their manuscripts, without which this special issue could not have been produced.