9. PaaSage - making cloud usage easy

Author(s): 
Lutz Schubert, Jörg Domaschka, Pierre Guisset
Focus area: 
Cloud services for business: Though modern cloud solutions are geared towards ease of use, most require a considerable amount of in-depth knowledge to actually use the respective infrastructures and services to their full potential. What is more, maintenance of these infrastructures is difficult and thus hardly allows SMEs to compete on this market, to offer their own infrastructures or services. The PaaSage project is specifically geared to enable startups, SMEs and even larger companies to easily develop and deploy cloud applications, as well as to provide and extend their own infrastructures
Who stands to benefit and how: 
PaaSage’ capabilities are demonstrated through a number of show-cases, including enterprise resource planning, eScience, automotive industry, financial services, but also the public sector. The application scope of PaaSage is large and generally allows fast and efficient development and management of applications and infrastructures in any sector. End-users currently employing PaaSage technologies include be.wan IT Solutions, AGH University of Science and Technology, Automotive Supercomputing Center Stuttgart, EVRY Norway, Lufthansa Systems and many more
Focus of your position paper: 
Modern cloud providers aim at a wide range of customers, thus making cloud usage theoretically easy – the truth is that whilst deploying and managing services is principally easy, controlling and optimising them is not. In fact, most providers completely rely on best effort approaches and / or the application developer’s skills to make use of any additional features. This not only requires high expertise in using the specific provider, it also necessitates high knowledge in cloud based application development and management, which generally does not exist – simply for the reason that the according business and software engineering expertise is generally lacking. Finally, it will by default lock the developer into the provider platform. The PaaSage project improves application deployment and maintenance by incorporating business knowledge into a middleware that helps deploying, controlling and maintaining applications. PaaSage thus allows the developer to specify applications in the form of their structure and constraints, much rather than on the level of the individual rules and configuration details. As such, the developer can specify for example which general requirements, including types of services and hardware configuration need to be fulfilled and the PaaSage environment will try to find the best deployment of the application parts across a set of potential providers and their respective quality criteria and capabilities. PaaSage will furthermore help in developing the best fitting rules to ensure that the requirements are maintained at runtime, by scaling the application, migrating it or reconfiguring the environment. Additional criteria such as maximum cost can thereby act as delimiting factors to avoid mission-critical failures. The execution environment of PaaSage will support deployment and configuration of the application services across a range of cloud providers, without necessitating the developer to (understand and) specify new configurations or to write new deployment scripts to ensure that the deployment and configuration is carried out correctly. The environment will furthermore ensure correct enactment of the rules at runtime and maintenance of connectivity between application tasks, again without necessitating the developer to understand the differences in the individual offerings. This allows the developer to easily develop and specify distributed, modular applications where each module can be deployed and maintained separately whilst still observing the overall constraints and requirements. The environment thereby allows full control as well as distribution over multiple cloud providers. To realise this, PaaSage realises (1) an application specification model and (2-4) a 3 layered platform: (1) the CAMEL cloud modelling specification allows definition of modular applications and their specific requirements, (2) an intelligent “upperware” layer to convert the specification into a set of deployment configuration files that meet the overarching requirements, (3) the actual middleware that triggers the deployment and allows integration of monitoring data to supervise the behaviour and take actions for adapting the configuration if any properties are no longer met, and finally (4) the executionware which ensures the actual deployment and configuration, as well as enactment of the different application modules. For more information please visit www.paasage.eu