cloud deployment toolkit

25
Cloud Deployment Toolkit How the cloud reaches your IDE Bret Piatt Rackspace Hosting

Upload: bret-piatt

Post on 19-May-2015

1.808 views

Category:

Technology


0 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Cloud Deployment Toolkit

Cloud Deployment ToolkitHow the cloud reaches your IDE

Bret PiattRackspace Hosting

Page 2: Cloud Deployment Toolkit

Historical Background

of software deployment

Page 3: Cloud Deployment Toolkit

Evolution of software deployment

Pushing around a cartfull of punch cards

Single click deployment to a cloud over a global network

Page 4: Cloud Deployment Toolkit

Mainframe EraDevelopment done on a centralsystem preventing version issuesfor libraries and other applicationcomponents.

Slow development process asdepartments needed to time-sharefor access to terminals or directdata loading resources.

Benefits: Development and production environment consistency

Drawbacks: Slow development, limited access to resources

Page 5: Cloud Deployment Toolkit

Client/Server EraDevelopment speed increases asportions of the application can bewritten and tested on distributedsystems.

Client/Server and client systemversion compatibility issuesintroduced.

Benefits: More rapid development

Drawbacks: System version compatibility issues introduced

Page 6: Cloud Deployment Toolkit

Internet PC EraDevelopment speed continuesto increase with easy accessto libraries and better developmenttools allowing more developers towork on the same project together.

Version compatibility issues become more complex as the OS,libraries, and other dependentapplications proliferate.

Benefits: Application development is faster than ever before

Drawbacks: Compatibility becomes a nightmare

Page 7: Cloud Deployment Toolkit

Internet Mobile EraThousands of OS versions andsystem form factors exist now.Developing an application for anysingle platform is very easy.

Building an application to work on allmay require complete re-writes.Browser based applications have thepotential to neutralize this.

Benefits: Single platform development is easier than ever

Drawbacks: Compatibility now requires many full re-writes of an application

Page 8: Cloud Deployment Toolkit

How do we fix the growing complexity?

Portable platforms such as the JVMInfrastructure automation and flexibility through cloudIDE integration through tools such as the Cloud Deployment Toolkit in EclipseA standardized way to define application infrastructure

Page 9: Cloud Deployment Toolkit

Overview of Cloud Computing

Page 10: Cloud Deployment Toolkit

Base definitions of Cloud ComputingEssential Characteristics

On-demand Self-serviceBroad Network AccessResource Pooling Rapid ElasticityMeasured Service

Service ModelsSoftware as a ServicePlatform as a ServiceInfrastructure as a Service

Deployment ModelsPrivate CloudCommunity CloudPublic CloudHybrid Cloud

Page 11: Cloud Deployment Toolkit

The promise of Cloud for a developerInstantly provision an environment that has the

proper stack to run any given application.

Page 12: Cloud Deployment Toolkit

Turning "the world" upside downWe 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!

Page 13: Cloud Deployment Toolkit

Open Source Is Leading CloudInteroperability

Page 14: Cloud Deployment Toolkit

LibvirtPick a hypervisor, any hypervisor

jcloudsLike Java, like many clouds?

Dasein Cloud APIDream of all the clouds being the same?

Platforms, libraries, and specificationsDeltacloud

Link virtualization & cloud

LibcloudWrite once, use many clouds

Rackspace Cloud APIsSpecs any provider can use

Page 15: Cloud Deployment Toolkit

Cloud Deployment Toolkithttp://www.eclipse.org/proposals/cdtk/

Allow deployment through a single plugin to multiple IaaS..

With plans to support all additional IaaS APIs as available..

Page 16: Cloud Deployment Toolkit

Cloud Deployment Toolkit

Connecting your IDE to the cloud

Page 17: Cloud Deployment Toolkit

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

Page 18: Cloud Deployment Toolkit

Who is helping the project today?

Page 19: Cloud Deployment Toolkit

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 IDEHelp define a common IaaS specification data exchange between pluginsProvide integration with application server code deployment pluginsProvide integration with debugger pluginsProvide integration with testing and performance tool plugins

Page 20: Cloud Deployment Toolkit

Easy integration into IDE workflowDefine 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 theconfiguration dataautomatically savingdevelopers the manualentry.

Page 21: Cloud Deployment Toolkit

Define an environment in XMLList out number and type of servers, versions of OS, network and storage configuration, etc..

Page 22: Cloud Deployment Toolkit

When ready to use, build createsServers 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..

Page 23: Cloud Deployment Toolkit

Reports provide costs for accountingInstance Report

NameSizeOSBandwidthCost

Should other information beincluded?

Should other reports be created?

Page 24: Cloud Deployment Toolkit

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

Page 25: Cloud Deployment Toolkit

Questions?

Ask on the project forum linked through the proposal at:

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

Twitter: @[email protected]