SeaClouds project aims to solve the problem caused by the current lack of standardization in cloud services, which pushes cloud customers to end up “locked-in” with the chosen cloud provider(s). In the current situation, it is possible to deploy and monitor a stand-alone application, but not a complex one, and even if frameworks for complex applications on the Cloud can be used, this requires changing the code or using modelling languages.
The project works towards giving organizations the capability of “Agility After Deployment” for cloud-based applications, by supporting developers and application managers through the creation of an open source platform that leverages open standards to support the deployment of applications over multiple-clouds, the monitoring of such deployments, and the migration of application modules across different (both public and private) cloud providers if needed.
It presents a solution to the existing problems related to applications' portability and unified management of underlying heterogeneous clouds.
SeaClouds is a framework that provides the foundation for allowing “Agility after Deployment” by providing necessary tools for Modelling, Planning and Controlling cloud application over technologically heterogeneous clouds.
In other words, SeaClouds can be defined as an open, generic and interoperable framework that enables a unified and standardized way to gather and monitor metrics from underlying providers. A detailed picture of cloud applications performance at runtime allows the management of underlying providers based on informed decisions of SLA compliance on multi-cloud infrastructures to assure quality of service on cloud applications built using SeaClouds IDE and framework. This allows organizations to embrace Cloud solutions and, at the same time, avoid risks of unreliability and lock-in.
The SeaClouds approach is based on the concept of service orchestration and it is designed to fulfill functional and non-functional properties over the whole application. Applications are dynamically reconfigured by changing the orchestration of the services when the monitoring detects that such properties are not respected. SeaClouds main result is the implementation of a novel platform, which performs a seamless adaptive multi-cloud management of service-based applications. More specifically:
- An IDE to design and manage at runtime complex Cloud-based Applications as the result of the orchestration of various and technological dissimilar modules distributed among technological dissimilar cloud suppliers.
- Orchestration and Reconfiguration Mechanism: implementing application lifecycle management capability to dynamically deploy, migrate, replicate, and distribute modules compose applications among multiple Clouds, while checking both QoS violations and dynamic changes in the offer of the providers and the current demand.
- A range of standardized metrics provided by disparate underlying cloud providers, that will allow the runtime application monitoring of those services so as to assure the end-to-end QoS of the system, regardless of how it is distributed across different PaaS.
- An Automated Auditing & Execution Engine with the ability to dynamically migrate, replicate and distribute modules belonging to complex Application among multi and heterogeneous PaaS offering.
- Based on Standards by extending and incorporating CAMP. SeaClouds covers all future CAMP-compliant providers or tools, allowing application developers to manage applications hosted on multiple Clouds environments. Application packaging using the TOSCA specification for multi-cloud applications, and deployed being CAMP-compliant.
Expected impacts include:
- Accelerating the development and deployment of cloud computing and internet services
- Increasing Europe's ability to design and deliver innovative services with strong user engagement through better involvement of SMEs and individual researchers/developers
- Strengthening the European software industry with the knowhow to build complex services and big data management in a multi-layered cloud computing continuum
- Contribution to the development of international standards