MODAClouds targets a comprehensive set of innovations in the software engineering of Cloud services:
- Model-Driven Development for Clouds and Multi-Clouds. The MODAClouds integrated development environment will feature advanced engineering MDD design-time methodologies and tools enabling the high-level design of Future Internet service-based applications, which will be semi-automatically translated into code able to run on multi-Cloud platforms. The code will be automatically deployable on multiple Cloud providers hiding the proprietary technology stack. Target environments for the MODAClouds framework will cover IaaS, PaaS and SaaS solutions spanning across all abstraction layers, supporting both public and hybrid Clouds. The framework will also support the migration of legacy applications to the Clouds.
- Multi-Cloud Economics. Developing applications for multi-Clouds may impact established enterprise procedures and business models. Metrics are needed to quantify the notion of risk for a particular choice relatively to the ecosystem in which it will evolve. However, decision models are hard to develop due to variability in Cloud resource prices across time, geographic location, performance, legal aspects, etc. MODAClouds will develop decision support systems, risk analysis methods, provide proper guidelines, and identify new business models suitable for Cloud providers to address the needs of application providers and improve their trust in Clouds.
- Quality-Driven Cloud Development. The MODAClouds integrated development environment will support the early analysis and reasoning on non-functional requirements and quality aspects of the final applications, will optimise the matching between the target Cloud environments and application characteristics.
- Run-Time Quality Monitoring and Assurance. Run-time techniques, independent from the Cloud providers management API, will be developed in order to afford switching the application, or part of it, from a Cloud provider to the other, providing, performance and availability guarantees, and minimising application execution costs according to the run-time Cloud systems performance, failures, and resource prices. Data and application replication on multiple providers will be explicitly addressed in order to guarantee high availability and business continuity.
- Rapid Software Evolution. A closed-loop between the run-time and design-time environments will be implemented in order to trigger the dynamic re-deployment of the final application or of its components to react to long-term failures of the Cloud providers or to exploit Cloud additional services or improved performance (e.g., new virtual machine instances or reduced prices), providing adaptation to changing contexts and requirements.