Elastic Software Architectures for Cloud Computing Environments

Cloud computing has emerged as an open environment that provides computation, software, data access, and storage services without requiring end-user knowledge of the physical location and configuration of the system that delivers the services. Cloud computing describes a new supplement, consumption, and delivery model for IT services based on Internet protocols, and it typically involves provisioning of dynamically scalable and often virtualised resources. Cloud computing providers deliver applications via the Internet, which are accessed from desktop web browsers and mobile apps, while the business software and data are stored on servers at a remote location. At the foundation of cloud computing is the broader concept of infrastructure convergence and shared services. This type of data center environment allows enterprises to get their applications up and running faster, with easier manageability and less maintenance, and enables IT to more rapidly adjust IT resources (such as servers, storage, and networking) to meet fluctuating and unpredictable business demand. Most cloud computing infrastructures consist of services delivered through shared data-centers and appearing as a single point of access for consumers' computing needs. Commercial offerings may be required to meet service-level agreements (SLAs), but specific terms are less often negotiated by smaller companies.

In this context, the objective of this internship is to provide a support for the continuous management of systems deployed in the Cloud. In particular, we are interested in investigating the elasticity of component-based software architectures deployed in Cloud computing environments. Although Cloud providers are able to provision new instances of virtual machines on-the-fly depending on contextual conditions (load peaks, instance failures, etc.), the management of this elasticity at the application level fails to be properly covered. The purpose of this work is therefore to bring innovation in terms of self-management capabilities for Cloud computing environments. This includes the dynamic and scalable reconfiguration of software architectures deployed on a variable number of instances of virtual machines and Cloud providers. New paradigms for describing software architectures, new algorithms for implementing reconfigurations, and new protocols for ensuring the consistency of the architectures are examples of contributions expected in this work. These contributions will be assessed and integrated into the FraSCAti middleware platform and the FraSCAla architecture description framework.

  1. Service Component Architecture (SCA) specifications. Open Service Oriented Architectures (OSOA). osoa.org
  2. A Component-Based Middleware Platform for Reconfigurable Service-Oriented Architectures. L. Seinturier, P. Merle, R. Rouvoy, D. Romero, V. Schiavoni and J.-B. Stefani. Software: Practice and Experience. 2011. frascati.ow2.
  3. A Reflective Platform for Highly Adaptive Multi-Cloud Systems. P. Merle, R. Rouvoy and L. Seinturier. In 10th International Middleware Workshop on Adaptive and Reflective Middleware (ARM'11). Lisbon, Portugal. December, 2011.
  4. Fabric Remote Deployment Framework. fabfile.org
  5. Scala Programming Language. scala-lang.org


  • 2013/12/09: Ceremony for the PRES ULNF International Research Thesis Award 2013 granted to Gabriel Tamura for his PhD Thesis - U. Lille 1, Building P3, Maxwell Amphitheater
  • 2013/12/05: Rémi Druilhe PhD defense
  • 2013/11/27: Maria Gomez Lacruz received the Best Poster Award at the Welcome PhD session organized by PRES UNLF
  • 2013/11/04: Filip Krikava joins ADAM
  • 2013/10/29: The ApiSwarm project is selected in the context of the Windows Azure Research Award Program
  • 2013/10/15: Maria Gomez Lacruz joins ADAM
  • 2013/10/01: Maxime Colmant, Vincenzo Musco, Loïc Huertas and Bo Zhang join ADAM
  • 2013/09/01: Daniel Le Berre and Jifeng Xuan join ADAM
  • 2013/07/05: Russel Nzekwa PhD defense