Cloud Deployment Toolkit
Upcoming SlideShare
Loading in...5

Cloud Deployment Toolkit



The Cloud Deployment Toolkit (CDTK) project is a proposed open source project under the Eclipse Technology Project. ...

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.



Total Views
Views on SlideShare
Embed Views



7 Embeds 33 16 9 3 2 1 1 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Cloud Deployment Toolkit Cloud Deployment Toolkit Presentation Transcript

  • Cloud Deployment Toolkit How the cloud reaches your IDE Bret Piatt Rackspace Hosting
  • Historical Background of software deployment
  • Evolution of software deployment Pushing around a cart Single click deployment to a full of punch cards cloud over a global network
  • Mainframe Era Development done on a central system preventing version issues for libraries and other application components. Slow development process as departments needed to time-share for access to terminals or direct data loading resources. Benefits: Development and production environment consistency Drawbacks: Slow development, limited access to resources
  • Client/Server Era Development speed increases as portions of the application can be written and tested on distributed systems. Client/Server and client system version compatibility issues introduced. Benefits: More rapid development Drawbacks: System version compatibility issues introduced
  • Internet PC Era Development speed continues to increase with easy access to libraries and better development tools allowing more developers to work on the same project together. Version compatibility issues become more complex as the OS, libraries, and other dependent applications proliferate. Benefits: Application development is faster than ever before Drawbacks: Compatibility becomes a nightmare
  • Internet Mobile Era Thousands of OS versions and system form factors exist now. Developing an application for any single platform is very easy. Building an application to work on all may require complete re-writes. Browser based applications have the potential to neutralize this. Benefits: Single platform development is easier than ever Drawbacks: Compatibility now requires many full re-writes of an application
  • How do we fix the growing complexity? Portable platforms such as the JVM Infrastructure automation and flexibility through cloud IDE integration through tools such as the Cloud Deployment Toolkit in Eclipse A standardized way to define application infrastructure
  • Overview of Cloud Computing
  • Base definitions of Cloud Computing Essential Characteristics On-demand Self-service Broad Network Access Resource Pooling Rapid Elasticity Measured Service Service Models Software as a Service Platform as a Service Infrastructure as a Service Deployment Models Private Cloud Community Cloud Public Cloud Hybrid Cloud
  • The promise of Cloud for a developer Instantly provision an environment that has the proper stack to run any given application.
  • Turning "the world" upside down We used to bring the data to the application.... we need to bring the application to the data! 5GB takes 7 minutes on a 100Mbps network.. 5TB takes 12 hours on a 1Gbps network.. 5PB takes a truck ... or 52 days on a 10Gbps network!
  • Open Source Is Leading Cloud Interoperability
  • Platforms, libraries, and specifications Deltacloud Libvirt Link virtualization & cloud Pick a hypervisor, any hypervisor Libcloud Write once, use many clouds jclouds Like Java, like many clouds? Rackspace Cloud APIs Dasein Cloud API Specs any provider can use Dream of all the clouds being the same?
  • Cloud Deployment Toolkit Allow deployment through a single plugin to multiple IaaS.. With plans to support all additional IaaS APIs as available..
  • Cloud Deployment Toolkit Connecting your IDE to the cloud
  • What is the Cloud Deployment Toolkit? 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. Design Build Deploy Test
  • Who is helping the project today?
  • What is the relationship with other Eclipse projects? 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. Tie in to other development tools in the IDE Help define a common IaaS specification data exchange between plugins Provide integration with application server code deployment plugins Provide integration with debugger plugins Provide integration with testing and performance tool plugins
  • Easy integration into IDE workflow Define the deployment environment in XML as the input format for CDTK. After CDTK creates the infrastructure it will add the live system details in a data exchange format to share with other plugins. Other plugins accept the configuration data automatically saving developers the manual entry.
  • Define an environment in XML List out number and type of servers, versions of OS, network and storage configuration, etc..
  • When ready to use, build creates Servers are listed for easy right click use by other plugins.. Full lists can also be exported to other plugins to install and configure software, deploy application code, and more..
  • Reports provide costs for accounting Instance Report Name Size OS Bandwidth Cost Should other information be included? Should other reports be created?
  • How can I help? Contribute feedback and suggestions to the project forum Work on the project directly with code, documentation, etc.. Spread the word about the project to your fellow developers Talk to your company about cloud computing and how it can help your development process
  • Questions? Ask on the project forum linked through the proposal at: Twitter: @bpiatt