Guido Bertucci, is currently serving as the Executive Director of “Governance Solutions International” an organization devoted to the identification and dissemination of innovative practices in governance and public administration. Guido Bertucci, U (more)
Guido Bertucci, is currently serving as the Executive Director of “Governance Solutions International” an organization devoted to the identification and dissemination of innovative practices in governance and public administration. Guido Bertucci, United Nations(UN) has played a significant role in advocacy in the area of governance and public administration, at the global level.
(less)
By definition, public health is the science of preventing diseases and improving the all round health of communities by educating them on the importance of healthy lifestyles through extensive studies on disease research, injury prevention and perso (more)
By definition, public health is the science of preventing diseases and improving the all round health of communities by educating them on the importance of healthy lifestyles through extensive studies on disease research, injury prevention and personal choices that affect the overall well-being of their families and communities. (less)
Slide 1: Cloud Deployment Toolkit
How the cloud reaches your IDE
Bret Piatt Rackspace Hosting
Slide 2: Historical Background
of software deployment
Slide 3: Evolution of software deployment
Pushing around a cart full of punch cards Single click deployment to a cloud over a global network
Slide 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
Slide 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
Slide 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
Slide 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
Slide 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
Slide 9: Overview of Cloud Computing
Slide 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
Slide 11: The promise of Cloud for a developer
Instantly provision an environment that has the proper stack to run any given application.
Slide 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!
Slide 13: Open Source Is Leading Cloud Interoperability
Slide 14: Platforms, libraries, and specifications
Deltacloud
Link virtualization & cloud
Libvirt
Pick a hypervisor, any hypervisor
Libcloud
Write once, use many clouds
jclouds
Like Java, like many clouds?
Rackspace Cloud APIs
Specs any provider can use
Dasein Cloud API
Dream of all the clouds being the same?
Slide 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..
Slide 16: Cloud Deployment Toolkit
Connecting your IDE to the cloud
Slide 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
Slide 18: Who is helping the project today?
Slide 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
Slide 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.
Slide 21: Define an environment in XML
List out number and type of servers, versions of OS, network and storage configuration, etc..
Slide 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..
Slide 23: Reports provide costs for accounting
Instance Report Name Size OS Bandwidth Cost Should other information be included? Should other reports be created?
Slide 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
Slide 25: Questions?
Ask on the project forum linked through the proposal at:
http://www.eclipse.org/proposals/cdtk/ Twitter: @bpiatt bret.piatt@rackspace.com