getting started with jclouds
DESCRIPTION
One of the big hurdles for an enterprise to move to the cloud is the fear of getting locked into a specific cloud implementation. This is one of the big reasons apart from security of data that keeps most of the enterprises out of the cloud space. Currently each vendor provides their unique set of API to interact with their Cloud services. This mandates a need to recode and refactor when moving from one cloud provider to the other. jClouds is a multi cloud framework which allows connection to multiple clouds such as Amazon, VMWare, Azure, and Rackspace. jClouds provides portable abstractions for cloud specific features, thus allowing the application to move from one cloud vendor to the other with relative ease. jClouds also had a simulators to operate in restricted environments like Google App Engine and Android. Unit testing and mocking is made easy through stub connections which simulate the cloud.TRANSCRIPT
![Page 1: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/1.jpg)
1
Getting Started With jClouds
Vikas HazratiInphina Technologies
![Page 2: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/2.jpg)
2
cloud is real !
![Page 3: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/3.jpg)
3
enterprises like to be on cloud
![Page 4: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/4.jpg)
4
reluctance due to lock-In
![Page 5: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/5.jpg)
5
abstraction
![Page 6: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/6.jpg)
6
changing the ecosystem
![Page 7: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/7.jpg)
7
multi cloud frameworks
Dasein Cloud
Delta Cloud
Fog
LibCloud
![Page 8: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/8.jpg)
8
global name space
key, value with metadata
http accessible
sites on demand
unlimited scaling
key value storage
Not the same!
![Page 9: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/9.jpg)
9
other factors
File SizeResumability
CDNReplication
SLA
Consistency ModelAuthorization
API Complexity
Not the same!
![Page 10: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/10.jpg)
10
http request
![Page 11: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/11.jpg)
11
do you want to deal with this?
ErrorsConcurrencyCloud Complexity
![Page 12: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/12.jpg)
12
![Page 13: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/13.jpg)
13
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.
what is jClouds
![Page 14: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/14.jpg)
14
easy to start
Simple interface
Deals withWeb Complexity
Performance
Unit Testability
Runtime portability
Open Source
Feels like javaand clojure
![Page 15: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/15.jpg)
15
simple interface
Basic
Advanced
![Page 16: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/16.jpg)
16
simple interface
Expert
![Page 17: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/17.jpg)
17
choose your complexity and weight
![Page 18: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/18.jpg)
18
abstractions
BlobStore ( atmos, azure, rackspace, s3 )
Compute ( vcloud, ec2, gogrid, ibmdev,rackspace,rimu)
Blobstore Compute
![Page 19: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/19.jpg)
19
blobstore
// initcontext = new BlobStoreContextFactory().createContext("s3",accesskeyid,secretaccesskey);
blobStore = context.getBlobStore();
// create containerblobStore.createContainerInLocation(null, "mycontainer");
// add blobblob = blobStore.newBlob("test");blob.setPayload("testdata");blobStore.putBlob(containerName, blob);
![Page 20: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/20.jpg)
20
blobstore in detailManaging key-value storage providersSynchronous and Asynchronous APIs
BlobstoreContainer
Service
Blob
![Page 21: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/21.jpg)
21
<Blobstore Code Sample>
![Page 22: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/22.jpg)
22
vfs support
![Page 23: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/23.jpg)
23
compute: provisioningprovisioning (and re-provisioning) is cheapAPIs = automationtools exist
forgetting to turn things offlicensingerratic service quality
cloud apis are sometimes unreliableapis are very different across cloudsfeatures are very different across cloudsaccidental complexity
![Page 24: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/24.jpg)
24
provisioning with jClouds
![Page 25: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/25.jpg)
25
95 + 5
![Page 26: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/26.jpg)
26
projects using jClouds
I N F I N I S P A N
Android Integration
Gigaspaces
Elastic Search
![Page 27: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/27.jpg)
27
alternatives
Roll-your-own
Jersey, RESTEasy
EC2-based cloud apis
typica, jets3t
Dasein Cloud API
Service provided SDKs
![Page 28: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/28.jpg)
28
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
![Page 29: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/29.jpg)
29
reluctance to lock-in? no more ...
![Page 30: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/30.jpg)
30
References:- http://code.google.com/p/jclouds/http://anyweight.blogspot.com/http://www.slideshare.net/marakana/jclouds-at-san-francisco-java-user-grouphttp://www.youtube.com/watch?v=queixYPsIq0
![Page 31: Getting started with jClouds](https://reader034.vdocument.in/reader034/viewer/2022051411/545ca152b1af9f4b0a8b47fb/html5/thumbnails/31.jpg)
31
http://www.inphina.comhttp://thoughts.inphina.com