PaaSage - making cloud usage easy
Cloudscape Brazil 2016 - PaaSage - making cloud usage easy
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 small businesses to compete in the market by offering their own infrastructures or services. The PaaSage project is specifically geared towards start-ups, SMEs and even larger companies to easily develop and deploy cloud applications, as well as to provide and extend their own infrastructures.
Who benefits and how
PaaSage capabilities are demonstrated through a number of showcases, including enterprise resource planning, eScience, the 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.
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-level expertise in using the specific provider, it also necessitates high-level knowledge in cloud-based application development and management, which generally does not exist – simply for the reason that the necessary 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 deploy, control and maintain applications. PaaSage thus allows developers to specify applications in the form of their structure and constraints, much rather than on the level of individual rules and configuration details. As such, developers can, for example, specify 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 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 PaaSage execution environment will support deployment and configuration of the application services across a range of cloud providers, without the need for developers 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 the need for developers to know the differences between different offerings. This allows developers 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. For this, PaaSage brings:
- An application specification model and a 3 layered platform: the CAMEL cloud modelling specification allows definition of modular applications and their specific requirements.
- An intelligent “upperware” layer to convert the specification into a set of deployment configuration files that meet the overarching requirements.
- 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.
- The executionware ensuring the actual deployment and configuration, as well as enactment of the different application modules.
Author(s): Lutz Schubert, Jörg Domaschka, Pierre Guisset