SlideShare a Scribd company logo
1 of 63
Solve the Cross-
   Cloud Conundrum
                     with jclouds
               Austin Java Users Group
                      March 26, 2013 at 7:00 pm
Everett Toews                                     You need:
Developer Advocate                                  JDK 1.6+
@everett_toews                                      Ant 1.8+ || Ivy 2+
                                                    Rackspace and/or
                                                     HP cloud accounts
Intro




        Developer


                    RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                 2
Committer on jclouds




                       RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                    3
Intro




        Advocate


                   RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                4
Intro




        RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                     5
Intro




        Operations


                 RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                              6
Co-author of The OpenStack Operation Guide




                                RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                             7
Intro


In startup we
are not allow
dev team for
talk to ops team
except by API.
                   @DevOps_Borat


                      RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                   8
Agenda




         RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                      9
The Workshop
 •Introduction
 •jclouds Overview
 •Cloud Accounts
 •Installation
 •Compute Example
 •Next Steps
 •Wrap Up
                     RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                  10
Introduction to Rackspace
      and the cloud




                     RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                  11
Rackspace




            RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                         12
The Cloud




      Infrastructure
       with an API

                  RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                               13
The Cloud


                                                  VM
                                 VM
                                                      VM
    Your    S   A
   System   D   P               Cloud
            K   I




  User
 System


                    RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                 14
The Cloud



                    Cloud               VM
                                VM
                                           VM
            A                   VM
            P
            I   S       Your
                D      System
                K
 User
System



                                     RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                                  15
Introduction to jclouds




                    RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                 16
jclouds
          • Cross-cloud toolkit
          • Open Source (Apache v2)
          • Community
          • Portable APIs
          • Ecosystem Specific APIs
          • Provider Specific APIs
          • Java


                        RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                     17
jclouds Providers
•ComputeService       •BlobStore
 • Rackspace Cloud    • Rackspace Cloud
   Servers              Files
 • HP Cloud Compute   • HP Cloud Storage
 • AWS EC2            • AWS S3
 • GCE (soon)         • GCS (soon)
 • ElasticHosts       • Azure
 • GoGrid             • CloudOne
 • All Providers      • All Providers

                             RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                          18
jclouds Community




                    RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                 19
jclouds Layers (APIs)
•ComputeService         •BlobStore
 • Rackspace             • Rackspace
 • OpenStack             • OpenStack
 • HP, AWS, GCE, etc.    • HP, AWS, GCS, etc.
•NovaApi (*Api)         •SwiftApi
 • Rackspace             • Rackspace
 • OpenStack             • OpenStack
 • HP                    • HP
                        •CloudFilesClient
                         • Rackspace
                                 RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                              20
jclouds Community

After 3 beer I
can able use
any of cloud
API.
                    @DevOps_Borat



                       RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                    21
What Can jclouds
Do For You Today?




                RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                             22
SDKs




       Plumbing


                  RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                               23
SDKs




 (RE)Authentication


              RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                           24
SDKs




       Pagination


                RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                             25
SDKs




       State Polling


                  RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                               26
SDKs




       Rate Limiting


                  RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                               27
SDKs




       Retry


               RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                            28
SDKs




        Smoothing
       Rough Edges

                RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                             29
SDKs




       Open Source


                RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                             30
SDKs


In devops
nobody is get
fire for buy
open source.
                @DevOps_Borat



                   RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                31
SDKs




       Community


               RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                            32
SDKs




       Support


                 RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                              33
SDKs




       Packaged


                  RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                               34
SDKs




       All-in-one


                    RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                 35
SDKs




       No lock-in


                    RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                 36
SDKs




       RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                    37
SDKs




       RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                    38
SDKs




 Battle Tested Code


              RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                           39
SDKs




       Sample Code


                RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                             40
SDKs




       Documentation


                 RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                              41
SDKs

Survey is show
junior devops
are still believe
in Tooth Fairy,
Santa Claus and
documentation.      @DevOps_Borat


                       RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                    42
Cloud Accounts




                 RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                              43
Rackspace                 j.mp/jcldsajug
 •BYOB?

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




                                RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                             44
HP                      j.mp/jcldsajug
•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
                                                                         45
Terminology




              RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                           46
Terminology              j.mp/jcldsajug
 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
                             RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                          47
Installation




               RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                            48
Ant                          j.mp/jcldsajug
 •mkdir jclouds-workshop
 •cd jclouds-workshop
 •Create build.xml
  • gist.github.com/everett-toews/3861545
 •ant




                                  RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                               49
Ivy                       j.mp/jcldsajug
 •mkdir jclouds-workshop
 •cd jclouds-workshop
 •mkdir lib
 •gist.github.com/everett-toews/5242573




                              RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                           50
Compute Example




                  RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                               51
JCloudsWorkshop.java              j.mp/jcldsajug
 •Logging
  • Create logback.xml
  • gist.github.com/everett-toews/3862553
  • Full logback.xml example

 •Imports and Class definition
  • Create JCloudsWorkshop.java
  • gist.github.com/everett-toews/3861596
  • javac -cp ".:lib/*" JCloudsWorkshop.java
  • Note: Guice, Guava
                                      RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                                   52
JCloudsWorkshop.java              j.mp/jcldsajug
 •main() and skeleton
  • gist.github.com/everett-toews/3862453
  • javac -cp ".:lib/*" JCloudsWorkshop.java

 •init()
  • gist.github.com/everett-toews/3862575
  • javac -cp ".:lib/*" JCloudsWorkshop.java
  • Note: Authentication



                                      RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                                   53
JCloudsWorkshop.java              j.mp/jcldsajug
 •createNodes()
  • gist.github.com/everett-toews/3862480
  • javac -cp ".:lib/*" JCloudsWorkshop.java

 •configureAndStartWebservers()
  • gist.github.com/everett-toews/3862485
  • javac -cp ".:lib/*" JCloudsWorkshop.java
  • Note: Patterns



                                      RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                                   54
JCloudsWorkshop.java   j.mp/jcldsajug

Number of cloud
instance launch by
ops team is direct
proportional with
LOC write by dev
team.
                        @DevOps_Borat



                           RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                        55
JCloudsWorkshop.java              j.mp/jcldsajug
 •waitForSsh()
  • gist.github.com/everett-toews/3862516
  • javac -cp ".:lib/*" JCloudsWorkshop.java

 •detectExtensions()
  • gist.github.com/everett-toews/3867123
  • javac -cp ".:lib/*" JCloudsWorkshop.java




                                      RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                                   56
JCloudsWorkshop.java              j.mp/jcldsajug
 •printResults()
  • gist.github.com/everett-toews/3862499
  • javac -cp ".:lib/*" JCloudsWorkshop.java

 •close()
  • gist.github.com/everett-toews/3862504
  • javac -cp ".:lib/*" JCloudsWorkshop.java




                                      RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                                   57
JCloudsWorkshop.java              j.mp/jcldsajug
 •Run!
  • java -cp ".:lib/*" JCloudsWorkshop




                                         RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                                      58
JCloudsWorkshop.java   j.mp/jcldsajug

Hello World in
cloud is involve
1 load balancer,
3 web server and
2 database server.
                        @DevOps_Borat



                          RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                                       59
Other Topics             j.mp/jcldsajug
 •ServerApi/ServerAsyncApi
 •Concurrency
 •CLI
 •Jenkins
 •jclouds-chef
 •Pallet
 •Whirr


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




             RACKSPACE® HOSTING   |   WWW.RACKSPACE.COM
                                                          61
Next Steps                j.mp/jcldsajug
 •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
                                                                          62
Thank You
  And don’t forget to terminate your VMs

  developer.rackspace.com
sdk-support@rackspace.com

                            Everett Toews
                            Developer Advocate
                            @everett_toews

More Related Content

What's hot

Strata west 2012_java_cassandra
Strata west 2012_java_cassandraStrata west 2012_java_cassandra
Strata west 2012_java_cassandra
zznate
 
Voxel Managed Hosting Offerings
Voxel Managed Hosting OfferingsVoxel Managed Hosting Offerings
Voxel Managed Hosting Offerings
webhostingguy
 

What's hot (14)

Modernizing Your Existing Applications
Modernizing Your Existing ApplicationsModernizing Your Existing Applications
Modernizing Your Existing Applications
 
CloudStack Hyderabad Meetup: Migrating applications to IaaS clouds
CloudStack Hyderabad Meetup: Migrating applications to IaaS cloudsCloudStack Hyderabad Meetup: Migrating applications to IaaS clouds
CloudStack Hyderabad Meetup: Migrating applications to IaaS clouds
 
Cloud Computing for Developers and Architects - QCon 2008 Tutorial
Cloud Computing for Developers and Architects - QCon 2008 TutorialCloud Computing for Developers and Architects - QCon 2008 Tutorial
Cloud Computing for Developers and Architects - QCon 2008 Tutorial
 
CloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and TroubleshootingCloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and Troubleshooting
 
Netflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at GlueconNetflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at Gluecon
 
Marriage of ESX and OpenStack - PayPal - VMWorld US 2013
Marriage of ESX and OpenStack - PayPal - VMWorld US 2013Marriage of ESX and OpenStack - PayPal - VMWorld US 2013
Marriage of ESX and OpenStack - PayPal - VMWorld US 2013
 
Netflix Global Cloud Architecture
Netflix Global Cloud ArchitectureNetflix Global Cloud Architecture
Netflix Global Cloud Architecture
 
Strata west 2012_java_cassandra
Strata west 2012_java_cassandraStrata west 2012_java_cassandra
Strata west 2012_java_cassandra
 
Architectures for High Availability - QConSF
Architectures for High Availability - QConSFArchitectures for High Availability - QConSF
Architectures for High Availability - QConSF
 
Netflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsNetflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and Ops
 
Spectre/Meltdown security vulnerabilities FAQ
Spectre/Meltdown security vulnerabilities FAQSpectre/Meltdown security vulnerabilities FAQ
Spectre/Meltdown security vulnerabilities FAQ
 
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
 
Voxel Managed Hosting Offerings
Voxel Managed Hosting OfferingsVoxel Managed Hosting Offerings
Voxel Managed Hosting Offerings
 
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
 

Viewers also liked (8)

Introduction to Apache jclouds at NYJavaSIG
Introduction to Apache jclouds at NYJavaSIGIntroduction to Apache jclouds at NYJavaSIG
Introduction to Apache jclouds at NYJavaSIG
 
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
 
Walk n Doc
Walk n DocWalk n Doc
Walk n Doc
 
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
 
You Sir, Sir Vey
You Sir, Sir VeyYou Sir, Sir Vey
You Sir, Sir Vey
 
DevStack: Learn OpenStack by Running OpenStack
DevStack: Learn OpenStack by Running OpenStackDevStack: Learn OpenStack by Running OpenStack
DevStack: Learn OpenStack by Running OpenStack
 
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
 
Intro to Docker Swarm
Intro to Docker SwarmIntro to Docker Swarm
Intro to Docker Swarm
 

Similar to Solve the Cross-Cloud Conundrum with jclouds

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
OpenStack Foundation
 
jclouds Support Training
jclouds Support Trainingjclouds Support Training
jclouds Support Training
Everett Toews
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kits
Everett Toews
 
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
OpenStack Foundation
 
Differences between Virtualization and Cloud
Differences between Virtualization and CloudDifferences between Virtualization and Cloud
Differences between Virtualization and Cloud
Duan van der Westhuizen
 
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
Joe Breu
 
Intro to OpenStack - WAJUG
Intro to OpenStack - WAJUGIntro to OpenStack - WAJUG
Intro to OpenStack - WAJUG
Kevin Jackson
 

Similar to Solve the Cross-Cloud Conundrum with jclouds (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
 
Be a Cloud Native
Be a Cloud NativeBe a Cloud Native
Be a Cloud Native
 
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
 
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
 
Rackspace Analytical Compute Grid (ACG)
Rackspace Analytical Compute Grid (ACG)Rackspace Analytical Compute Grid (ACG)
Rackspace Analytical Compute Grid (ACG)
 
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
 
ACG_Rackspace.pdf
ACG_Rackspace.pdfACG_Rackspace.pdf
ACG_Rackspace.pdf
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kits
 
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
 
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
 
vSphere With OpenStack
vSphere With OpenStackvSphere With OpenStack
vSphere With OpenStack
 
It's in the cloud
It's in the cloudIt's in the cloud
It's in the cloud
 
Differences between Virtualization and Cloud
Differences between Virtualization and CloudDifferences between Virtualization and Cloud
Differences between Virtualization and Cloud
 
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
 
PyCon Russia 2014 - Auto Scale in the Cloud
PyCon Russia 2014 - Auto Scale in the CloudPyCon Russia 2014 - Auto Scale in the Cloud
PyCon Russia 2014 - Auto Scale in the Cloud
 
jclouds workshop
jclouds workshopjclouds workshop
jclouds workshop
 
Intro to OpenStack - WAJUG
Intro to OpenStack - WAJUGIntro to OpenStack - WAJUG
Intro to OpenStack - WAJUG
 
DeveloperWeek 2014
DeveloperWeek 2014DeveloperWeek 2014
DeveloperWeek 2014
 

More from Everett 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 2013
Everett 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.
 
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
 
NetflixOSS on OpenStack
NetflixOSS on OpenStackNetflixOSS on OpenStack
NetflixOSS on OpenStack
 
jclouds at HKJUG
jclouds at HKJUGjclouds at HKJUG
jclouds at HKJUG
 
DevStack
DevStackDevStack
DevStack
 
OpenStack and Rackspace
OpenStack and RackspaceOpenStack and Rackspace
OpenStack and Rackspace
 
Cloud Portability With Multi-Cloud Toolkits
Cloud Portability With Multi-Cloud ToolkitsCloud Portability With Multi-Cloud Toolkits
Cloud Portability With Multi-Cloud Toolkits
 
jclouds BoF
jclouds BoFjclouds BoF
jclouds BoF
 
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
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech 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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
[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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
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
 

Solve the Cross-Cloud Conundrum with jclouds

  • 1. Solve the Cross- Cloud Conundrum with jclouds Austin Java Users Group March 26, 2013 at 7:00 pm Everett Toews You need: Developer Advocate JDK 1.6+ @everett_toews Ant 1.8+ || Ivy 2+ Rackspace and/or HP cloud accounts
  • 2. Intro Developer RACKSPACE® HOSTING | WWW.RACKSPACE.COM 2
  • 3. Committer on jclouds RACKSPACE® HOSTING | WWW.RACKSPACE.COM 3
  • 4. Intro Advocate RACKSPACE® HOSTING | WWW.RACKSPACE.COM 4
  • 5. Intro RACKSPACE® HOSTING | WWW.RACKSPACE.COM 5
  • 6. Intro Operations RACKSPACE® HOSTING | WWW.RACKSPACE.COM 6
  • 7. Co-author of The OpenStack Operation Guide RACKSPACE® HOSTING | WWW.RACKSPACE.COM 7
  • 8. Intro In startup we are not allow dev team for talk to ops team except by API. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 8
  • 9. Agenda RACKSPACE® HOSTING | WWW.RACKSPACE.COM 9
  • 10. The Workshop •Introduction •jclouds Overview •Cloud Accounts •Installation •Compute Example •Next Steps •Wrap Up RACKSPACE® HOSTING | WWW.RACKSPACE.COM 10
  • 11. Introduction to Rackspace and the cloud RACKSPACE® HOSTING | WWW.RACKSPACE.COM 11
  • 12. Rackspace RACKSPACE® HOSTING | WWW.RACKSPACE.COM 12
  • 13. The Cloud Infrastructure with an API RACKSPACE® HOSTING | WWW.RACKSPACE.COM 13
  • 14. The Cloud VM VM VM Your S A System D P Cloud K I User System RACKSPACE® HOSTING | WWW.RACKSPACE.COM 14
  • 15. The Cloud Cloud VM VM VM A VM P I S Your D System K User System RACKSPACE® HOSTING | WWW.RACKSPACE.COM 15
  • 16. Introduction to jclouds RACKSPACE® HOSTING | WWW.RACKSPACE.COM 16
  • 17. jclouds • Cross-cloud toolkit • Open Source (Apache v2) • Community • Portable APIs • Ecosystem Specific APIs • Provider Specific APIs • Java RACKSPACE® HOSTING | WWW.RACKSPACE.COM 17
  • 18. jclouds Providers •ComputeService •BlobStore • Rackspace Cloud • Rackspace Cloud Servers Files • HP Cloud Compute • HP Cloud Storage • AWS EC2 • AWS S3 • GCE (soon) • GCS (soon) • ElasticHosts • Azure • GoGrid • CloudOne • All Providers • All Providers RACKSPACE® HOSTING | WWW.RACKSPACE.COM 18
  • 19. jclouds Community RACKSPACE® HOSTING | WWW.RACKSPACE.COM 19
  • 20. jclouds Layers (APIs) •ComputeService •BlobStore • Rackspace • Rackspace • OpenStack • OpenStack • HP, AWS, GCE, etc. • HP, AWS, GCS, etc. •NovaApi (*Api) •SwiftApi • Rackspace • Rackspace • OpenStack • OpenStack • HP • HP •CloudFilesClient • Rackspace RACKSPACE® HOSTING | WWW.RACKSPACE.COM 20
  • 21. jclouds Community After 3 beer I can able use any of cloud API. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 21
  • 22. What Can jclouds Do For You Today? RACKSPACE® HOSTING | WWW.RACKSPACE.COM 22
  • 23. SDKs Plumbing RACKSPACE® HOSTING | WWW.RACKSPACE.COM 23
  • 24. SDKs (RE)Authentication RACKSPACE® HOSTING | WWW.RACKSPACE.COM 24
  • 25. SDKs Pagination RACKSPACE® HOSTING | WWW.RACKSPACE.COM 25
  • 26. SDKs State Polling RACKSPACE® HOSTING | WWW.RACKSPACE.COM 26
  • 27. SDKs Rate Limiting RACKSPACE® HOSTING | WWW.RACKSPACE.COM 27
  • 28. SDKs Retry RACKSPACE® HOSTING | WWW.RACKSPACE.COM 28
  • 29. SDKs Smoothing Rough Edges RACKSPACE® HOSTING | WWW.RACKSPACE.COM 29
  • 30. SDKs Open Source RACKSPACE® HOSTING | WWW.RACKSPACE.COM 30
  • 31. SDKs In devops nobody is get fire for buy open source. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 31
  • 32. SDKs Community RACKSPACE® HOSTING | WWW.RACKSPACE.COM 32
  • 33. SDKs Support RACKSPACE® HOSTING | WWW.RACKSPACE.COM 33
  • 34. SDKs Packaged RACKSPACE® HOSTING | WWW.RACKSPACE.COM 34
  • 35. SDKs All-in-one RACKSPACE® HOSTING | WWW.RACKSPACE.COM 35
  • 36. SDKs No lock-in RACKSPACE® HOSTING | WWW.RACKSPACE.COM 36
  • 37. SDKs RACKSPACE® HOSTING | WWW.RACKSPACE.COM 37
  • 38. SDKs RACKSPACE® HOSTING | WWW.RACKSPACE.COM 38
  • 39. SDKs Battle Tested Code RACKSPACE® HOSTING | WWW.RACKSPACE.COM 39
  • 40. SDKs Sample Code RACKSPACE® HOSTING | WWW.RACKSPACE.COM 40
  • 41. SDKs Documentation RACKSPACE® HOSTING | WWW.RACKSPACE.COM 41
  • 42. SDKs Survey is show junior devops are still believe in Tooth Fairy, Santa Claus and documentation. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 42
  • 43. Cloud Accounts RACKSPACE® HOSTING | WWW.RACKSPACE.COM 43
  • 44. Rackspace j.mp/jcldsajug •BYOB? •rackspace.com/cloud/public/ •mycloud.rackspace.com •Note: Username, Password RACKSPACE® HOSTING | WWW.RACKSPACE.COM 44
  • 45. HP j.mp/jcldsajug •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 45
  • 46. Terminology RACKSPACE® HOSTING | WWW.RACKSPACE.COM 46
  • 47. Terminology j.mp/jcldsajug 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 RACKSPACE® HOSTING | WWW.RACKSPACE.COM 47
  • 48. Installation RACKSPACE® HOSTING | WWW.RACKSPACE.COM 48
  • 49. Ant j.mp/jcldsajug •mkdir jclouds-workshop •cd jclouds-workshop •Create build.xml • gist.github.com/everett-toews/3861545 •ant RACKSPACE® HOSTING | WWW.RACKSPACE.COM 49
  • 50. Ivy j.mp/jcldsajug •mkdir jclouds-workshop •cd jclouds-workshop •mkdir lib •gist.github.com/everett-toews/5242573 RACKSPACE® HOSTING | WWW.RACKSPACE.COM 50
  • 51. Compute Example RACKSPACE® HOSTING | WWW.RACKSPACE.COM 51
  • 52. JCloudsWorkshop.java j.mp/jcldsajug •Logging • Create logback.xml • gist.github.com/everett-toews/3862553 • Full logback.xml example •Imports and Class definition • Create JCloudsWorkshop.java • gist.github.com/everett-toews/3861596 • javac -cp ".:lib/*" JCloudsWorkshop.java • Note: Guice, Guava RACKSPACE® HOSTING | WWW.RACKSPACE.COM 52
  • 53. JCloudsWorkshop.java j.mp/jcldsajug •main() and skeleton • gist.github.com/everett-toews/3862453 • javac -cp ".:lib/*" JCloudsWorkshop.java •init() • gist.github.com/everett-toews/3862575 • javac -cp ".:lib/*" JCloudsWorkshop.java • Note: Authentication RACKSPACE® HOSTING | WWW.RACKSPACE.COM 53
  • 54. JCloudsWorkshop.java j.mp/jcldsajug •createNodes() • gist.github.com/everett-toews/3862480 • javac -cp ".:lib/*" JCloudsWorkshop.java •configureAndStartWebservers() • gist.github.com/everett-toews/3862485 • javac -cp ".:lib/*" JCloudsWorkshop.java • Note: Patterns RACKSPACE® HOSTING | WWW.RACKSPACE.COM 54
  • 55. JCloudsWorkshop.java j.mp/jcldsajug Number of cloud instance launch by ops team is direct proportional with LOC write by dev team. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 55
  • 56. JCloudsWorkshop.java j.mp/jcldsajug •waitForSsh() • gist.github.com/everett-toews/3862516 • javac -cp ".:lib/*" JCloudsWorkshop.java •detectExtensions() • gist.github.com/everett-toews/3867123 • javac -cp ".:lib/*" JCloudsWorkshop.java RACKSPACE® HOSTING | WWW.RACKSPACE.COM 56
  • 57. JCloudsWorkshop.java j.mp/jcldsajug •printResults() • gist.github.com/everett-toews/3862499 • javac -cp ".:lib/*" JCloudsWorkshop.java •close() • gist.github.com/everett-toews/3862504 • javac -cp ".:lib/*" JCloudsWorkshop.java RACKSPACE® HOSTING | WWW.RACKSPACE.COM 57
  • 58. JCloudsWorkshop.java j.mp/jcldsajug •Run! • java -cp ".:lib/*" JCloudsWorkshop RACKSPACE® HOSTING | WWW.RACKSPACE.COM 58
  • 59. JCloudsWorkshop.java j.mp/jcldsajug Hello World in cloud is involve 1 load balancer, 3 web server and 2 database server. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 59
  • 60. Other Topics j.mp/jcldsajug •ServerApi/ServerAsyncApi •Concurrency •CLI •Jenkins •jclouds-chef •Pallet •Whirr RACKSPACE® HOSTING | WWW.RACKSPACE.COM 60
  • 61. Next Steps RACKSPACE® HOSTING | WWW.RACKSPACE.COM 61
  • 62. Next Steps j.mp/jcldsajug •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 62
  • 63. Thank You And don’t forget to terminate your VMs developer.rackspace.com sdk-support@rackspace.com Everett Toews Developer Advocate @everett_toews

Editor's Notes

  1. Why did Rackspace utilize cross-cloud toolkits?Lock-on, not lock-in
  2. Recommend split screen
  3. Recommend split screen
  4. What haven't I specified explicitly?
  5. What haven't I specified explicitly?