SeaClouds: Seamless adaptive multi-cloud management of service-based applications
With cloud computing representing a major shift in the way information technology is used it is of very high importance to ensure that developers, app providers but the IT industry in general does not remain dominated by monopolies. To support competition in the cloud computing market there should be different providers to choose from for any kind of application. Developers developing applications should be able to choose between different cloud services and should also be able to switch between cloud services of different providers whenever needed. SeaClouds directly impacts on the way developers are going to build cloud apps without worrying about underlying execution of different PaaS or IaaS providers, relying on its service orchestration capabilities based on informed election among of the provider. On this regard, SeaClouds will allow developers and development companies take a much shorter and consolidated approach over different underlying technologies and stacks (proprietary and open sources). At the same time, it offers application monitoring and adaptation based on different factors, cloud infrastructure and application behaviour, from design time, easing developers from this difficult task. On this scenario, SeaClouds project can be seen as an enabler step towards fostering a much better and ready ecosystem for developers, especially those who do not have experience on cloud, or are biased by a particular technology stack. By allowing developers to monitor and audit underlying PaaS and IaaS execution of their cloud applications, SeaClouds will contribute to the market by creating the ground base means for developers, from design time, simplify application monitoring and independently of the underlying vendor. This could benefit applications developers or services provider to create self-adaptive applications that comply to more strict requirements and SLAs from their customers, and also they will be ready to offer to their clients and users possibilities of SLA definition and compliance, which would clearly affect how providers and clients will establish commercial relationships. Therefore, this capability will imply the possibility of having clearer and transparent contract relations from cloud providers and applications customers.
The SeaClouds approach is based on the concept of service orchestration and it is designed to fulfil functional and non-functional properties over the whole application. Applications will be 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:
- 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 reconfiguration process capable of preserving the soundness of the orchestration, by performing life-cycle management actions when required, by means of a unified management API, which will be a reference for major international efforts of standardization such as CAMP and TOSCA.
- Application Monitoring Service: A range of Standardized and Unified metrics of different types (low level, container level, app level, etc) based on disparate underlying cloud providers that will allow the runtime monitoring of deployed services so as to assure the end-to-end QoS of the complex application, regardless of how it is distributed across different PaaS.
- Based on Standards by extending and incorporating CAMP into SeaClouds, SeaClouds covers all future CAMP-compliant providers or tools, allowing application developers to manage applications hosted on multiple Clouds environments. Application packaging will be implemented using the TOSCA specification for multi-cloud applications, and deployed being CAMP-compliant.
SeaClouds impacts on the way developers build cloud apps without worrying about underlying execution of different PaaS or IaaS providers, relying on its service orchestration capabilities based on informed election among of the provider. SeaClouds will allow developers and ISVs take a much shorter and consolidated approach over different underlying technologies and stacks. It offers application monitoring and adaptation based on different factors, cloud infrastructure and application behaviour, from design time, easing developers from this difficult task.
Two exploitation approaches have been considered to ensure the sustainability of the SeaClouds solution:
- Open Source a Commercial Entity providing services - SeaClouds consortium already agreed at releasing the SeaClouds framework in the Cloud market under an Open Source approach, allowing its use by the developer community, and promoting it in an effort to create a reference framework that will contribute to the development of cloud applications with the main offering of eliminating vendor lock-in at and performing application monitoring PaaS and IaaS level.
- Commercial Entity providing services - The consortium will evaluate the option to create a new business entity by interested partners of the consortium that will evolve SeaClouds and test different business models around this scenario with the intention to obtain a sustainable business by selling services or technology.
Collaboration activities have been started with the other related FP7 projects. In particular, collaboration meetings have been held with Cloud4SOA, MODAClouds, Artist, and PaaSage. The collaboration with industry is also progressing through the close connection with Brooklyn Project. Moreover, SeaClouds is establishing a mutually beneficial relationship with the standard bodies. Since it will be developed according to emerging standards, SeaClouds will get constant feedback from their users and, at the same time, will contribute to their dissemination and evolution. The main standards on which SeaClouds will rely are the OASIS CAMP (Cloud Application Management for Platforms) and TOSCA Topology and Orchestration Specification for Cloud Applications). Please visit our web page for major details.