by Frédéric Desprez, Ottmar Krämer-Fuhrmann and Ramin Yahyapour
The fast evolution of hardware capabilities in conjunction with fast wide area communication and availability of virtualization solutions is allowing new operational models for information technology. The advent of Cloud computing has resulted in access to a wide range of services. Infrastructure-as-a-Service (IaaS) allows access to large-scale resources like computational power or storage. These large scale platforms, based on huge datacentres, are available to industrial users as well as to scientific communities. IaaS allows the use of a large number of bare machines on which any software stack can be installed. The Platform-as-a-Service (PaaS) model provides the programmer with sets of software elements than can be combined in a scalable way to build large scale applications. Finally, Software-as-a-Service (SaaS) simplifies access to large applications in a remote and seamless way.
Access to these platforms is driven through the use of different services providing mandatory features such as security, resource discovery, virtualization, load-balancing, etc. Platform as a Service as well as Software as a Service thus have an important role to play in the future development of large scale applications. The overall idea is now to consider the whole system, ranging from the resources to the application, as a set of services. Hence, a user application is an ordered set of instructions requiring and making use of services, for example a service of execution.
The variety of service-based platforms and the way in which they are accessed as Cloud services have an important impact on how applications are designed (ie, the programming model used) as well as how applications are executed (ie, the runtime/middleware system used). While core technologies for this kind of abstraction (virtualization, Grids etc), have existed for many years we are only now beginning to see a broad proliferation and a disruptive technology change in our perception on network-based services.
This special issue of ERCIM news gathers papers from the leading European research activities in this area. Invited contributions highlight the innovations from four key European projects: OpenNebula, SLA@SOI, BEinGRID and XtreemOS.
The following papers cover important topics relating to the main challenges in future Cloud platforms: programming and access, resource management, middleware and platforms, and applications.
Programming and access
Programming and accessing Cloud platforms in a seamless and efficient way is one of the most important challenges for the next decade. Today’s applications ported from Grids are still being programmed either as regular batch processing jobs or message passing applications. Neither of these models will be able to scale and perform on these large scale and dynamic platforms. The near future will provide new computational platforms with a large number of processing cores. There is an inherent need to understand how such systems can be efficiently put to use. Existing parallelization models might not be sufficient to cope with this challenge. As such, novel approaches are necessary.
Resource management has been the first issue raised over IaaS platforms. Scaling with thousands of virtual machines accessed by thousands of users remains a crucial challenge for these platforms. Existing approaches from Grids and HPC focus largely on application performance. However, the management of future platforms is more likely to become a multi-criteria problem also taking into account energy consumption, cost and quality of service. The allocation and management problem can also be seen from different viewpoints: first, the service provider needs to manage the underlying infrastructure for provisioning; second, the service consumer needs to monitor the portfolio of services she is relying upon. Any efficient resource management system also needs suitable support for monitoring and measurement. The use of service-level agreements has become a common requirement to support business scenarios and provide a clear understanding on the details of service contracts.
Middleware and platforms
Middleware systems remain the cornerstone of platforms like Clouds. Being able to manage virtual machines efficiently over several Cloud platforms is an important research and development issue. Migration has to be performed efficiently in order to manage dynamic workload and cope with the dynamicity of nodes and applications. Now that PaaS and SaaS platforms are becoming widely available, practical problems like license management issues need to be resolved in order to provide service consumers with the required software environments. Current research is also addressing questions of interoperability and federation of Cloud platforms. As there are many large Grid infrastructures in operations, their coexistence and collaboration with Clouds is of major importance.
Finally, the scope of applications ported over large Cloud platforms will be larger than ever including new applications such as online games and video processing. These new and highly distributed applications will raise new research problems such as quality of service and latency management.
Fraunhofer Institute for Algorithms and Scientific Computing SCAI, Germany
Technical University Dortmund, Germany