Model Based Cloud Application Development using PaaSage
Cloud computing is a popular concept in ICT. The concept of infinitely scalable elastic resource changing without complex systems administration and paying only for resources used is attractive for both high- and low-end users and providers. These benefits are however not immediately realisable and many providers are currently disappointed by the capabilities of cloud system, especially if they simply try to move their application to the cloud and expect these benefits to arise “by magic”.
The primary obstacle already arises from the diverging understanding of “clouds” in the first instance. As the EC expert group has noted in the 2012 report , the key characteristics behind clouds are
 Resource provisioning on demand
 Optimisation of resource utilisation
 Serving a dynamic number of
Effectively, this means that the application / service is instantiated and hosted as many times as needed to satisfy the quality (availability) demands. The aim is always to reduce the cost for offering this service. For simple services, such as search engines or book sales, this may be considerably straight-forward, but the problems begin when the users share content and potentially even face time-constraints, such as in auction houses.
Modern applications expose way more complicated requirements towards the infrastructure than these simple cases, including e.g. partially shared data, various computation and visualisation tasks, and mobile end-users. Porting such applications into cloud environments whilst still maintaining all non-functional properties, such as response time, minimal resource utilisation etc. is a highly complex task in itself. Software engineering approaches still build up on classical principles (single user, single instance etc.) and therefore cannot help the developer in building up his cloud-dedicated application. At the same time, experience and expertise in this context is still very low and will only grow slowly over time.
The PaaSage project  addresses this concern by providing the necessary tools and means to support the full application lifecycle in clouds (cf. Figure 1).
The primary tools enable developers to generate applications that exploit cloud specific characteristics. To this end, PaaSage regards applications as module-based workflows that need to satisfy varying non-functional properties throughout – these include aspects such as:
- Response time
- Data size
- Sharing state
Depending on circumstances, these factors apply to multiple modules, respectively to different sections of the application and thus have to be aligned with each other and broken down (“decomposed”) according to the scope of the section covered.
Obviously, this decomposition is impacted not only by the non-functional requirements, but more importantly by the infrastructure characteristics and the usage context, such as number of users, range of dynamicity etc. To this end, PaaSage builds up an expert system that allows storing typical decomposition patterns as best use recommendations.
Once the concrete properties per module have been identified, the application can principally be broken down into a set of services according to these aspects / features. PaaSage will support this process by injecting modes of communication and control features into the code, thus enabling execution according to these properties on the destination cloud platform / infrastructure.
Figure 1: schematic view of the PaaSage system
This step must respect the specific conditions of destination platform and requirements, whilst ideally remaining platform independent. In other words, the modules generated should principally be executable in any cloud environments. To this end, PaaSage, together with MODAClouds (3) and Artist (4) will generate a common modelling and development language for clouds that enables the developer, respectively the developing toolkit, to generate platform-independent code that can be converted to different destination environments.
Execution an Adaption
Conversion alone is however insufficient, as one implication from decomposing the application and its properties consists in the direct and indirect relationships between the individual modules. This includes on one hand, the direct communication links between modules as foreseen by the developer: as the number and location of instances may vary dynamically at run-time, additional mechanisms need to be foreseen that cater for this dynamicity. As opposed to classical distributed systems, this also includes a dynamic n-to-m relationship in the communications.
On the other hand, the behaviour itself, i.e. aspects such as when to replicate, when to relocate and where etc. all depend on the conditions arising in various other modules and environments. For example, the response delay in one module may lead to the scale out in various other sections, or adding a further user may generate multiple replications etc. To this end, control communication needs to be added to the application, that is not directly foreseen by the application itself.
PaaSage will provide an execution wrapper that controls the module behaviour under various conditions. This wrapper will thereby link to other instances and monitoring sources according to the specifications given by the developer.
Figure 2: application lifecycle in PaaSage
The consortium brings together research experts from different aspects of cloud computing, including software and services, High Performance Computing, programming models and systems development environments, with industrial representatives from cloud technology provisioning and usage.
PaaSage has started in October 2012 with a duration of 4 years and an overall budget of 8.4 Million Euros. PaaSage consists of 18 partners from 9 European countrys. It is partially funded by the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 317715.
- Bastian Koller, HLRS
- Anthony Sulistio, HLRS
 L. Schubert and K. Jeffery (2012).
Advances in Clouds - Research in Future Cloud Computing. European Commission, Brussels. Available online:
 PaaSage project:
 MODAClouds project:
 Artist project:
• Bastian Koller