SlideShare a Scribd company logo
1 of 27
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
The Workshop           bit.ly/jclwork
 •Introduction to jclouds
 •Cloud Accounts
 •Terminology
 •Installation
 •Compute Example
 •Next Steps
 •Wrap Up
                            RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                         2
Introduction to jclouds




                    RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                 3
jclouds            bit.ly/jclwork
          • Cross-cloud toolkit
          • Open Source (Apache v2)
          • Community
          • Portable APIs
          • Provider APIs
          • Java




                        RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                     4
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
jclouds Community   bit.ly/jclwork




                       RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                    6
jclouds Community   bit.ly/jclwork




                       RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                    7
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
Cloud Accounts




                 RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                              9
Rackspace                 bit.ly/jclwork
 •BYOB?

 •rackspace.com/cloud/public/
 •mycloud.rackspace.com
 •Note: Username, Password




                                RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                             10
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
Terminology




              RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                           12
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
Installation




               RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                            14
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
Compute Example




                  RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                               16
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
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
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
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
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
JCloudsWorkshop.java              bit.ly/jclwork
 •Run!
  • java -cp ".:lib/*" JCloudsWorkshop




                                         RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                                      22
Other Topics             bit.ly/jclwork
 •ServerApi/ServerAsyncApi
 •Concurrency
 •CLI
 •Jenkins




                             RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                          23
Next Steps




             RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                          24
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
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
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

More Related Content

What's hot

Scalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache HadoopScalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache HadoopChiradeep Vittal
 
Ceph with CloudStack
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStackShapeBlue
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitMeet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitColin Charles
 
Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimizationAlmog Baku
 
Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins Colin Charles
 
NoSQL - Vital Open Source Ingredient for Modern Success
NoSQL - Vital Open Source Ingredient for Modern SuccessNoSQL - Vital Open Source Ingredient for Modern Success
NoSQL - Vital Open Source Ingredient for Modern SuccessArun Gupta
 
Performance all teh things
Performance all teh thingsPerformance all teh things
Performance all teh thingsMarcus Deglos
 
Caching with Varnish
Caching with VarnishCaching with Varnish
Caching with Varnishschoefmax
 
Resin Outperforms NginX
Resin Outperforms NginXResin Outperforms NginX
Resin Outperforms NginXbilldigman
 
Automated MySQL failover with MHA: Getting started & moving past its quirks
Automated MySQL failover with MHA: Getting started & moving past its quirksAutomated MySQL failover with MHA: Getting started & moving past its quirks
Automated MySQL failover with MHA: Getting started & moving past its quirksColin Charles
 
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
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Colin Charles
 
Java EE Servlet JSP Tutorial- Cookbook 1
Java EE Servlet JSP Tutorial- Cookbook 1Java EE Servlet JSP Tutorial- Cookbook 1
Java EE Servlet JSP Tutorial- Cookbook 1billdigman
 
OpenStack Deployments with Chef
OpenStack Deployments with ChefOpenStack Deployments with Chef
OpenStack Deployments with ChefMatt Ray
 
Threads Needles Stacks Heaps - Java edition
Threads Needles Stacks Heaps - Java editionThreads Needles Stacks Heaps - Java edition
Threads Needles Stacks Heaps - Java editionOvidiu Dimulescu
 
MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016Colin Charles
 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Arun Gupta
 

What's hot (20)

Scalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache HadoopScalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache Hadoop
 
Ceph with CloudStack
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStack
 
Ansible MySQL MHA
Ansible MySQL MHAAnsible MySQL MHA
Ansible MySQL MHA
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitMeet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web Summit
 
Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimization
 
Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins
 
NoSQL - Vital Open Source Ingredient for Modern Success
NoSQL - Vital Open Source Ingredient for Modern SuccessNoSQL - Vital Open Source Ingredient for Modern Success
NoSQL - Vital Open Source Ingredient for Modern Success
 
Performance all teh things
Performance all teh thingsPerformance all teh things
Performance all teh things
 
Caching with Varnish
Caching with VarnishCaching with Varnish
Caching with Varnish
 
Resin Outperforms NginX
Resin Outperforms NginXResin Outperforms NginX
Resin Outperforms NginX
 
Automated MySQL failover with MHA: Getting started & moving past its quirks
Automated MySQL failover with MHA: Getting started & moving past its quirksAutomated MySQL failover with MHA: Getting started & moving past its quirks
Automated MySQL failover with MHA: Getting started & moving past its quirks
 
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
 
Varnish - PLNOG 4
Varnish - PLNOG 4Varnish - PLNOG 4
Varnish - PLNOG 4
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015
 
Java EE Servlet JSP Tutorial- Cookbook 1
Java EE Servlet JSP Tutorial- Cookbook 1Java EE Servlet JSP Tutorial- Cookbook 1
Java EE Servlet JSP Tutorial- Cookbook 1
 
OpenStack Deployments with Chef
OpenStack Deployments with ChefOpenStack Deployments with Chef
OpenStack Deployments with Chef
 
Corley scalability
Corley scalabilityCorley scalability
Corley scalability
 
Threads Needles Stacks Heaps - Java edition
Threads Needles Stacks Heaps - Java editionThreads Needles Stacks Heaps - Java edition
Threads Needles Stacks Heaps - Java edition
 
MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016
 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
 

Similar to Control the Clouds with jclouds

Solve the Cross-Cloud Conundrum with jclouds
Solve the Cross-Cloud Conundrum with jcloudsSolve the Cross-Cloud Conundrum with jclouds
Solve the Cross-Cloud Conundrum with jcloudsEverett Toews
 
It's in the cloud
It's in the cloudIt's in the cloud
It's in the cloudkenperkins
 
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012Wayne Walls
 
Be a Cloud Native
Be a Cloud NativeBe a Cloud Native
Be a Cloud NativeInnoTech
 
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
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kitsEverett Toews
 
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
 
Intro to OpenStack - WAJUG
Intro to OpenStack - WAJUGIntro to OpenStack - WAJUG
Intro to OpenStack - WAJUGKevin Jackson
 
Why the Cloud is Important for Non-Profit Orgs
Why the Cloud is Important for Non-Profit OrgsWhy the Cloud is Important for Non-Profit Orgs
Why the Cloud is Important for Non-Profit OrgsRackspace
 
Deploy from OpenStack Trunk into a Production Environment
Deploy from OpenStack Trunk into a Production EnvironmentDeploy from OpenStack Trunk into a Production Environment
Deploy from OpenStack Trunk into a Production EnvironmentOpenStack Foundation
 
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012Matt Tesauro
 
Scaling Xen within Rackspace Cloud Servers
Scaling Xen within Rackspace Cloud ServersScaling Xen within Rackspace Cloud Servers
Scaling Xen within Rackspace Cloud ServersThe Linux Foundation
 
Scaling Xen Within Rackspace Cloud Servers
Scaling Xen Within Rackspace Cloud ServersScaling Xen Within Rackspace Cloud Servers
Scaling Xen Within Rackspace Cloud ServersRackspace
 
Rackspace Analytical Compute Grid (ACG)
Rackspace Analytical Compute Grid (ACG)Rackspace Analytical Compute Grid (ACG)
Rackspace Analytical Compute Grid (ACG)Rackspace
 
Running your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the CloudRunning your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the CloudArun Gupta
 
JFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudJFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudArun Gupta
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Arun Gupta
 

Similar to Control the Clouds with jclouds (20)

jclouds workshop
jclouds workshopjclouds workshop
jclouds workshop
 
Solve the Cross-Cloud Conundrum with jclouds
Solve the Cross-Cloud Conundrum with jcloudsSolve the Cross-Cloud Conundrum with jclouds
Solve the Cross-Cloud Conundrum with jclouds
 
It's in the cloud
It's in the cloudIt's in the cloud
It's in the cloud
 
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012
 
Doc or Die
Doc or DieDoc or Die
Doc or Die
 
Be a Cloud Native
Be a Cloud NativeBe a Cloud Native
Be a Cloud Native
 
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
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kits
 
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
 
Intro to OpenStack - WAJUG
Intro to OpenStack - WAJUGIntro to OpenStack - WAJUG
Intro to OpenStack - WAJUG
 
Why the Cloud is Important for Non-Profit Orgs
Why the Cloud is Important for Non-Profit OrgsWhy the Cloud is Important for Non-Profit Orgs
Why the Cloud is Important for Non-Profit Orgs
 
Deploy from OpenStack Trunk into a Production Environment
Deploy from OpenStack Trunk into a Production EnvironmentDeploy from OpenStack Trunk into a Production Environment
Deploy from OpenStack Trunk into a Production Environment
 
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
 
Scaling Xen within Rackspace Cloud Servers
Scaling Xen within Rackspace Cloud ServersScaling Xen within Rackspace Cloud Servers
Scaling Xen within Rackspace Cloud Servers
 
Scaling Xen Within Rackspace Cloud Servers
Scaling Xen Within Rackspace Cloud ServersScaling Xen Within Rackspace Cloud Servers
Scaling Xen Within Rackspace Cloud Servers
 
Rackspace Analytical Compute Grid (ACG)
Rackspace Analytical Compute Grid (ACG)Rackspace Analytical Compute Grid (ACG)
Rackspace Analytical Compute Grid (ACG)
 
DeveloperWeek 2014
DeveloperWeek 2014DeveloperWeek 2014
DeveloperWeek 2014
 
Running your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the CloudRunning your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the Cloud
 
JFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudJFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the Cloud
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
 

More from OpenStack Foundation

Sponsor Webinar - OpenStack Summit Vancouver 2018
Sponsor Webinar  - OpenStack Summit Vancouver 2018Sponsor Webinar  - OpenStack Summit Vancouver 2018
Sponsor Webinar - OpenStack Summit Vancouver 2018OpenStack Foundation
 
OpenStack Summits 101: A Guide For Attendees
OpenStack Summits 101: A Guide For AttendeesOpenStack Summits 101: A Guide For Attendees
OpenStack Summits 101: A Guide For AttendeesOpenStack Foundation
 
OpenStack Marketing Plan - Community Presentation
OpenStack Marketing Plan - Community PresentationOpenStack Marketing Plan - Community Presentation
OpenStack Marketing Plan - Community PresentationOpenStack Foundation
 
OpenStack 5th Birthday - User Group Parties
OpenStack 5th Birthday - User Group PartiesOpenStack 5th Birthday - User Group Parties
OpenStack 5th Birthday - User Group PartiesOpenStack Foundation
 
Liberty release: Preliminary marketing materials & messages
Liberty release: Preliminary marketing materials & messagesLiberty release: Preliminary marketing materials & messages
Liberty release: Preliminary marketing materials & messagesOpenStack Foundation
 
OpenStack Foundation 2H 2015 Marketing Plan
OpenStack Foundation 2H 2015 Marketing PlanOpenStack Foundation 2H 2015 Marketing Plan
OpenStack Foundation 2H 2015 Marketing PlanOpenStack Foundation
 
OpenStack Summit Tokyo Sponsor Webinar
OpenStack Summit Tokyo Sponsor Webinar OpenStack Summit Tokyo Sponsor Webinar
OpenStack Summit Tokyo Sponsor Webinar OpenStack Foundation
 
Neutron Updates - Liberty Edition
Neutron Updates - Liberty Edition Neutron Updates - Liberty Edition
Neutron Updates - Liberty Edition OpenStack Foundation
 
Searchlight Updates - Liberty Edition
Searchlight Updates - Liberty EditionSearchlight Updates - Liberty Edition
Searchlight Updates - Liberty EditionOpenStack Foundation
 
Congress Updates - Liberty Edition
Congress Updates - Liberty EditionCongress Updates - Liberty Edition
Congress Updates - Liberty EditionOpenStack Foundation
 
Release Cycle Management Updates - Liberty Edition
Release Cycle Management Updates - Liberty EditionRelease Cycle Management Updates - Liberty Edition
Release Cycle Management Updates - Liberty EditionOpenStack Foundation
 
OpenStack Day CEE 2015: Real-World Use Cases
OpenStack Day CEE 2015: Real-World Use CasesOpenStack Day CEE 2015: Real-World Use Cases
OpenStack Day CEE 2015: Real-World Use CasesOpenStack Foundation
 

More from OpenStack Foundation (20)

Sponsor Webinar - OpenStack Summit Vancouver 2018
Sponsor Webinar  - OpenStack Summit Vancouver 2018Sponsor Webinar  - OpenStack Summit Vancouver 2018
Sponsor Webinar - OpenStack Summit Vancouver 2018
 
OpenStack Summits 101: A Guide For Attendees
OpenStack Summits 101: A Guide For AttendeesOpenStack Summits 101: A Guide For Attendees
OpenStack Summits 101: A Guide For Attendees
 
OpenStack Marketing Plan - Community Presentation
OpenStack Marketing Plan - Community PresentationOpenStack Marketing Plan - Community Presentation
OpenStack Marketing Plan - Community Presentation
 
OpenStack 5th Birthday - User Group Parties
OpenStack 5th Birthday - User Group PartiesOpenStack 5th Birthday - User Group Parties
OpenStack 5th Birthday - User Group Parties
 
Liberty release: Preliminary marketing materials & messages
Liberty release: Preliminary marketing materials & messagesLiberty release: Preliminary marketing materials & messages
Liberty release: Preliminary marketing materials & messages
 
OpenStack Foundation 2H 2015 Marketing Plan
OpenStack Foundation 2H 2015 Marketing PlanOpenStack Foundation 2H 2015 Marketing Plan
OpenStack Foundation 2H 2015 Marketing Plan
 
OpenStack Summit Tokyo Sponsor Webinar
OpenStack Summit Tokyo Sponsor Webinar OpenStack Summit Tokyo Sponsor Webinar
OpenStack Summit Tokyo Sponsor Webinar
 
Cinder Updates - Liberty Edition
Cinder Updates - Liberty Edition Cinder Updates - Liberty Edition
Cinder Updates - Liberty Edition
 
Glance Updates - Liberty Edition
Glance Updates - Liberty EditionGlance Updates - Liberty Edition
Glance Updates - Liberty Edition
 
Heat Updates - Liberty Edition
Heat Updates - Liberty EditionHeat Updates - Liberty Edition
Heat Updates - Liberty Edition
 
Neutron Updates - Liberty Edition
Neutron Updates - Liberty Edition Neutron Updates - Liberty Edition
Neutron Updates - Liberty Edition
 
Nova Updates - Liberty Edition
Nova Updates - Liberty EditionNova Updates - Liberty Edition
Nova Updates - Liberty Edition
 
Sahara Updates - Liberty Edition
Sahara Updates - Liberty EditionSahara Updates - Liberty Edition
Sahara Updates - Liberty Edition
 
Searchlight Updates - Liberty Edition
Searchlight Updates - Liberty EditionSearchlight Updates - Liberty Edition
Searchlight Updates - Liberty Edition
 
Trove Updates - Liberty Edition
Trove Updates - Liberty EditionTrove Updates - Liberty Edition
Trove Updates - Liberty Edition
 
OpenStack: five years in
OpenStack: five years inOpenStack: five years in
OpenStack: five years in
 
Swift Updates - Liberty Edition
Swift Updates - Liberty EditionSwift Updates - Liberty Edition
Swift Updates - Liberty Edition
 
Congress Updates - Liberty Edition
Congress Updates - Liberty EditionCongress Updates - Liberty Edition
Congress Updates - Liberty Edition
 
Release Cycle Management Updates - Liberty Edition
Release Cycle Management Updates - Liberty EditionRelease Cycle Management Updates - Liberty Edition
Release Cycle Management Updates - Liberty Edition
 
OpenStack Day CEE 2015: Real-World Use Cases
OpenStack Day CEE 2015: Real-World Use CasesOpenStack Day CEE 2015: Real-World Use Cases
OpenStack Day CEE 2015: Real-World Use Cases
 

Control the Clouds with jclouds

  • 1. 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
  • 3. Introduction to jclouds RACKSPACE® HOSTING | WWW.RACKSPACE.COM 3
  • 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
  • 6. jclouds Community bit.ly/jclwork RACKSPACE® HOSTING | WWW.RACKSPACE.COM 6
  • 7. jclouds Community bit.ly/jclwork RACKSPACE® HOSTING | WWW.RACKSPACE.COM 7
  • 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
  • 9. Cloud Accounts RACKSPACE® HOSTING | WWW.RACKSPACE.COM 9
  • 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
  • 14. Installation RACKSPACE® HOSTING | WWW.RACKSPACE.COM 14
  • 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
  • 16. Compute Example RACKSPACE® HOSTING | WWW.RACKSPACE.COM 16
  • 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

  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?