Upload
inphina-technologies
View
4.897
Download
2
Embed Size (px)
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.
Citation preview
1
Getting Started With jClouds
Vikas HazratiInphina Technologies
2
cloud is real !
3
enterprises like to be on cloud
4
reluctance due to lock-In
5
abstraction
6
changing the ecosystem
7
multi cloud frameworks
Dasein Cloud
Delta Cloud
Fog
LibCloud
8
global name space
key, value with metadata
http accessible
sites on demand
unlimited scaling
key value storage
Not the same!
9
other factors
File SizeResumability
CDNReplication
SLA
Consistency ModelAuthorization
API Complexity
Not the same!
10
http request
11
do you want to deal with this?
ErrorsConcurrencyCloud Complexity
12
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
14
easy to start
Simple interface
Deals withWeb Complexity
Performance
Unit Testability
Runtime portability
Open Source
Feels like javaand clojure
15
simple interface
Basic
Advanced
16
simple interface
Expert
17
choose your complexity and weight
18
abstractions
BlobStore ( atmos, azure, rackspace, s3 )
Compute ( vcloud, ec2, gogrid, ibmdev,rackspace,rimu)
Blobstore Compute
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);
20
blobstore in detailManaging key-value storage providersSynchronous and Asynchronous APIs
BlobstoreContainer
Service
Blob
21
<Blobstore Code Sample>
22
vfs support
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
24
provisioning with jClouds
25
95 + 5
26
projects using jClouds
I N F I N I S P A N
Android Integration
Gigaspaces
Elastic Search
27
alternatives
Roll-your-own
Jersey, RESTEasy
EC2-based cloud apis
typica, jets3t
Dasein Cloud API
Service provided SDKs
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
29
reluctance to lock-in? no more ...
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
31
http://www.inphina.comhttp://thoughts.inphina.com