SlideShare a Scribd company logo
1 of 27
Developer Experience with jclouds
Control the Clouds
Everett Toews
Developer Advocate
@everett_toews
You need:
JDK 1.6+
Ant 1.8+
Rackspace and/or
HP cloud accounts
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
The Workshop bit.ly/jclwork
•Introduction to jclouds
•Cloud Accounts
•Terminology
•Installation
•Compute Example
•Next Steps
•Wrap Up
2
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Introduction to jclouds
3
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds bit.ly/jclwork
4
• Cross-cloud toolkit
• Open Source (Apache v2)
• Community
• Portable APIs
• Provider APIs
• Java
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Providers bit.ly/jclwork
•ComputeService
•Rackspace Cloud
Servers
•HP Cloud Compute
•AWS EC2
•ElasticHosts
•GoGrid
•CloudSigma
•All Providers
5
•BlobStore
•Rackspace Cloud
Files
•HP Cloud Storage
•AWS S3
•Azure
•CloudOne
•Ninefold
•All Providers
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Community bit.ly/jclwork
6
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Community bit.ly/jclwork
7
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Layers (APIs) bit.ly/jclwork
•ComputeService
•Rackspace
•OpenStack
•HP, AWS, etc.
•NovaApi (*Api)
•Rackspace
•OpenStack
•HP
8
•BlobStore
•Rackspace
•OpenStack
•HP, AWS, etc.
•SwiftApi
•Rackspace
•OpenStack
•HP
•CloudFilesClient
•Rackspace
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Cloud Accounts
9
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Rackspace bit.ly/jclwork
•BYOB?
•rackspace.com/cloud/public/
•mycloud.rackspace.com
•Note: Username, Password
10
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
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
11
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Terminology
12
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Terminology bit.ly/jclwork
jclouds Rackspace/OpenStack
Compute Cloud Servers/Nova
Node Server
Location Region
Hardware Flavor
NodeMetadata Server details
User Metadata Metadata
BlobStore Cloud Files/Swift
Blob File/Object
13
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Installation
14
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Ant bit.ly/jclwork
•mkdir jclouds-workshop
•cd jclouds-workshop
•Create build.xml
•gist.github.com/3861545
•ant
•Plan B: bit.ly/jcl152
15
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Compute Example
16
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
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
17
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
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
18
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
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
19
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
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
20
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
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
21
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork
•Run!
• java -cp ".:lib/*" JCloudsWorkshop
22
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Other Topics bit.ly/jclwork
•ServerApi/ServerAsyncApi
•Concurrency
•CLI
•Jenkins
23
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Next Steps
24
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
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
25
26
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
And don’t forget to terminate your VMs
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Thanks! bit.ly/jclwork
•Everett Toews
•Developer Advocate @ Rackspace
•everett.toews@rackspace.com
•developer.rackspace.com/support
•linkedin.com/in/everetttoews
•github.com/everett-toews
•blog.phymata.com
•@everett_toews
27

More Related Content

What's hot

Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Matt Ray
 
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesJEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesClaus Ibsen
 
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014Claus Ibsen
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Claus Ibsen
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersClaus Ibsen
 
Ansible for large scale deployment
Ansible for large scale deploymentAnsible for large scale deployment
Ansible for large scale deploymentKarthik .P.R
 
Apache CloudStack Google Summer of Code
Apache CloudStack Google Summer of CodeApache CloudStack Google Summer of Code
Apache CloudStack Google Summer of CodeSebastien Goasguen
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelClaus Ibsen
 
Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Joe Breu
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)Claus Ibsen
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersClaus Ibsen
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelIoan Eugen Stan
 
Chef for OpenStack: Grizzly Roadmap
Chef for OpenStack: Grizzly RoadmapChef for OpenStack: Grizzly Roadmap
Chef for OpenStack: Grizzly RoadmapMatt Ray
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and GroovyClaus Ibsen
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Claus Ibsen
 
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Claus Ibsen
 
Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Claus Ibsen
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesClaus Ibsen
 
Building a Serverless Pipeline
Building a Serverless PipelineBuilding a Serverless Pipeline
Building a Serverless PipelineJulien SIMON
 

What's hot (20)

Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013
 
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesJEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
 
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 
Ansible for large scale deployment
Ansible for large scale deploymentAnsible for large scale deployment
Ansible for large scale deployment
 
Apache CloudStack Google Summer of Code
Apache CloudStack Google Summer of CodeApache CloudStack Google Summer of Code
Apache CloudStack Google Summer of Code
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and Camel
 
Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013
 
London HUG 12/4
London HUG 12/4London HUG 12/4
London HUG 12/4
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache Camel
 
Chef for OpenStack: Grizzly Roadmap
Chef for OpenStack: Grizzly RoadmapChef for OpenStack: Grizzly Roadmap
Chef for OpenStack: Grizzly Roadmap
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014
 
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
 
Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetes
 
Building a Serverless Pipeline
Building a Serverless PipelineBuilding a Serverless Pipeline
Building a Serverless Pipeline
 

Similar to jclouds workshop

Control the Clouds - Developer Experience with jclouds.pptx
Control the Clouds - Developer Experience with jclouds.pptxControl the Clouds - Developer Experience with jclouds.pptx
Control the Clouds - Developer Experience with jclouds.pptxOpenStack Foundation
 
jclouds Support Training
jclouds Support Trainingjclouds Support Training
jclouds Support TrainingEverett Toews
 
It's in the cloud
It's in the cloudIt's in the cloud
It's in the cloudkenperkins
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and dockerShapeBlue
 
Chef for OpenStack - OpenStack Fall 2012 Summit
Chef for OpenStack  - OpenStack Fall 2012 SummitChef for OpenStack  - OpenStack Fall 2012 Summit
Chef for OpenStack - OpenStack Fall 2012 SummitMatt Ray
 
OpenStack Deployments with Chef
OpenStack Deployments with ChefOpenStack Deployments with Chef
OpenStack Deployments with ChefMatt Ray
 
201304 chef for open stack overview
201304 chef for open stack overview201304 chef for open stack overview
201304 chef for open stack overviewOpenStack Foundation
 
201304 chef for open stack overview
201304 chef for open stack overview201304 chef for open stack overview
201304 chef for open stack overviewOpenStack Foundation
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kitsEverett Toews
 
Australian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackAustralian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackMatt Ray
 
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPSVMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPSVMworld
 
Building Out Your Kafka Developer CDC Ecosystem
Building Out Your Kafka Developer CDC  EcosystemBuilding Out Your Kafka Developer CDC  Ecosystem
Building Out Your Kafka Developer CDC Ecosystemconfluent
 
Solve the Cross-Cloud Conundrum with jclouds at Gluecon 2013
Solve the Cross-Cloud Conundrum with jclouds at Gluecon 2013Solve the Cross-Cloud Conundrum with jclouds at Gluecon 2013
Solve the Cross-Cloud Conundrum with jclouds at Gluecon 2013Everett Toews
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Ryan Cuprak
 
Introduction to Java Cloud Service
Introduction to Java Cloud ServiceIntroduction to Java Cloud Service
Introduction to Java Cloud ServicePerficient, Inc.
 
Pro2516 10 things about oracle and k8s.pptx-final
Pro2516   10 things about oracle and k8s.pptx-finalPro2516   10 things about oracle and k8s.pptx-final
Pro2516 10 things about oracle and k8s.pptx-finalMichel Schildmeijer
 
Intro to OpenStack - WAJUG
Intro to OpenStack - WAJUGIntro to OpenStack - WAJUG
Intro to OpenStack - WAJUGKevin Jackson
 
Achieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with ChefAchieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with ChefMatt Ray
 

Similar to jclouds workshop (20)

Control the Clouds - Developer Experience with jclouds.pptx
Control the Clouds - Developer Experience with jclouds.pptxControl the Clouds - Developer Experience with jclouds.pptx
Control the Clouds - Developer Experience with jclouds.pptx
 
jclouds Support Training
jclouds Support Trainingjclouds Support Training
jclouds Support Training
 
It's in the cloud
It's in the cloudIt's in the cloud
It's in the cloud
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
Chef for OpenStack - OpenStack Fall 2012 Summit
Chef for OpenStack  - OpenStack Fall 2012 SummitChef for OpenStack  - OpenStack Fall 2012 Summit
Chef for OpenStack - OpenStack Fall 2012 Summit
 
Chef for OpenStack- Fall 2012.pdf
Chef for OpenStack- Fall 2012.pdfChef for OpenStack- Fall 2012.pdf
Chef for OpenStack- Fall 2012.pdf
 
OpenStack Deployments with Chef
OpenStack Deployments with ChefOpenStack Deployments with Chef
OpenStack Deployments with Chef
 
201304 chef for open stack overview
201304 chef for open stack overview201304 chef for open stack overview
201304 chef for open stack overview
 
201304 chef for open stack overview
201304 chef for open stack overview201304 chef for open stack overview
201304 chef for open stack overview
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kits
 
Australian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackAustralian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStack
 
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPSVMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
 
Building Out Your Kafka Developer CDC Ecosystem
Building Out Your Kafka Developer CDC  EcosystemBuilding Out Your Kafka Developer CDC  Ecosystem
Building Out Your Kafka Developer CDC Ecosystem
 
Doc or Die
Doc or DieDoc or Die
Doc or Die
 
Solve the Cross-Cloud Conundrum with jclouds at Gluecon 2013
Solve the Cross-Cloud Conundrum with jclouds at Gluecon 2013Solve the Cross-Cloud Conundrum with jclouds at Gluecon 2013
Solve the Cross-Cloud Conundrum with jclouds at Gluecon 2013
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 
Introduction to Java Cloud Service
Introduction to Java Cloud ServiceIntroduction to Java Cloud Service
Introduction to Java Cloud Service
 
Pro2516 10 things about oracle and k8s.pptx-final
Pro2516   10 things about oracle and k8s.pptx-finalPro2516   10 things about oracle and k8s.pptx-final
Pro2516 10 things about oracle and k8s.pptx-final
 
Intro to OpenStack - WAJUG
Intro to OpenStack - WAJUGIntro to OpenStack - WAJUG
Intro to OpenStack - WAJUG
 
Achieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with ChefAchieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with Chef
 

More from Everett Toews

All You Need to Know About Kustomize
All You Need to Know About KustomizeAll You Need to Know About Kustomize
All You Need to Know About KustomizeEverett Toews
 
Intro to InnerSource
Intro to InnerSourceIntro to InnerSource
Intro to InnerSourceEverett Toews
 
An OpenShift Migration: From 3.9 to 4.5
An OpenShift Migration: From 3.9 to 4.5An OpenShift Migration: From 3.9 to 4.5
An OpenShift Migration: From 3.9 to 4.5Everett Toews
 
Cloud Native Summit 2019 Summary
Cloud Native Summit 2019 SummaryCloud Native Summit 2019 Summary
Cloud Native Summit 2019 SummaryEverett Toews
 
DevOps: Chop wood. Carry water.
DevOps: Chop wood. Carry water.DevOps: Chop wood. Carry water.
DevOps: Chop wood. Carry water.Everett Toews
 
Intro to Docker Swarm
Intro to Docker SwarmIntro to Docker Swarm
Intro to Docker SwarmEverett Toews
 
Ciao: Continuous Integration for Apps on OpenStack
Ciao: Continuous Integration for Apps on OpenStackCiao: Continuous Integration for Apps on OpenStack
Ciao: Continuous Integration for Apps on OpenStackEverett Toews
 
Introduction to Apache jclouds at NYJavaSIG
Introduction to Apache jclouds at NYJavaSIGIntroduction to Apache jclouds at NYJavaSIG
Introduction to Apache jclouds at NYJavaSIGEverett Toews
 
DevStack: Learn OpenStack by Running OpenStack
DevStack: Learn OpenStack by Running OpenStackDevStack: Learn OpenStack by Running OpenStack
DevStack: Learn OpenStack by Running OpenStackEverett Toews
 
Enabling Walk Up Contributions to Your Documentation at GlueCon
Enabling Walk Up Contributions to Your Documentation at GlueConEnabling Walk Up Contributions to Your Documentation at GlueCon
Enabling Walk Up Contributions to Your Documentation at GlueConEverett Toews
 
Enabling Walk Up Contributions to Your Project Documentation
Enabling Walk Up Contributions to Your Project DocumentationEnabling Walk Up Contributions to Your Project Documentation
Enabling Walk Up Contributions to Your Project DocumentationEverett Toews
 
Introduction to Apache jclouds at ApacheCon 2014
Introduction to Apache jclouds at ApacheCon 2014Introduction to Apache jclouds at ApacheCon 2014
Introduction to Apache jclouds at ApacheCon 2014Everett Toews
 
Introduction to Apache jclouds
Introduction to Apache jcloudsIntroduction to Apache jclouds
Introduction to Apache jcloudsEverett Toews
 
The OpenStack Community Welcomes Developers in All Languages
The OpenStack Community Welcomes Developers in All LanguagesThe OpenStack Community Welcomes Developers in All Languages
The OpenStack Community Welcomes Developers in All LanguagesEverett Toews
 

More from Everett Toews (20)

All You Need to Know About Kustomize
All You Need to Know About KustomizeAll You Need to Know About Kustomize
All You Need to Know About Kustomize
 
Intro to InnerSource
Intro to InnerSourceIntro to InnerSource
Intro to InnerSource
 
An OpenShift Migration: From 3.9 to 4.5
An OpenShift Migration: From 3.9 to 4.5An OpenShift Migration: From 3.9 to 4.5
An OpenShift Migration: From 3.9 to 4.5
 
Cloud Native Summit 2019 Summary
Cloud Native Summit 2019 SummaryCloud Native Summit 2019 Summary
Cloud Native Summit 2019 Summary
 
DevOps: Chop wood. Carry water.
DevOps: Chop wood. Carry water.DevOps: Chop wood. Carry water.
DevOps: Chop wood. Carry water.
 
Intro to Docker Swarm
Intro to Docker SwarmIntro to Docker Swarm
Intro to Docker Swarm
 
Ciao: Continuous Integration for Apps on OpenStack
Ciao: Continuous Integration for Apps on OpenStackCiao: Continuous Integration for Apps on OpenStack
Ciao: Continuous Integration for Apps on OpenStack
 
Introduction to Apache jclouds at NYJavaSIG
Introduction to Apache jclouds at NYJavaSIGIntroduction to Apache jclouds at NYJavaSIG
Introduction to Apache jclouds at NYJavaSIG
 
DevStack: Learn OpenStack by Running OpenStack
DevStack: Learn OpenStack by Running OpenStackDevStack: Learn OpenStack by Running OpenStack
DevStack: Learn OpenStack by Running OpenStack
 
Enabling Walk Up Contributions to Your Documentation at GlueCon
Enabling Walk Up Contributions to Your Documentation at GlueConEnabling Walk Up Contributions to Your Documentation at GlueCon
Enabling Walk Up Contributions to Your Documentation at GlueCon
 
You Sir, Sir Vey
You Sir, Sir VeyYou Sir, Sir Vey
You Sir, Sir Vey
 
Walk n Doc
Walk n DocWalk n Doc
Walk n Doc
 
Nashorn
NashornNashorn
Nashorn
 
Enabling Walk Up Contributions to Your Project Documentation
Enabling Walk Up Contributions to Your Project DocumentationEnabling Walk Up Contributions to Your Project Documentation
Enabling Walk Up Contributions to Your Project Documentation
 
Introduction to Apache jclouds at ApacheCon 2014
Introduction to Apache jclouds at ApacheCon 2014Introduction to Apache jclouds at ApacheCon 2014
Introduction to Apache jclouds at ApacheCon 2014
 
Introduction to Apache jclouds
Introduction to Apache jcloudsIntroduction to Apache jclouds
Introduction to Apache jclouds
 
Women Who Code
Women Who CodeWomen Who Code
Women Who Code
 
HackTX
HackTXHackTX
HackTX
 
Cybera Summit
Cybera SummitCybera Summit
Cybera Summit
 
The OpenStack Community Welcomes Developers in All Languages
The OpenStack Community Welcomes Developers in All LanguagesThe OpenStack Community Welcomes Developers in All Languages
The OpenStack Community Welcomes Developers in All Languages
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

jclouds workshop

  • 1. Developer Experience with jclouds Control the Clouds Everett Toews Developer Advocate @everett_toews You need: JDK 1.6+ Ant 1.8+ Rackspace and/or HP cloud accounts
  • 2. RACKSPACE® HOSTING | WWW.RACKSPACE.COM The Workshop bit.ly/jclwork •Introduction to jclouds •Cloud Accounts •Terminology •Installation •Compute Example •Next Steps •Wrap Up 2
  • 3. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Introduction to jclouds 3
  • 4. RACKSPACE® HOSTING | WWW.RACKSPACE.COM jclouds bit.ly/jclwork 4 • Cross-cloud toolkit • Open Source (Apache v2) • Community • Portable APIs • Provider APIs • Java
  • 5. RACKSPACE® HOSTING | WWW.RACKSPACE.COM jclouds Providers bit.ly/jclwork •ComputeService •Rackspace Cloud Servers •HP Cloud Compute •AWS EC2 •ElasticHosts •GoGrid •CloudSigma •All Providers 5 •BlobStore •Rackspace Cloud Files •HP Cloud Storage •AWS S3 •Azure •CloudOne •Ninefold •All Providers
  • 6. RACKSPACE® HOSTING | WWW.RACKSPACE.COM jclouds Community bit.ly/jclwork 6
  • 7. RACKSPACE® HOSTING | WWW.RACKSPACE.COM jclouds Community bit.ly/jclwork 7
  • 8. RACKSPACE® HOSTING | WWW.RACKSPACE.COM jclouds Layers (APIs) bit.ly/jclwork •ComputeService •Rackspace •OpenStack •HP, AWS, etc. •NovaApi (*Api) •Rackspace •OpenStack •HP 8 •BlobStore •Rackspace •OpenStack •HP, AWS, etc. •SwiftApi •Rackspace •OpenStack •HP •CloudFilesClient •Rackspace
  • 9. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Cloud Accounts 9
  • 10. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Rackspace bit.ly/jclwork •BYOB? •rackspace.com/cloud/public/ •mycloud.rackspace.com •Note: Username, Password 10
  • 11. RACKSPACE® HOSTING | WWW.RACKSPACE.COM 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 11
  • 12. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Terminology 12
  • 13. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Terminology bit.ly/jclwork jclouds Rackspace/OpenStack Compute Cloud Servers/Nova Node Server Location Region Hardware Flavor NodeMetadata Server details User Metadata Metadata BlobStore Cloud Files/Swift Blob File/Object 13
  • 14. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Installation 14
  • 15. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Ant bit.ly/jclwork •mkdir jclouds-workshop •cd jclouds-workshop •Create build.xml •gist.github.com/3861545 •ant •Plan B: bit.ly/jcl152 15
  • 16. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Compute Example 16
  • 17. RACKSPACE® HOSTING | WWW.RACKSPACE.COM 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 17
  • 18. RACKSPACE® HOSTING | WWW.RACKSPACE.COM 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 18
  • 19. RACKSPACE® HOSTING | WWW.RACKSPACE.COM 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 19
  • 20. RACKSPACE® HOSTING | WWW.RACKSPACE.COM 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 20
  • 21. RACKSPACE® HOSTING | WWW.RACKSPACE.COM 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 21
  • 22. RACKSPACE® HOSTING | WWW.RACKSPACE.COM JCloudsWorkshop.java bit.ly/jclwork •Run! • java -cp ".:lib/*" JCloudsWorkshop 22
  • 23. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Other Topics bit.ly/jclwork •ServerApi/ServerAsyncApi •Concurrency •CLI •Jenkins 23
  • 24. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Next Steps 24
  • 25. RACKSPACE® HOSTING | WWW.RACKSPACE.COM 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 25
  • 26. 26 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 And don’t forget to terminate your VMs
  • 27. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Thanks! bit.ly/jclwork •Everett Toews •Developer Advocate @ Rackspace •everett.toews@rackspace.com •developer.rackspace.com/support •linkedin.com/in/everetttoews •github.com/everett-toews •blog.phymata.com •@everett_toews 27

Editor's Notes

  1. Hi my name is ET and I've been deploying OpenStack since Cactus. Before Cactus actually, some kind of custom Anso hybrid beast.
  2. Windows/Mac/Linux users?
  3. Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  4. Recommend split screen
  5. What haven't I specified explicitly?