Managing the Complexity of the Cloud. – Aeolus
Cloud computing is an emerging trend bringing together various kinds of virtualization technologies to offer on-demand computing resources. There is widespread consensus that the Future Internet will be heavily based on some kind of successful Cloud technology. However, to master the deployment of Cloud-based infrastructures, some hard scientific problems need to be properly addressed first.
Offerings of flexible and on-demand computing resources are already available, at diverse levels of maturity, in at least three commonly recognized categories:
1) Infrastructure as a Service (IaaS) provides on demand virtual machines and storage; it is a stable and mature service.
2) Platform as a Service (PaaS) aims at providing a whole stack, from hardware up to software platforms, as a service, enabling development of custom applications on demand; it is just starting to develop.
3) Software as a Service (SaaS), the oldest form of on-demand offerings, provides specific applications as services, usually to be exploited on thin clients such as web browsers; it is a legacy approach, based on mastered technologies.
IaaS offers extreme flexibility by allowing designing and deploying one own's infrastructure on rented virtual machines; that comes at the price of complex and expensive administration and management of flexible machine pools.
PaaS promises to free the user from complex administration and management tasks (actually, the burden is simply shifted to the PaaS providers); that comes at the huge price of committing to a specific platform for all application development.
The main objective of the Aeolus project is to tackle the scientific problems that need to be solved in order to bridge the above gap between “Infrastructure as a Service” and “Platform as a Service” solutions, by developing theory and tools to automate deployment, reconfiguration, and upgrades of variable sized, non-homogeneous machine pools. This will allow to efficiently deploy, maintain, and administer, in a cost-effective way, the dynamically changing distributed architectures which are at the heart of Cloud services, reducing the maintenance cost for PaaS providers and making easier to develop sophisticated applications for IaaS users.
The technological steps forward that Aeolus will make are threefold:
1) Design an abstract model of a Cloud, that encompasses the software packages installed on every virtual machine, as well as the dynamic dependencies among software, machines, and services.
2) Design a powerful high-level reconfiguration request language allowing expressing sophisticated reconfiguration requests of virtual machine pools.
3) Develop specialized solver algorithms to efficiently satisfy reconfiguration requests by translating them into low-level reconfiguration plans, which are close to the actions implemented by common software deployment toolkits.
By using formal methods from language design, concurrency theory, and optimization, Aeolus will address the above three key issues. Aeolus will hence develop the scientific knowledge and tools needed to manage the complexity of software infrastructures that needs to be deployed on distributed, dynamically evolving, and heterogeneous machine pools, to enable the seamless, scalable service development that is at the heart of the Future Internet.
Project coordination
Roberto Di Cosmo (UNIVERSITE DE PARIS 7)
The author of this summary is the project coordinator, who is responsible for the content of this summary. The ANR declines any responsibility as for its contents.
Partnership
PPS UNIVERSITE DE PARIS 7
INRIA Sophia Antipolis Méditerranée INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE -(INRIA Centre Sophia-Antipolis)
MANDRIVA
I3S CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE - DELEGATION REGIONALE COTE D'AZUR
Help of the ANR 911,524 euros
Beginning and duration of the scientific project:
- 40 Months