More Related Content Similar to Control the Clouds - Developer Experience with jclouds.pptx (20) More from OpenStack Foundation (20) Control the Clouds - Developer Experience with jclouds.pptx1. Control the Clouds
Developer Experience with jclouds
Everett Toews You need:
Developer Advocate JDK 1.6+
@everett_toews Ant 1.8+
Rackspace and/or
HP cloud accounts
2. The Workshop bit.ly/jclwork
•Introduction to jclouds
•Cloud Accounts
•Terminology
•Installation
•Compute Example
•Next Steps
•Wrap Up
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
2
4. jclouds bit.ly/jclwork
• Cross-cloud toolkit
• Open Source (Apache v2)
• Community
• Portable APIs
• Provider APIs
• Java
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
4
5. jclouds Providers bit.ly/jclwork
•ComputeService •BlobStore
• Rackspace Cloud • Rackspace Cloud
Servers Files
• HP Cloud Compute • HP Cloud Storage
• AWS EC2 • AWS S3
• ElasticHosts • Azure
• GoGrid • CloudOne
• CloudSigma • Ninefold
• All Providers • All Providers
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
5
8. jclouds Layers (APIs) bit.ly/jclwork
•ComputeService •BlobStore
• Rackspace • Rackspace
• OpenStack • OpenStack
• HP, AWS, etc. • HP, AWS, etc.
•NovaApi (*Api) •SwiftApi
• Rackspace • Rackspace
• OpenStack • OpenStack
• HP • HP
•CloudFilesClient
• Rackspace
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
8
10. Rackspace bit.ly/jclwork
•BYOB?
•rackspace.com/cloud/public/
•mycloud.rackspace.com
•Note: Username, Password
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
10
11. HP bit.ly/jclwork
•hpcloud.com/sign_up
•console.hpcloud.com/compute
•Activate AZ1 and AZ2
•Top right > View API Keys
•Note: Tenant Name, Username, Password
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
11
12. Terminology
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
12
13. Terminology bit.ly/jclwork
jclouds OpenStack
Compute Nova
BlobStore Swift
Location Region
Hardware Flavor
NodeMetadata Server details
User Metadata Metadata
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
13
15. Ant bit.ly/jclwork
•mkdir jclouds-workshop
•cd jclouds-workshop
•Create build.xml
• gist.github.com/3861545
•ant
•Plan B: bit.ly/jcl152
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
15
17. JCloudsWorkshop.java bit.ly/jclwork
•Logging
• Create logback.xml
• gist.github.com/3862553
• Full logback.xml example
•Imports and Class definition
• Create JCloudsWorkshop.java
• gist.github.com/3861596
• javac -cp ".:lib/*" JCloudsWorkshop.java
• Note: Guice, Guava
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
17
18. JCloudsWorkshop.java bit.ly/jclwork
•main() and skeleton
• gist.github.com/3862453
• javac -cp ".:lib/*" JCloudsWorkshop.java
•init()
• gist.github.com/3862575
• javac -cp ".:lib/*" JCloudsWorkshop.java
• Note: Authentication
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
18
19. JCloudsWorkshop.java bit.ly/jclwork
•createNodes()
• gist.github.com/3862480
• javac -cp ".:lib/*" JCloudsWorkshop.java
•configureAndStartWebservers()
• gist.github.com/3862485
• javac -cp ".:lib/*" JCloudsWorkshop.java
• Note: Patterns
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
19
20. JCloudsWorkshop.java bit.ly/jclwork
•waitForSsh()
• gist.github.com/3862516
• javac -cp ".:lib/*" JCloudsWorkshop.java
•printResults()
• gist.github.com/3862499
• javac -cp ".:lib/*" JCloudsWorkshop.java
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
20
21. JCloudsWorkshop.java bit.ly/jclwork
•detectExtensions()
• gist.github.com/3867123
• javac -cp ".:lib/*" JCloudsWorkshop.java
•close()
• gist.github.com/3862504
• javac -cp ".:lib/*" JCloudsWorkshop.java
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
21
22. JCloudsWorkshop.java bit.ly/jclwork
•Run!
• java -cp ".:lib/*" JCloudsWorkshop
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
22
23. Other Topics bit.ly/jclwork
•ServerApi/ServerAsyncApi
•Concurrency
•CLI
•Jenkins
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
23
24. Next Steps
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
24
25. Next Steps bit.ly/jclwork
•Load Balancing
•More examples (BlobStore too)
•Modify the examples
•jclouds doc and Javadoc
•Other installation methods
•Join jclouds or jclouds-dev
•jclouds and OpenStack
•Contributing OpenStack Support to
jclouds
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
25
26. And don’t forget to terminate your VMs
RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218
US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM
RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM
26
27. Thanks! bit.ly/jclwork
•Everett Toews
•Developer Advocate @ Rackspace
•everett.toews@rackspace.com
•sdk-support@rackspace.com
•linkedin.com/in/everetttoews
•github.com/everett-toews
•blog.phymata.com
•@everett_toews
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
27
Editor's Notes Hi my name is ET and I've been deploying OpenStack since Cactus. Before Cactus actually, some kind of custom Anso hybrid beast. Windows/Mac/Linux users? Why did Rackspace utilize cross-cloud toolkits?Lock-on, not lock-in Recommend split screen What haven't I specified explicitly?