Getting Started With jClouds
                     Vikas Hazrati
                 Inphina Technologies




                                 1
cloud is real !




                  2
enterprises like to be on cloud




                              3
reluctance due to lock-In




                            4
abstraction




              5
changing the ecosystem




                         6
multi cloud frameworks

   Fog

                         Dasein Cloud




Delta Cloud                 LibCloud




                                        7
key value storage

  global name space

key, value with metadata

    http accessible        Not the same!



   sites on demand

   unlimited scaling

                                     8
other factors

    File Size
  Resumability
      CDN
   Replication
       SLA          Not the same!



Consistency Model
  Authorization
 API Complexity

                              9
http request




               10
do you want to deal with this?



                     Errors
                     Concurrency
                     Cloud Complexity




                                    11
12
what is jClouds
OSS JAVA Framework for cloud enablement and inter cloud
                  communication


     3/2009, 1.0-beta6, 105.4k lines, $1.4M



 Support many clouds including Amazon, VMWare, Azure,
                   and Rackspace.




                                                          13
easy to start
                                       Runtime portability

 Simple interface


                      Open Source


                                                Unit Testability
   Deals with
 Web Complexity


                         Performance

Feels like java
 and clojure



                                                                   14
simple interface
Basic




Advanced




                              15
simple interface

Expert




                            16
choose your complexity and weight




                                    17
abstractions




     Blobstore                    Compute




BlobStore ( atmos, azure, rackspace, s3 )


Compute ( vcloud, ec2, gogrid, ibmdev,rackspace,rimu)

                                                        18
blobstore
// init
context = new BlobStoreContextFactory().createContext(
"s3",accesskeyid,secretaccesskey);

blobStore = context.getBlobStore();

// create container
blobStore.createContainerInLocation(null, "mycontainer");

// add blob
blob = blobStore.newBlob("test");
blob.setPayload("testdata");
blobStore.putBlob(containerName, blob);


                                                            19
blobstore in detail
Managing key-value storage providers
Synchronous and Asynchronous APIs


                              Service




      Blobstore
                              Container




                                  Blob

                                          20
<Blobstore Code Sample>




                          21
vfs support




              22
compute: provisioning
       provisioning (and re-provisioning) is cheap
       APIs = automation
       tools exist

forgetting to turn things off
licensing
erratic service quality


     cloud apis are sometimes unreliable
     apis are very different across clouds
     features are very different across
     clouds
     accidental complexity

                                                     23
provisioning with jClouds




                            24
95 + 5



         25
projects using jClouds

     I N F I N I S PAN

    Android Integration

       Gigaspaces

      Elastic Search



                          26
alternatives

    Roll-your-own

  Jersey, RESTEasy

 EC2-based cloud apis

     typica, jets3t

  Dasein Cloud API

Service provided SDKs



                        27
scepticism

   api's are not that different to write a driver

  open source cloud Ruby libraries (RightAws,
RightRackspace, RightGoGrid, etc.) not actually
that much work to abstract the API details away.

    real benefit of standards - semantics of
     resources like vlans, security groups,
 reassignable IP addresses, network attached
          block storage devices, etc
                                                    28
reluctance to lock-in? no
        more ...




                            29
References:-
http://code.google.com/p/jclouds/
http://anyweight.blogspot.com/
http://www.slideshare.net/marakana/jclouds-at-san-francisco-java-user-group
http://www.youtube.com/watch?v=queixYPsIq0


                                                                    30
vhazrati@inphina.com

  http://www.inphina.com
http://thoughts.inphina.com



                              31

Getting Started with jClouds: Multi Cloud Framework