CloudWave: Agile Service Engineering for the Future Internet
CloudWave is concentrating on improving the efficiency and resiliency of the execution of software as a service (SaaS) both through the adaptation of Cloud and/or the service itself, as well as through the use of DevOps principles to feedback recommendations to the next iteration of the software service. We believe that enabling the agile adaptation of the Cloud and its hosted services is an important one, and there remains a large number of research issues that fall into this category, such as improved distributed placement optimisation based on a workload awareness. Additionally, as more and more applications start to shift to the Cloud model, we expect serious issues to surface, affecting both the security and privacy of the data used by these applications for reasons such as:
- Typically, legacy applications were not developed by design with the thought of how to ensure multi-tenancy. Porting this code to a SaaS environment might suddenly expose flaws in keeping data isolated between users of the Cloud.
- Newly developed applications, especially those developed under the time pressure of short development cycles, may accidentally contain security holes. Even worse, applications such as in a mobile marketplace, may have been maliciously developed with backdoor security breeches.
- Brute force methods such as simply obtaining a full separation between users through full isolation of execution instances (e.g. use of containers) is not an efficient solution for SaaS, as will it not allow for resource sharing.
We recommend the funding of efforts that will extend CloudWave's work to look into ways of strengthening data security and privacy in SaaS and PaaS environments. Along with this, as Cloud Computing becomes more popular, new uses for the Cloud (e.g. IoT), new trends in the industry (e.g. big data) and new programming models (e.g. Apache Spark, Google Cloud Dataflow) have begun to emerge. To meet these changes, new approaches to design and implementation of cloud infrastructure - such as highly distributed clouds, high-performance lightweight virtualisation, computation-to-data affinity, complex in-memory data processing, etc., are required.
The goal of CloudWave is to create a synergy between a Cloud and hosted applications such that both the cloud and the applications can dynamically change to create an optimal running environment. Better monitoring of both cloud and application performance while executing real work loads will allow coordinated adaptation both of the applications and of the cloud configuration. CloudWave also aims to improve the feasibility of the emerging DevOps paradigm by giving developers comprehensive analysis of the behaviour of their application running in a cloud. CloudWave is now completing its first year. We have defined the end-to-end reference architecture as well as low level component definitions. An initial end-to-end deployment of CloudWave along with use cases from industry are in their final stages.
CloudWave's exploitation strategy is based around the belief that CloudWave's legacy will be in its scientific impact (through publications) and in its impact at the component level through commercialisation of its results and spinoff technologies. CloudMore's use cases have been picked by its industrial partners to represent real business needs within their companies. Successful demonstration of the use cases serve to help drive CloudWave technologies both within the partner organisations, and as the basis for commercial offerings.