c-Eclipse is a generic Application Management Framework that is open-source and has been implemented on top of the reliable Eclipse platform. It offers graphical tools to facilitate the intuitive description of an application's structure and its life-cycle management operations. For this purpose, c-Eclipse adopts the TOSCA open specification for blueprinting Cloud applications and consequently packaging them in portable archives that can be processed by any compliant IaaS-provider. Furthermore, c-Eclipse adopts the SYBL language for enabling elasticity requirements specification for Cloud applications, and it provides the necessary tools for its users to describe such elasticity requirements at different levels of an application's structure.
To this end, c-Eclipse can be promoted by Cloud vendors as an enabling tool for configuring, deploying and managing Cloudified elastic applications on their infrastructure. This is beneficial both for vendors and users; the former can integrate c-Eclipse to their Cloud architectures to attract a wider customer base to use their services via its GUI, while the latter are able to describe - the often complex - deployment and management life-cycle of their applications with minimal effort and in a portable way, thus avoiding vendor lock-in.
At first, users can describe an application's topology, the relationships between its tiers and its life-cycle management operations, according to the TOSCA specification. The description, at this point is generic, and can be used to deploy the same application over alternative providers.
After describing an application in a vendor-neutral manner, users can customize their description by selecting a Cloud platform (i.e. Amazon EC2, OpenStack private Cloud, Flexiant FCO, etc.) and then adding Cloud provider specific information to it (i.e. VM images)
Users can specify elasticity requirements for the elastic components comprising an application, according to the SYBL language for elasticity requirements description.
After requesting the deployment of a described application, users can overview the deployment's status via the Application Deployments View of c-Eclipse.
The code for the tools that were used for the demonstration can be found in the links below :
- c-Eclipse code on github
Describing an online video streaming service with c-Eclipse
A video showcasing c-Eclipse in its early developing stage
A tutorial showcasing how to get start with c-Eclipse can be found here
- [J1] "Enabling Interoperable Cloud Application Management through an Open Source Ecosystem", Nicholas Loulloudes, Chrystalla Sofokleous, Demetris Trihinas, Marios D. Dikaiakos, George Pallis, IEEE Internet Computing, May/June 2015, doi:1089-7801/15/ pdf
- [B1] "On Controlling Elasticity of Cloud Applications in CELAR", Georgiana Copil, Daniel Moldovan, Duc-Hung Le, Hong-Linh Truong, Schahram Dustdar, Chrystalla Sofokleous, Nicholas Loulloudes, Demetris Trihinas, George Pallis, Marios D. Dikaiakos, Craig Sheridan, Evangelos Floros, Christos KK Loverdos, Kam Star, Wei Xing, "Emerging Research in Cloud Distributed Computing Systems" (Advances in Systems Analysis, Software Engineering, and High Performance Computing (ASASEHPC) book series), Oakland University, USA 2014.
- [C1] "c-Eclipse: An Open-Source Management Framework for Cloud Applications", C. Sofokleous and N. Loulloudes and D. Trihinas and G. Pallis and M. Dikaiakos, European Conference on Parallel Processing (EuroPar 2014), Porto, Portugal , 25-29 August 2014, pdf, presentation.
- [C2] "Managing and Monitoring Elastic Cloud Applications [Demo Paper]", D. Trihinas and C. Sofokleous and N. Loulloudes and A. Foudoulis and G. Pallis and M. Dikaiakos, "14th International Conference on Web Engineering" (ICWE 2014), Toulouse, France, 1-4 July 2014, pdf, poster.