0
Cloud Deployment Toolkit
  How the cloud reaches your IDE


                         Bret Piatt
                 Rackspace...
Historical Background

   of software deployment
Evolution of software deployment

Pushing around a cart   Single click deployment to a
 full of punch cards    cloud over ...
Mainframe Era
Development done on a central
system preventing version issues
for libraries and other application
component...
Client/Server Era
Development speed increases as
portions of the application can be
written and tested on distributed
syst...
Internet PC Era
Development speed continues
to increase with easy access
to libraries and better development
tools allowin...
Internet Mobile Era
Thousands of OS versions and
system form factors exist now.
Developing an application for any
single p...
How do we fix the growing complexity?

  Portable platforms such as
  the JVM
  Infrastructure automation
  and flexibilit...
Overview of Cloud Computing
Base definitions of Cloud Computing
Essential Characteristics
   On-demand Self-service
   Broad Network Access
   Resourc...
The promise of Cloud for a developer
    Instantly provision an environment that has the
       proper stack to run any gi...
Turning "the world" upside down
We used to bring the data to the application....

       ....now we need to bring the appl...
Open Source
Is Leading Cloud
 Interoperability
Platforms, libraries, and specifications
          Deltacloud                             Libvirt
    Link virtualization ...
Cloud Deployment Toolkit
 http://www.eclipse.org/proposals/cdtk/

 Allow deployment through a single plugin to multiple Ia...
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 platform...
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
...
Easy integration into IDE workflow
Define the deployment
environment in XML as the input
format for CDTK.

After CDTK crea...
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...
Reports provide costs for accounting
Instance Report
    Name
    Size
    OS
    Bandwidth
    Cost

Should other
informa...
How can I help?
Contribute feedback and
suggestions to the project forum

Work on the project directly with
code, document...
Questions?




Ask on the project forum linked through the proposal at:

     http://www.eclipse.org/proposals/cdtk/

    ...
Upcoming SlideShare
Loading in...5
×

Cloud Deployment Toolkit

1,806

Published on

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.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,806
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
46
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Cloud Deployment Toolkit"

  1. 1. Cloud Deployment Toolkit How the cloud reaches your IDE Bret Piatt Rackspace Hosting
  2. 2. Historical Background of software deployment
  3. 3. Evolution of software deployment Pushing around a cart Single click deployment to a full of punch cards cloud over a global network
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. Overview of Cloud Computing
  10. 10. 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
  11. 11. The promise of Cloud for a developer Instantly provision an environment that has the proper stack to run any given application.
  12. 12. Turning "the world" upside down We used to bring the data to the application.... ....now 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!
  13. 13. Open Source Is Leading Cloud Interoperability
  14. 14. 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?
  15. 15. Cloud Deployment Toolkit http://www.eclipse.org/proposals/cdtk/ Allow deployment through a single plugin to multiple IaaS.. With plans to support all additional IaaS APIs as available..
  16. 16. Cloud Deployment Toolkit Connecting your IDE to the cloud
  17. 17. 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
  18. 18. Who is helping the project today?
  19. 19. 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
  20. 20. 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.
  21. 21. Define an environment in XML List out number and type of servers, versions of OS, network and storage configuration, etc..
  22. 22. 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..
  23. 23. Reports provide costs for accounting Instance Report Name Size OS Bandwidth Cost Should other information be included? Should other reports be created?
  24. 24. 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
  25. 25. Questions? Ask on the project forum linked through the proposal at: http://www.eclipse.org/proposals/cdtk/ Twitter: @bpiatt bret.piatt@rackspace.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×