The diversity of Cloud computing services is challenging the application developers as various and non-standard interfaces are provided for these services. Few middleware solutions were developed until now to support the design, deployment and execution of service-independent applications as well as the management of resources from multiple Clouds. This paper focuses on one of these advanced middleware solutions, called mOSAIC. Written after the completion of its development, this paper presents an integrated overview of the mOSAIC approach and the use of its various software prototypes in a Cloud application development process. We are starting from the design concepts and arrive to various applications, as well as to the position versus similar initiatives.
The cloud paradigm appeared on the computing scene in 2005 with the Amazon Elastic Compute Cloud (EC2). After this date, a large set of related technologies has been developed. In the academic world, and especially in the HPC area, cloud computing is in some way in competition with the GRID model, which offers a middleware based approach. One of the solutions proposed is the integration of the two paradigms, in order to use the enormous potential of the existent computational GRIDs in new ways. One of the most diffused problems on this systems is the choice of the correct programming paradigm: many different approaches exist and it is difficult to define which is the approach that best fit with the cloud paradigm. In this paper we propose the integration of a Cloud on GRID architecture with a mobile agent platform. The architecture we propose offer Virtual clusters with full administrative control to final users, adopting an existent GRID architecture and especially its security infrastructure. The mobile agent platform is able to dynamically add and configure services on the virtual clusters. The experience here presented shows that the mobile agent paradigm well fulfills the dynamic properties of the Cloud paradigm and could be a good choice to simply develop application and services able to dynamically adapt themselves to the virtualized environment.
Cloud computing delegates the management of any kind of resources, such as the computing environment or storage systems for example, to the network. The wide-spread permeation of the cloud paradigm implies the need of new programming models that are able to utilize such new features. Once the problem of enabling developers to manage cloud resources in a clear and flexible way is solved, a new problem emerges: the monitoring of the quality of the acquired resources and of the services offered to final users. As the first step, the mOSAIC API and framework aim at offering a solution for the development of interoperable, portable and cloud-provider independent cloud applications. As the second step, this paper introduces the mOSAIC monitoring components that facilitate the building of custom monitoring systems for cloud applications using the mOSAIC API.