SlideShare a Scribd company logo
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....

       ....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!
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
 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..
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:

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

                                     Twitter: @bpiatt
                          bret.piatt@rackspace.com

More Related Content

PDF
Cloudops fundamentals management, tdd, test driven design, continuous integra...
PPTX
Serverless
PPTX
ASP.NET Core deployment options
PPTX
Immutable infrastructure tsap_v2
PPTX
Database deployments - dotnetsheff
PDF
The evolution of Dell EMC PowerEdge server systems management - Infographic
PPTX
What's new in containers
PDF
Running containerized application in AWS ECS
Cloudops fundamentals management, tdd, test driven design, continuous integra...
Serverless
ASP.NET Core deployment options
Immutable infrastructure tsap_v2
Database deployments - dotnetsheff
The evolution of Dell EMC PowerEdge server systems management - Infographic
What's new in containers
Running containerized application in AWS ECS

What's hot (20)

PDF
Mete Atamel
PPTX
Introduction to chef
PDF
DEVOPS AND MACHINE LEARNING
PPTX
PaaS and Container Innovation – What’s new with App Service
PPTX
Introducing to Azure Functions
PDF
Contract-based Testing Approach as a Tool for Shift Lef
PDF
6 Things You Need to Know to Safely Run Kubernetes
PPTX
Azure Service Fabric: The road ahead for microservices
PPTX
PuppetConf 2016: Scaling Puppet on AWS ECS with Terraform and Docker – Maxime...
PPTX
Configure an environnement for ASP.NET Core 2
PDF
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
PPTX
How to build the Cloud Native applications the way you want – not the way the...
PPTX
AWS elastic beanstalk
PPTX
Serverless in action
PPTX
Build and deployment with Jenkins and Code Deploy on AWS
PDF
Introduction Asp.Net MVC5 |MVC5 Tutorial for Beginners & Advanced | Dot Net T...
PPTX
Ed Elliott - Practical DSC in Azure
PPTX
Automating Azure VMs with PowerShell
PPTX
Introduction to-chef
PPT
Building and Deployment of Drupal sites with Features and Context
Mete Atamel
Introduction to chef
DEVOPS AND MACHINE LEARNING
PaaS and Container Innovation – What’s new with App Service
Introducing to Azure Functions
Contract-based Testing Approach as a Tool for Shift Lef
6 Things You Need to Know to Safely Run Kubernetes
Azure Service Fabric: The road ahead for microservices
PuppetConf 2016: Scaling Puppet on AWS ECS with Terraform and Docker – Maxime...
Configure an environnement for ASP.NET Core 2
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
How to build the Cloud Native applications the way you want – not the way the...
AWS elastic beanstalk
Serverless in action
Build and deployment with Jenkins and Code Deploy on AWS
Introduction Asp.Net MVC5 |MVC5 Tutorial for Beginners & Advanced | Dot Net T...
Ed Elliott - Practical DSC in Azure
Automating Azure VMs with PowerShell
Introduction to-chef
Building and Deployment of Drupal sites with Features and Context
Ad

Similar to Cloud Deployment Toolkit (20)

PDF
.NET Cloud-Native Bootcamp- Los Angeles
PPTX
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
PDF
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
PDF
Architecting Cloud Computing Solutions with Java [1.1]
PPT
cloud computing and android
PDF
PHP Buildpacks in the Cloud on Bluemix
 
PDF
Cloud Foundry for PHP developers
PPTX
Cloud Computing Introduction
PPTX
Delivering IaaS with Open Source Software
PPTX
Crash Course in Open Source Cloud Computing
PDF
Arquitetando soluções de computação em nuvem com Java
DOCX
What is Cloud Application Development.docx
PDF
Jfokus Workshop: Code in the Cloud for the Cloud
PPTX
Vijay Oscon
PPTX
Understanding the Windows Azure Platform - Dec 2010
PPTX
Teched India Vijay Interop Track
PDF
.NET Cloud-Native Bootcamp
PDF
Cloud to Edge
PPTX
Vijay Mix Presentation
PPTX
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
.NET Cloud-Native Bootcamp- Los Angeles
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
Architecting Cloud Computing Solutions with Java [1.1]
cloud computing and android
PHP Buildpacks in the Cloud on Bluemix
 
Cloud Foundry for PHP developers
Cloud Computing Introduction
Delivering IaaS with Open Source Software
Crash Course in Open Source Cloud Computing
Arquitetando soluções de computação em nuvem com Java
What is Cloud Application Development.docx
Jfokus Workshop: Code in the Cloud for the Cloud
Vijay Oscon
Understanding the Windows Azure Platform - Dec 2010
Teched India Vijay Interop Track
.NET Cloud-Native Bootcamp
Cloud to Edge
Vijay Mix Presentation
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Ad

More from Bret Piatt (7)

PPTX
3 Tips to Stay Safe Online in 2017
PDF
OpenStack Tutorial
PPTX
Future of Data Storage in the Cloud
PPTX
How Open Source Cloud Platforms Can Solve Big Data Needs in a Location-Aware,...
PPTX
Alternative Database Technology in the Cloud
PPTX
Drupal In The Cloud
PDF
Future of Open Source in a Cloudy World
3 Tips to Stay Safe Online in 2017
OpenStack Tutorial
Future of Data Storage in the Cloud
How Open Source Cloud Platforms Can Solve Big Data Needs in a Location-Aware,...
Alternative Database Technology in the Cloud
Drupal In The Cloud
Future of Open Source in a Cloudy World

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
A Presentation on Artificial Intelligence
PDF
Modernizing your data center with Dell and AMD
PPTX
Big Data Technologies - Introduction.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Approach and Philosophy of On baking technology
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Encapsulation theory and applications.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Monthly Chronicles - July 2025
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
A Presentation on Artificial Intelligence
Modernizing your data center with Dell and AMD
Big Data Technologies - Introduction.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
“AI and Expert System Decision Support & Business Intelligence Systems”
Approach and Philosophy of On baking technology
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation theory and applications.pdf

Cloud Deployment Toolkit

  • 1. Cloud Deployment Toolkit How the cloud reaches your IDE Bret Piatt Rackspace Hosting
  • 2. Historical Background of software deployment
  • 3. Evolution of software deployment Pushing around a cart Single click deployment to a full of punch cards cloud over a global network
  • 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. 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. 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. 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. 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. Overview of Cloud Computing
  • 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. The promise of Cloud for a developer Instantly provision an environment that has the proper stack to run any given application.
  • 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. Open Source Is Leading Cloud Interoperability
  • 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. 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. Cloud Deployment Toolkit Connecting your IDE to the cloud
  • 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. Who is helping the project today?
  • 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. 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. Define an environment in XML List out number and type of servers, versions of OS, network and storage configuration, etc..
  • 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. Reports provide costs for accounting Instance Report Name Size OS Bandwidth Cost Should other information be included? Should other reports be created?
  • 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. Questions? Ask on the project forum linked through the proposal at: http://www.eclipse.org/proposals/cdtk/ Twitter: @bpiatt bret.piatt@rackspace.com