The Cloud Deployment Toolkit (CDTK) project is a proposed open source project under the Eclipse Technology Project.
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the CDTK forum.
Cloud computing is changing the Software Development Life-Cycle (SDLC) by allowing developers to rapidly provision systems and test new code on a fully functional clone of the target production environment. In order for the development process to use cloud effectively the environment provisioning and code deployment needs to be integrated in the IDE.
Cloud computing has three different Service Models as defined in the NIST Definition of Cloud Computing. Infrastructure as a Service (IaaS) is the Service Model that allows server platforms to be provisioned. Cloud IaaS is an emerging technology with many different implementations. These differences lead to inefficiences in the development process as teams need to learn to interact with each cloud functions without an abstraction to facilitate the deployment process across each IaaS cloud.
The Cloud Deployment Toolkit will provide this abstraction allowing developers to use the same workflow to provision resources across multiple providers. This will allieviate IT management concerns that applications will become locked in to a specific IaaS platform.
The objectives of the Cloud Deployment Tool kit (CDTK) are:
The Cloud Deployment Toolkit provides an abstraction to multiple IaaS cloud platforms allowing developers to create and work with a full clone of the production environment. They can test code changes for both functionality and performance speeding up the development process.
Through the reporting module developers can provide IT management with resource usage and associated costs. By integrating this with performance analysis tools production operating costs can be accurately modeled.
With the CDTK we are looking at building on foundation libraries to handle the interface abstraction to the IaaS infrastructure. Projects under consideration are jclouds and the Dasein Cloud API. The project communities are represented on the project by Adrian Cole and George Reese respectively.
For the abstraction to define the IaaS system architecture the project team will evaluate and consieder existing similar mechanisms including OVF (Open Virtualization Format) 1.1 from the DMTF (Distributed Management Task Force) , the OCCI (Open Cloud Computing Interface) Infrastructure Model from the OGF (Open Grid Forum), and the Libvirt XML Format.
g-Eclipse is an existing Eclipse project that has its roots in grid computing. We believe the Cloud Deployment Toolkit (CDTK) is a similar but complementary approach to g-Eclipse. CDTK is focused on providing an abstraction to multiple IaaS platforms and a pluggable architecture for integration with other Eclipse tool projects.
A discussion with the g-Eclipse project team will continue in more detail at EclipseCon -- timing TBD -- for all interested parties to consider potential code re-use and project integration.
The following individuals are proposed as initial committers to the project:
The following Architecture Council members will mentor this project:
The following individuals, organisations, companies and projects have expressed interest in this project:
|20-February-2010||Draft revision based on feedback from project team|
|02-March-2010||Added Roy Ganor to project team. Clarified bullet points in the scope section. Added projects to the initial contribution section.|
|11-March-2011||Added Basil Hashem as an interested party. Added OVF, OCCI, and Libvirt evaluation to initial contribution section.|
Back to the top